Changeset 3624

Show
Ignore:
Timestamp:
16/10/08 22:09:04 (3 months ago)
Author:
dmeyer
Message:

fix delete_media and improve list_media

Location:
trunk/beacon
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/beacon/bin/beacon-search

    r3588 r3624  
    221221 
    222222    if mode == 'list-media': 
    223         for m in (yield kaa.beacon.query(type='media', media='ignore')): 
    224             print '%4d %s' % (m['id'], m['name']) 
     223        for m in (yield kaa.beacon.list_media()): 
     224            available = '' 
     225            if m['object']: 
     226                available = '(available)' 
     227            print '%4d %s %s' % (m['id'], m['name'], available) 
    225228        sys.exit(0) 
    226229      
     
    235238            print 'media 0 can\'t be deleted' 
    236239            sys.exit(1) 
    237         kaa.beacon.delete_media(media) 
    238         sys.exit(0) 
    239        
     240        yield kaa.beacon.delete_media(media) 
     241        sys.exit(0)       
    240242 
    241243    query   = {} 
  • trunk/beacon/src/__init__.py

    r3616 r3624  
    180180    if not _client: 
    181181        connect() 
    182     while not _client.is_connected(): 
    183         kaa.main.step() 
    184     return _client._db.medialist 
     182    return _client.list_media() 
    185183 
    186184def delete_media(id): 
     
    192190    if not _client: 
    193191        connect() 
    194     while not _client.is_connected(): 
    195         kaa.main.step() 
    196192    return _client.delete_media(id) 
    197193 
  • trunk/beacon/src/client.py

    r3614 r3624  
    194194            self.rpc('db.register_track_type_attrs', type_name, indexes, **attrs) 
    195195 
     196    @kaa.coroutine() 
     197    def list_media(self): 
     198        if self.status == DISCONNECTED: 
     199            yield None 
     200        result = [] 
     201        media = yield self.query(type='media', media='ignore') 
     202        for pos, m in enumerate(media): 
     203            m = dict(m) 
     204            m['object'] = self._db.medialist.get_by_beacon_id(('media', m['id'])) 
     205            result.append(m) 
     206        yield result 
    196207 
    197208    def delete_media(self, id): 
     
    200211        """ 
    201212        if self.status != DISCONNECTED: 
    202             self.rpc('db.media.delete', id) 
     213            return self.rpc('db.media.delete', id) 
    203214 
    204215