Exemplo n.º 1
0
    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
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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