Exemplo n.º 1
0
    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
Exemplo n.º 2
0
 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()
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
 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
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
    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)