Ejemplo n.º 1
0
def parse_tb(root, extract_source, extract_deleted):
    try:
        root = judge_node(root)
        if root is None:
            raise IOError('E')
        t = Taobao(root, extract_source, extract_deleted)
        if t.need_parse:
            t.search()
            if t.account:
                for a in t.account:
                    t.parse(a)
                    t.parse_search(a)
                    t.parse_prefer_file_cache()
                    t.parse_shop_cart()
            else:
                t.add_master_account_to_db()
            t.eb.db_insert_table_version(model_eb.EB_VERSION_KEY,
                                         model_eb.EB_VERSION_VALUE)
            t.eb.db_insert_table_version(model_eb.EB_APP_VERSION_KEY,
                                         TB_VERSION)
            t.eb.db_commit()
            t.eb.sync_im_version()
        #models = model_im.GenerateModel(t.cache + '/C37R').get_models()
        #models = model_eb.GenerateModel(t.cache + '/C37R').get_models()
        models = model_eb.GenerateModel(t.cache +
                                        '/{}'.format(t.hash)).get_models()
        mlm = ModelListMerger()
        pr = ParserResults()
        pr.Categories = DescripCategories.Taobao
        pr.Models.AddRange(list(mlm.GetUnique(models)))
        pr.Build("淘宝")
    except:
        traceback.print_exc()
        pr = ParserResults()
    return pr
Ejemplo n.º 2
0
    def parse(self):
        """程序入口"""
        if self.debug or self.model_eb_col.need_parse:
            self.model_eb_col.db_create()
            self._main()
            self._update_eb_script_version(self.model_eb_col, self.app_version)
            self.model_eb_col.db_close()

        return model_eb.GenerateModel(self.cache_db).get_models()
Ejemplo n.º 3
0
    def parse(self):
        """程序入口"""
        if self.debug or self.model_eb_col.need_parse:
            if os.path.exists(self.cache_db):
                os.remove(self.cache_db)
            if os.path.exists(self.cache_db + '.im'):
                os.remove(self.cache_db + '.im')
            self.model_eb_col.db_create()
            self._main()
            self._update_eb_script_version(self.model_eb_col, self.app_version)
            self.model_eb_col.db_close()

        return model_eb.GenerateModel(self.cache_db).get_models()
Ejemplo n.º 4
0
    def parse(self):
        """程序入口"""
        if DEBUG or self.model_eb_col.need_parse:
            self.model_eb_col.db_create()

            self._main()

            self._db_update_finished_info()

        generate = model_eb.GenerateModel(self.cache_db)
        results = generate.get_models()

        return results
Ejemplo n.º 5
0
    def parse(self):
        """解析的主函数"""

        if DEBUG or self.model_eb_col.need_parse:
            self.model_eb_col.db_create()

            self.main()

            self.model_eb_col.db_insert_table_version(model_eb.EB_VERSION_KEY, model_eb.EB_VERSION_VALUE)
            self.model_eb_col.db_insert_table_version(model_eb.EB_APP_VERSION_KEY, Taobao_VERSION)
            self.model_eb_col.db_commit()
            self.model_eb_col.sync_im_version()

        generate = model_eb.GenerateModel(self.cache_db)
        results = generate.get_models()

        return results
Ejemplo n.º 6
0
    def parse(self):
        """解析的主函数"""
        if not all((self.user_db_path, self.jd_db_path)):
            return
        # 配置当前正在使用的用户
        self.__config_using_account()
        # 获取缓存数据
        self._get_account_table()
        self._get_friend_table()
        self._get_message_table()
        self._get_product_table()
        self._get_search_table()
        self.decode_recover_account()
        self.decode_recover_friend()
        self.decode_recover_message()
        self.decode_recover_search()
        self.decode_recover_product()

        generate = model_eb.GenerateModel(self.cache_db)
        results = generate.get_models()

        return results
Ejemplo n.º 7
0
 def get_models_from_cache_db(self):
     models = model_eb.GenerateModel(self.cache + '/Alipay').get_models()
     return models