i have declared my database as,

db.define_table('song',
 
SQLField('name','string',requires=IS_NOT_EMPTY(),label='Name of the
Song'),
 
SQLField('album_id',db.album,label='Album',requires=IS_IN_DB(db,'album.id','%
(name)s')),
 
SQLField('genre',db.Genre,label='Genre',requires=IS_IN_DB(db,'Genre.id','%
(name)s')),
            SQLField('rating','double',default=0,label='Rating'),
            SQLField('lyrics','upload',label='Lyrics',comment='upload
song\'s lyrics file'),
 
SQLField('language','string',requires=IS_IN_SET(['Hindi','English']),default='Hindi',widget=SQLFORM.widgets.radio.widget),
 
SQLField('file','upload',requires=IS_NOT_EMPTY(),comment='upload song
file'),
            SQLField('no_artist','integer',label='No. of Artists'),
            SQLField('user_id',db.auth_user,label='Posted by'))

db.song.user_id.default= auth.user.id if auth.user else 0
db.song.user_id.represent=db.auth_user.first_name + ' ' +
db.auth_user.last_name


db.define_table('song_artist',
 
SQLField('song_id',db.song,requires=IS_IN_DB(db,'song.id','%
(name)s')),
            SQLField('artist_name','string'))

obj="""
<object type="application/x-shockwave-flash" data="%(player)s?
&song_url=%(url)s&" id="audioplayer1" height="24" width="290">
<param name="movie" value="%(player)s?&song_url=%(url)s&">
<param name="FlashVars" value="playerID=audioplayer1&soundFile=%
(url)s&">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="wmode" value="transparent">
</object> """

db.song.file.represent=lambda file:
SPAN(A('download',_href=URL(r=request,c='default',f='download',args=file)),BR(),XML(obj
%
dict(player=URL(r=request,c='static',f='player.swf'),url=URL(r=request,c='default',f='download',args=file))))

however it does not seem to be working.. maybe there is some problem
with represent... can u plz tell me what is wrong... and why isn't the
music playing(even the player is not seen) in the application... while
the same thing is working for another application

Reply via email to