def _save_pack(pack_index, pack_name): # 获取 pack 文件的路径 file_path = LoadDefaultPack._get_fw_file_path(pack_index) if file_path is None: return None, None # 文件类型 file_type = LoadDefaultPack._get_file_type(pack_index) # 新建或保存文件记录 # 新的 pack ID pack_id = StrUtils.uuid_str() # 新的 pack 文件 UUID file_id = StrUtils.uuid_str() # 读取包文件内容 contents = MyFile.read(file_path) # 保存文件记录 PackFileDO.save(pack_id, file_id, name=pack_name, file_type=file_type) # 保存文件内容 PackFilesStorage.save(file_id, pack_name, file_type, contents) return pack_id, file_id
def _save_source_code_file_db(path_file_name, pack_com_id, task_id): # 遍历目录 读取文件内容保存到DB itotal_files=0 for root, dirs, files in os.walk(path_file_name): # root 表示当前正在访问的文件夹路径 # dirs 表示该文件夹下的子目录名list # files 表示该文件夹下的文件list # 遍历文件 for f in files: itotal_files+=1 print(os.path.join(root, f)) path_file_name = os.path.join(root, f) #contents = MyFile.read(path_file_name) mode = os.stat(path_file_name).st_mode # todo file_type # file_type, contents = check_file_type(path_file_name) file_type = FileType.OTHER_FILE file_name = os.path.basename(path_file_name) # 新建或保存文件记录 # 新的 pack ID # pack_com_id = StrUtils.uuid_str() # 新的 pack 文件 UUID file_com_id = StrUtils.uuid_str() # 读取包文件内容 contents = MyFile.read(path_file_name) # 保存文件记录 SourceCodeFileDO.save_file_item(pack_com_id, file_com_id, file_name, file_type, mode, path_file_name, None) # 保存文件内容 SourceCodeFilesStorage.save(file_com_id, file_name, path_file_name, file_type, contents) # 遍历所有的文件夹 for d in dirs: print(os.path.join(root, d))
def _save_pack_com_db(path_file_name, download_info, edb_id, title, task_id): # todo file_type #file_type, contents = check_file_type(path_file_name) file_type = FileType.PACK file_name = os.path.basename(path_file_name) name, ver = file_name.split('-') version = ver.split('.tar.gz')[0] # 新建或保存文件记录 # 新的 pack ID pack_com_id = StrUtils.uuid_str() # 新的 pack 文件 UUID file_com_id = StrUtils.uuid_str() # 读取包文件内容 contents = MyFile.read(path_file_name) # 保存文件记录 PackCOMFileDO.save(pack_com_id, file_com_id, edb_id, title, version, path_file_name, name=file_name, file_type=file_type) # 保存文件内容 PackCOMFilesStorage.save(file_com_id, file_name, FileType.PACK, contents) # 返回固件包ID,文件ID return pack_com_id, file_com_id