Exemplo n.º 1
0
 def getStalkerCategoryAlias(plexSectionID):
     ret = Common.mappingDict.get(plexSectionID)
     if ret:
         return ret
     else:
         logger.error(
             "No mapped Stalker category alias for Plex section ID {}".
             format(plexSectionID))
         return ret
Exemplo n.º 2
0
    def invite_users_to_group_processing(self):
        info('Invite users to group processing. BEGIN', '\r\n')

        for id_ in self.get_group_hand_shake_ids():
            info('User id: {}'.format(str(id_)))
            try:
                self.vk_app.group_invite(id_)
                self.db.add_user_to_group(id_)
            except Exception:
                error(traceback.format_exc())

        info('Invite users to group processing. END')
Exemplo n.º 3
0
    def run(self):
        try:
            info('Group processing. BEGIN')
            theft_result = self.get_first_wall_item()

            if theft_result:
                is_post_created = self.create_post(
                    theft_result['wall_item'], theft_result['group_id'],
                    theft_result['group_name'], theft_result['wall_item_id'],
                    theft_result['date_time'])

                if not is_post_created or self.delete_empty_post():
                    self.run()

            info('Group processing. END')
        except Exception:
            error('Unknown error during create post')
            error(traceback.format_exc())
            self.run()
Exemplo n.º 4
0
 def __connect(self, **kw):
     con = None
     try:
         if kw.get('database') == "stalker":
             con = mysql.connector.connect(
                 host=self.stalker_db_host,
                 user=self.stalker_db_user,
                 password=self.stalker_db_pass,
                 database=mappings.Stalker.database)
         if kw.get('database') == "plex":
             con = sqlite3.connect(self.plex_db_path)
         if kw.get('database') == "ifc":
             con = sqlite3.connect(self.ifc_db_path)
     except sqlite3.Error as e:
         logger.error("SQLite connection error: %s" % e)
     except mysql.connector.Error as e:
         logger.error("MySQL connection error: %s" % e)
     logger.info("success opening {0} database connection".format(
         kw.get('database')))
     return con
Exemplo n.º 5
0
    def create_post(self, wall_item, owner_id, owner_name, owner_post_id,
                    create_date) -> bool:
        try:
            info('Create post. BEGIN', '\r\n')

            text = self.get_wall_text(wall_item)
            info('Text: "{}"'.format(str(text)))

            attachments = self.get_wall_attachments(wall_item)
            info('Attachments: {}'.format(attachments.__len__()))
            if attachments.__len__() < 1:
                error('No post was created without attachments')
                return False

            post_id = self.vk_app.group_wall_post(text, attachments)
            info('Created post: "{}"'.format(str(post_id)))

            self.db.insert_wall_posts(post_id, owner_id, owner_name,
                                      owner_post_id, create_date)

            info('Create post. END')
            return True
        except Exception:
            error('Unknown error during create post')
            error(traceback.format_exc())
            return False
Exemplo n.º 6
0
    def __executeSQL(self, query, parameters=False, **kw):
        try:
            data = None
            con = None
            case = 0  #set differently depending on sqlite or mysql db is queried
            if kw.get('database') == "ifc":
                con = self.ifcDBcon
                case = 1  #sqlite db and query
            if kw.get('database') == "plex":
                con = self.plexDBcon
                case = 1
            if kw.get('database') == "stalker":
                con = self.stalkerDBcon
                case = 2
            cur = con.cursor()
            logger.debug("Query to execute:\n\t{0}".format(query))
            if not parameters:
                cur.execute(query)
            else:
                cur.execute(query, parameters)
            if case == 1:  #sqlite db and query
                data = cur.fetchall()
                if not data:
                    con.commit()
                    logger.debug(
                        '{0} rows in {1} database affected by the execute call.'
                        .format(cur.rowcount, kw.get('database')))
                    return True
                logger.debug('{0} rows from {1} database returned.'.format(
                    len(data), kw.get('database')))
            if case == 2:  #mysql db and query
                if cur.description is None:
                    # No recordset for INSERT, UPDATE, CREATE, etc
                    con.commit()
                    logger.debug(
                        'No recordset returned by the execute call on {0} database.'
                        .format(kw.get('database')))
                    return cur.lastrowid
                else:
                    # Recordset for SELECT
                    data = cur.fetchall()
                    logger.debug('{0} rows from {1} database returned.'.format(
                        cur.rowcount, kw.get('database')))

        except sqlite3.Error as e:
            logger.error("SQLite error: %s" % e)
        except mysql.connector.Error as e:
            logger.error("MySQL  error: %s" % e)
        except Exception as e:
            logger.error("Exception in query: %s" % e)
        return data
Exemplo n.º 7
0
def execute_wrap_exception(func, *args):
    try:
        return func(*args)
    except Exception:
        error(traceback.format_exc())