def record_name_path(rootPath): """record_name_path""" global filelist, cmdlist for item in rootPath.iterdir(): try: if item.is_dir(): record_name_path(item) elif item.is_file() and item.suffix in [".mp4", ".mkv"]: tmp_name = Name(name=item.stem) tmp_name.save() tmp_path = FilePath( filepath=item, f_name=tmp_name, ctime=time.strftime("%Y-%m-%dT%H:%M:%S", time.localtime(item.stat().st_ctime)), mtime=time.strftime("%Y-%m-%dT%H:%M:%S", time.localtime(item.stat().st_mtime)), atime=time.strftime("%Y-%m-%dT%H:%M:%S", time.localtime(item.stat().st_atime)), size=item.stat().st_size, ) tmp_path.save() tmp_coverpath = CoverPath(coverpath=coverpath / (str(item.stem) + ".jpg"), f_name=tmp_name) tmp_coverpath.save() log.debug(("add", item.stem)) except: continue
def set_name_tag(self, name_id, tag_name): tmp_tag, _ = Tag.get_or_create(tagname=tag_name) tmp_tag.save() tmp_tag.names.add(Name.get(Name.id == name_id)) return 1
def get_items(self, start=1, end=None): # dont do so much check now # end set if end is None: end = self.nameCount elif end > self.nameCount: end = self.nameCount return list( Name.select(Name, FilePath, CoverPath, Name.tags).join_from( Name, FilePath).join_from( Name, CoverPath).where((Name.id >= start) & (Name.id <= end)).order_by( FilePath.ctime.desc()).dicts())
def get_items2(self, start=1, end=None): # dont do so much check now # end set if end is None: end = self.nameCount elif end > self.nameCount: end = self.nameCount data = [] for name in (Name.select(Name, FilePath).join_from( Name, FilePath).where((Name.id >= start) & (Name.id <= end)).order_by( FilePath.ctime.desc())): tmp_d = { "name_id": name.id, "name": name.name, "filepath": name.filepath.filepath, "tags": list(name.tags.dicts()), } data.append(tmp_d) return data
def get_file_path_by_name(self, name): tmp_name = Name.select().where(Name.name == name).get() tmp_file = tmp_name.filepath.get() return [peewee_model_to_dict_string(tmp_cover)]
def get_all_name(self): return [peewee_model_to_dict_string(i) for i in Name.select(Name.name)]
def name2tags(self, name_id): tmp_name = Name.get(Name.id == name_id) return list(tmp_name.tags.dicts())
def count_names(self): self.nameCount = Name.select().count() return self.nameCount
def __init__(self): """__init__""" self.nameCount = Name.select().count()