Exemple #1
0
    def _got_indicators(self, indicators):
        indicators.pop('user', None)

        indicators.pop('countnewmail', None) # we don't care about the number

        if indicators is None:
            return

        to_notify = util.dictdiff(self.indicators, indicators)
        dirty = self.indicators != indicators
        self.indicators = indicators

        self.event('on_indicators', indicators)

        self._notify_alerts(to_notify)

        if dirty:
            self._dirty = True
            log.info('Got new alerts')
Exemple #2
0
    def _got_indicators(self, indicators):
        indicators.pop('user', None)

        indicators.pop('countnewmail', None)  # we don't care about the number

        if indicators is None:
            return

        to_notify = util.dictdiff(self.indicators, indicators)
        dirty = self.indicators != indicators
        self.indicators = indicators

        self.event('on_indicators', indicators)

        self._notify_alerts(to_notify)

        if dirty:
            self._dirty = True
            log.info('Got new alerts')
Exemple #3
0
 def backup_blobs(self, dir):
     pth = path(dir)
     from util.json import pydumps
     from time import time
     for name in ['profile', 'buddylist', 'notifications', 'prefs', 'statuses', 'icon']:
         if name == 'buddylist':
             data = self.blist.save_data()
         elif name == 'prefs':
             data = to_primitive(dictdiff(profile.defaultprefs, self.prefs))
         elif name == 'defaultprefs':
             pass
         elif name == 'statuses':
             data = [s.__getstate__() for s in self.statuses]
             for s in data:
                 s['format'] = dict(s['format'])
         else:
             data = to_primitive(getattr(self, name))
         f = pth / name + '_' + str(int(time())) + '.blob'
         with f.open('wb') as out:
             if name == 'icon':
                 out.write(data)
             else:
                 out.write(pydumps(data).encode('z'))
Exemple #4
0
 def save_out_prefs(self, force = False, callback = None):
     'Pack the data and send it to the server.'
     data = dictdiff(profile.defaultprefs, self.prefs)
     self.blob_manager.set_blob('prefs', data = to_primitive(data), force = force,
                              callback = callback)
Exemple #5
0
 def get_options(self):
     opts = self._get_options()
     d = self.protocol_info()['defaults']
     return dictdiff(d, opts)
Exemple #6
0
 def get_options(self):
     opts = self._get_options()
     d = self.protocol_info()['defaults']
     return dictdiff(d, opts)