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
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
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
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
def generate_models(self): generate = model_nd.NDModel(self.cache_db) nd_results = generate.generate_models() return nd_results