def update_settings(self, settings): settings = settings if isinstance(settings, dict) else settings.__dict__ settings = { k: v for (k, v) in six.iteritems(settings) if k in self.settings_fields } remove = all([ v is None or v == "" or v == 0 or v == False for v in six.itervalues(settings) ]) with DBSession() as db: dbsettings = db.query(self.settings_class).first() if dbsettings is None and not remove: dbsettings = self.settings_class() db.add(dbsettings) if dbsettings is not None: if remove: db.delete(dbsettings) else: settings[ 'is_enabled'] = dbsettings.is_enabled if dbsettings.is_enabled is not None else True dict2row(dbsettings, settings) return True
def update_credentials(self, credentials): with DBSession() as db: dbcredentials = db.query(self.credentials_class).first() if dbcredentials is None: dbcredentials = self.credentials_class() db.add(dbcredentials) dict2row(dbcredentials, credentials, self.credentials_private_fields) return self.login()
def update_credentials(self, credentials): with DBSession() as db: dbcredentials = db.query(self.credentials_class).first() if dbcredentials is None: dbcredentials = self.credentials_class() db.add(dbcredentials) dict2row(dbcredentials, credentials, self.credentials_private_fields)
def _set_topic_params(self, url, parsed_url, topic, params): """ :type url: str | None :type parsed_url: dict | None :type topic: Topic :type params: dict """ dict2row(topic, params, self.topic_private_fields)
def update_settings(self, settings): settings = settings if isinstance(settings, dict) else settings.__dict__ with DBSession() as db: dbsettings = db.query(self.settings_class).first() if dbsettings is None: dbsettings = self.settings_class() db.add(dbsettings) else: settings['id'] = dbsettings.id dict2row(dbsettings, settings) return True
def _set_topic_params(self, url, parsed_url, topic, params): """ :type url: str | None :type parsed_url: object | dict | None :type topic: Topic :type params: dict """ fields = None if self.topic_private_fields is not None: fields = self.topic_private_fields + ['download_dir'] dict2row(topic, params, fields)
def _set_topic_params(self, url, parsed_url, topic, params): """ :type url: str | None :type parsed_url: dict | None :type topic: Topic :type params: dict """ fields = None if self.topic_private_fields is not None: fields = self.topic_private_fields + ['download_dir'] dict2row(topic, params, fields)