Changeset 45
- Timestamp:
- 09/24/07 13:42:43 (1 year ago)
- Files:
-
- photobooth/photobooth.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
photobooth/photobooth.py
r44 r45 36 36 delay = 5.0 37 37 remote = None 38 38 bucket = None 39 people = None 40 39 41 def __init__(self, remote): 40 42 self.bucket = [] 43 self.people = {} 41 44 self.remote = remote 42 45 #self.bucket = [{"id": "1417", "name": "Andy Smit"}] … … 49 52 def test(self): 50 53 e = TagAddedEvent('046792D9') 51 self.addToBucket(e)52 import pprint53 54 d = self.getCurrentTags() 55 d.addCallback(lambda x: pprint.pprint(x) and x or x) 56 d.addCallbacks(lambda x: self.addToBucket(e)) 57 d.addCallbacks(lambda x: self.getCurrentTags()) 54 58 d.addCallback(lambda x: pprint.pprint(x) and x or x) 55 59 … … 61 65 if not self.bucket: 62 66 self.startCountdown() 67 if evt.data in self.bucket: 68 return 69 70 d = self._tagToPerson(evt.data) 71 def _cachePerson(person): 72 pprint.pprint(person) 73 self.people[evt.data] = person 74 return person 75 76 d.addCallback(_cachePerson) 77 d.addCallback(self.makeContacts) 78 if not self.bucket: 79 d.addCallback(lambda x: self.startCountdown()) 63 80 self.bucket.append(evt.data) 64 self.makeContacts()81 return d 65 82 66 83 def startCountdown(self): … … 73 90 print "clearing bucket" 74 91 self.bucket = [] 92 self.people = {} 75 93 #self.bucket = [{"id": "1417", "name": "Andy Smit"}] 76 94 77 def makeContacts(self ):95 def makeContacts(self, person): 78 96 pass 79 97 80 98 81 82 99 def getCurrentTags(self): 100 people = [self.people[tag] for tag in self.bucket if tag in self.people] 101 return defer.succeed(people) 83 102 d = self._tagsToPeople() 84 103 … … 97 116 return d 98 117 99 def _tagsToPeople(self): 100 l = [] 101 for tag in self.bucket: 102 l.append(self._getPersonByTag(tag).addCallback( 103 self._fillContacts)) 104 d = defer.gatherResults(l) 105 return d 106 107 #return defer.succeed([{"id": "1417", "name": "Andy Smith"}, {"id": "4171", "name": "Koe"}]) 118 def _tagToPerson(self, tag): 119 d = self._getPersonByTag(tag) 120 d.addCallback(self._fillContacts) 108 121 return d 109 122
