Changeset 41

Show
Ignore:
Timestamp:
09/24/07 13:14:12 (1 year ago)
Author:
devja..@anarkystic.com
Message:

updated with db calls

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • photobooth/photobooth.cfg

    r39 r41  
    99#device = /dev/tty.USA19H1d1P1.1 
    1010device = /dev/tty.usbserial-A3Q608W5 
    11  
     11#device = /dev/tty.usbserial-A3Q609ZN 
    1212 
    1313[SonMicroMifareSensorProtocol] 
     
    1616has_outputs = True 
    1717 
     18[JSONService] 
     19username = XXX 
     20password = XXX 
     21base_url = http://picnicnetwork.org/services/rest 
     22 
    1823[NetworkConnectionSensor] 
    1924delay = 10 
    2025 
    2126[JSONService] 
    22 base_url = http://pic01.test.mediamatic.nl/services/rest/ 
     27base_url = http://picnicnetwork.org/services/rest/ 
  • photobooth/photobooth.py

    r40 r41  
    2727from fizzjik.remote import anymeta 
    2828 
     29import pprint 
     30 
     31from twisted.web import client 
     32 
    2933class PhotoboothController(ConfigurableService): 
    3034    implements(IController) 
    3135    countdown = None 
    3236    delay = 5.0 
     37    remote = None 
    3338 
    3439    def __init__(self, remote): 
     
    8388                                    ] 
    8489            return rv 
    85         d.addCallback(_addContacts) 
     90        #d.addCallback(_addContacts) 
    8691        return d 
    8792        return defer.succeed(dict(tags=self.bucket)) 
     
    8994    def _tagsToPeople(self): 
    9095        l = [] 
    91         #for tag in self.bucket: 
    92         #    l.append(self._getPersonByTag(tag)) 
    93         #d = defer.gatherResults(l) 
    94  
    95         return defer.succeed([{"id": "1417", "name": "Andy Smith"}, {"id": "4171", "name": "Koe"}]) 
     96        for tag in self.bucket: 
     97            l.append(self._getPersonByTag(tag).addCallback( 
     98                self._fillContacts)) 
     99        d = defer.gatherResults(l) 
     100        return d 
     101 
     102        #return defer.succeed([{"id": "1417", "name": "Andy Smith"}, {"id": "4171", "name": "Koe"}]) 
    96103        return d 
    97104 
    98105    def _getPersonByTag(self, tag): 
    99         d = self.remote.identity.search.uri(uri='urn:rfid:%s'%(tag)) 
    100         d.addCallback(lambda x: x[0]) 
    101         return d 
     106        d = self.remote.call("identity.search.uri",  
     107                dict(uri='urn:rfid:%s'%(tag))) 
     108        def _getId(rv): 
     109            return rv[0]['thg_id'] 
     110 
     111        d.addCallback(_getId) 
     112        d.addCallback(self._getPersonByThing) 
     113        return d 
     114     
     115    def _getPersonByThing(self, thing): 
     116        d = self.remote.call("picnic.persons.get", 
     117                dict(id=thing)) 
     118        def _translate(rv): 
     119            rv['name'] = rv['name']['full'] 
     120            return rv 
     121        d.addCallback(_translate) 
     122        return d 
     123 
     124    def _fillContacts(self, person): 
     125        d = self.remote.call("picnic.relations.getList", 
     126                dict(id=person['id'])) 
     127        def _really(rv): 
     128            l = [] 
     129            for c in rv: 
     130                #pprint.pprint(c) 
     131                 
     132                contact_id = c[1] 
     133                l.append(self._getPersonByThing(contact_id)) 
     134            return defer.gatherResults(l) 
     135        d.addCallback(_really) 
     136        def _fill(rv): 
     137            person['contacts'] = rv 
     138            return person 
     139        d.addCallback(_fill) 
     140        return d 
     141 
    102142     
    103143 
     
    171211    lpr.setServiceParent(hub) 
    172212 
    173     xmlrpc = XMLRPCService() 
    174     xmlrpc.setServiceParent(hub) 
    175  
    176     json = JSONService() 
     213    #xmlrpc = XMLRPCService() 
     214    #xmlrpc.setServiceParent(hub) 
     215 
     216    json = anymeta.JSONService() 
    177217    json.setServiceParent(hub) 
    178218 
    179     controller = PhotoboothController(JSONService
     219    controller = PhotoboothController(json
    180220    controller.setServiceParent(hub) 
    181221