def __init__(self, client, options, logger=None): self._key_attribute = options.get('key', 'title') self._folder = None # self._maxsize = None if isinstance(client, ToodledoAPI): self._client = client else: self._client = ToodledoAPI.get_session(**client) Sync.__init__(self, options, logger, 'tdsync') if self.signature is None: if options.get('folder'): folder = options.get('folder') if self._client.folders.get(folder): self._folder = self._client.folders[folder] signature = { 'label': options.get('label'), 'folder': self._folder['name'], 'id': self._folder['id'] } self.options.update({'signature': signature}) else: error = u'Folder [%s] not found!' % (utf8(folder)) self.logger.error(error) raise SyncInitError(error) else: self.logger.warning(u'No folder specified in sync options') else: self._folder = self.client.folders[self.signature['id']]
def __init__(self, client, options, logger=None): self._key_attribute = options.get('key','title') self._folder = None # self._maxsize = None if isinstance(client, ToodledoAPI): self._client = client else: self._client = ToodledoAPI.get_session(**client) Sync.__init__(self, options, logger, 'tdsync') if self.signature is None: if options.get('folder'): folder = options.get('folder') if self._client.folders.get(folder): self._folder = self._client.folders[folder] signature = {'label': options.get('label'), 'folder': self._folder['name'], 'id': self._folder['id']} self.options.update({'signature': signature}) else: error = u'Folder [%s] not found!' % (utf8(folder)) self.logger.error(error) raise SyncInitError(error) else: self.logger.warning(u'No folder specified in sync options') else: self._folder = self.client.folders[self.signature['id']]
def __init__(self, data=None, tdapi=None, parent=None, **kwargs): self.__dict__['_data'] = data if data is not None else {} self.__dict__['_properties'] = None self.__dict__['_modified'] = None self.__dict__['_deleted'] = None self.__dict__['_created'] = None self.__dict__['_parent'] = parent self.__dict__['_tdapi'] = tdapi or ToodledoAPI.get_session() self.__dict__['_uuid'] = str(uuid.uuid1()) for key in kwargs: self.__setitem__(key, kwargs[key])
def session(options, _logger): if options: if options.get('cache') is not None: if options.get('secrets'): secrets = options['secrets'] if secrets.get('client_id'): if secrets.get('client_secret'): return ToodledoAPI.get_session(cache=options.get('cache'), client_id=secrets['client_id'], client_secret=secrets['client_secret'], logger=_logger) else: error = 'Missing secrets in Toodledo options' else: error = 'Missing cache specification in Toodledo options' else: error = 'Missing Toodledo options' LogAdapter(_logger, {'package': 'tdsync'}).error(error) raise SyncSessionError(error) return None
def session(options, _logger): if options: if options.get('cache') is not None: if options.get('secrets'): secrets = options['secrets'] if secrets.get('client_id'): if secrets.get('client_secret'): return ToodledoAPI.get_session( cache=options.get('cache'), client_id=secrets['client_id'], client_secret=secrets['client_secret'], logger=_logger) else: error = 'Missing secrets in Toodledo options' else: error = 'Missing cache specification in Toodledo options' else: error = 'Missing Toodledo options' LogAdapter(_logger, {'package': 'tdsync'}).error(error) raise SyncSessionError(error) return None
def __init__(self, bean_class, data, tdapi=None): self._bean_class = bean_class self._beans = [] self._tdapi = tdapi or ToodledoAPI.get_session() self._lastedit = None self._deleted = OrderedDict() self._modified = OrderedDict() self._created = OrderedDict() self._uuid_map = {} self._key_attributes = ['id', 'name'] self._filter = lambda bean: True if isinstance(data, dict): # loaded from cache ... if data.get('data') is not None: self._lastedit = data.get('lastedit') data = data.get('data') for item in data: # generate a list of typed beans from data self._beans.append(bean_class(item, self._tdapi, self))