Ejemplo n.º 1
0
def parse_bdy(node, extract_source, extract_deleted):
    node = judge_node(node)
    try:
        if node is None:
            raise IOError('e')
        b = BDNetDisk(node, extract_deleted, extract_source)
        if b.need_parse:
            b.search()
            for f in b.account_folders:
                b.parse(f)
            b.nd.db_insert_version(model_nd.NDDBVersionKey, model_nd.NDDBVersionValue)
            b.nd.db_insert_version(model_nd.NDDBApplicationVersionKey, BDY_APP_VERSION)
            b.nd.db_insert_im_version(BDY_APP_VERSION)
            b.nd.db_commit()
            b.nd.db_close()
        nd = model_nd.NDModel(b.cache + '/{}'.format(b.hash))
        models = nd.generate_models()
        mlm = ModelListMerger()
        pr = ParserResults()
        pr.Categories = DescripCategories.BDY
        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.has_data is False:
            return

        for account in self._generate_account_table():
            self.cloud_p2p_col, self.file_list_col = self.__fetch_cols(account)
            self.c_recover_helper, self.f_recover_helper = self.__fetch_recover_helper(account)

            self._generate_friend_table()
            self._generate_message_table()
            self._generate_chatroom_table()
            self._generate_chatroom_member_table()
            self._generate_file_list_table()
            self._generate_download_task_table()
            self._generate_share_file_table()

            self.decode_recover_chatroom()
            self.decode_recover_chatroom_member()
            self.decode_recover_groups_messages()
            self.decode_recover_people_messages()
            self.decode_recover_file_list()
            self.decode_recover_download_task()
            self.decode_recover_share_file()

        generate = model_nd.NDModel(self.cache_db)
        nd_results = generate.generate_models()

        generate = model_im.GenerateModel(self.cache_db + ".IM")
        im_results = generate.get_models()

        return nd_results + im_results
Ejemplo n.º 3
0
    def _generate_nd_models(self):
        """网盘类应用 => 从中间数据库返回models给C#那边"""
        generate = model_nd.NDModel(self.cache_db)
        nd_results = generate.generate_models()

        generate = model_im.GenerateModel(self.cache_db + ".IM")
        im_results = generate.get_models()

        return nd_results + im_results
Ejemplo n.º 4
0
    def parse(self):
        """程序入口"""
        if DEBUG or self.model_nd_col.need_parse:
            self._main()
            self._db_update_finished_info()

        generate = model_nd.NDModel(self.cache_db)
        nd_results = generate.generate_models()

        generate = model_im.GenerateModel(self.cache_db + ".IM")
        im_results = generate.get_models()

        return nd_results + im_results
Ejemplo n.º 5
0
 def generate_models(self):
     generate = model_nd.NDModel(self.cache_db)
     nd_results = generate.generate_models()
     return nd_results