- def flush(self):
- def split(items, limit):
- split = {}
- count = 0
- sensors = {'acc': ['x','y','z'],
- 'mag': ['x','y','z'],
- 'tch': ['p','d'],
- 'lgt': [''],
- 'a2d': ['0','1','2','3','4','5']}
- for state in items:
- for sns in sensors:
- data = getattr(state, sns)
- for i in range(len(data)):
- if data[i] == None:
- continue
- if count >= limit:
- print('upload: cropping upload')
- return split
- chan = sns + sensors[sns][i]
- if not split.has_key(chan):
- split[chan] = []
- point = Datapoint(state.time, data[i])
- split[chan].append(point)
- count += 1
- return split
-
-
- if not self.running() or len(self.queue) == 0:
- return
+ def split(self, items, limit):
+ split = {}
+ count = 0
+ sensors = {'acc': ['x','y','z'],
+ 'mag': ['x','y','z'],
+ 'tch': ['p','d'],
+ 'lgt': [''],
+ 'a2d': ['0','1','2','3','4','5']}
+ for state in items:
+ for sns in sensors:
+ data = getattr(state, sns)
+ for i in range(len(data)):
+ if data[i] == None:
+ continue
+ if count >= limit:
+ print('upload: cropping upload')
+ return split
+ chan = sns + sensors[sns][i]
+ if not split.has_key(chan):
+ split[chan] = []
+ point = Datapoint(state.time, data[i])
+ split[chan].append(point)
+ count += 1
+ return split
+
+ def task(self):
+ print('thread - start')
+ self.thread = get_ident()
+
+ # Setup connection
+ api = XivelyAPIClient(self.config.apikey)
+ feed = api.feeds.get(self.config.feedid)
+
+ # Process requests from main
+ while self.running():
+ # Pull data from queue (blocking)
+ states = self.queue.get()
+ print('thread - got %d states' % len(states))
+
+ # Make sure it's valid
+ if len(states) == 0:
+ continue