To give context to the issue, I am building my own icecast2 broadcaster. I want
to have an Auto DJ feature which will pick a random song from the database which
hasn't recently been played plus some other criteria. It really doesn't matter
which record i get back from the database, I just need one at random.

Get the list of valid IDs from the remote database using the raw SQL command
something like:


con = connectionForURI("firebird://yourUserName:yourPassword@serverAddress:3050/pat/to/database/database.file")

validIDs= "SELECT ID FROM SONGS_TABLE where ......"

returnedIDs = con.queryAll(validIDs)

# you get the list of valid IDs, something like this: [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (11,)]

than:

import random
randomID = random.choice(returnedIDs)[0]
randomSong = SongsTable.get(randomID)

HTH

Regards

Petr