def draw_file(self, filel, filei): filel.clear() filei.clear() filel.border(0) filei.border(0) if not self.cookie or not self.tokens: filel.refresh() filei.refresh() return content = pcs.list_dir(self.cookie, self.tokens, self.path, self.page_num) if not content: filel.addstr(2,2, "Network Error - content empty") elif content.get('errno', -1) != 0: filel.addstr(2,2, "Network Error - error") elif content['list']: # process here self.files = content['list'] self.draw_current_list(filel, filei) else: filel.addstr(2,2, "Already last page") self.has_next = False filel.refresh() filei.refresh()
def draw_file(self, filel, filei): filel.clear() filei.clear() filel.border(0) filei.border(0) if not self.cookie or not self.tokens: filel.refresh() filei.refresh() return content = pcs.list_dir(self.cookie, self.tokens, self.path, self.page_num) if not content: filel.addstr(2, 2, "Network Error - content empty") elif content.get('errno', -1) != 0: filel.addstr(2, 2, "Network Error - error") elif content['list']: # process here self.files = content['list'] self.draw_current_list(filel, filei) else: filel.addstr(2, 2, "Already last page") self.has_next = False filel.refresh() filei.refresh()
def list_dir(self, parent_iter): if self.treestore[parent_iter][LOADED_COL]: return tree_path = self.treestore.get_path(parent_iter) path = self.treestore[tree_path][PATH_COL] first_child_iter = self.treestore.iter_nth_child(parent_iter, 0) if (first_child_iter and not self.treestore[first_child_iter][NAME_COL]): self.treestore.remove(first_child_iter) has_next = True page_num = 1 while has_next: infos = pcs.list_dir(self.app.cookie, self.app.tokens, path, page=page_num, num=NUM) page_num = page_num + 1 if not infos or infos.get('errno', -1) != 0: has_next = False return if len(infos['list']) < NUM: has_next = False for pcs_file in infos['list']: if not pcs_file['isdir']: continue if pcs_file['dir_empty']: empty = True else: empty = False item = self.treestore.append(parent_iter, [ pcs_file['server_filename'], pcs_file['path'], empty, False, ]) # 加入一个临时的占位点. if not empty: self.treestore.append(item, ['', pcs_file['path'], True, False]) self.treestore[parent_iter][LOADED_COL] = True
def list_dir(self, parent_iter): if self.treestore[parent_iter][LOADED_COL]: return tree_path = self.treestore.get_path(parent_iter) path = self.treestore[tree_path][PATH_COL] first_child_iter = self.treestore.iter_nth_child(parent_iter, 0) if (first_child_iter and not self.treestore[first_child_iter][NAME_COL]): self.treestore.remove(first_child_iter) has_next = True page_num = 1 while has_next: infos = pcs.list_dir( self.app.cookie, self.app.tokens, path, page=page_num, num=NUM) page_num = page_num + 1 if not infos or infos['errno'] != 0: has_next = False return if len(infos['list']) < NUM: has_next = False for pcs_file in infos['list']: if not pcs_file['isdir']: continue if pcs_file['dir_empty']: empty = True else: empty = False item = self.treestore.append(parent_iter, [ pcs_file['server_filename'], pcs_file['path'], empty, False, ]) # 加入一个临时的占位点. if not empty: self.treestore.append(item, [ '', pcs_file['path'], True, False]) self.treestore[parent_iter][LOADED_COL] = True