def add_manifest_pak_entry(context, manifest, manifest_path, filesList): manifest_object = {} manifest_object['keyName'] = get_standalone_manifest_key( context, manifest_path) manifest_object['localFolder'] = dynamic_content_settings.get_pak_folder() manifest_object['hash'] = hashlib.md5(open(manifest_path, 'rb').read()).hexdigest() filesList.append(manifest_object)
def command_add_file_to_pak(context, args): pak_file = os.path.join(dynamic_content_settings.get_pak_folder(), args.pak_file) manifest_path, manifest = _get_path_and_manifest(context, args.manifest_path) file_name = args.file_name file_platform = args.platform_type _add_file_to_pak(context, file_name, file_platform, pak_file, manifest_path, manifest)
def command_add_pak(context, args): manifest_path, manifest = _get_path_and_manifest(context, args.manifest_path) platform_type = args.platform_type new_file_name = args.pak_name + os.path.extsep + platform_type + os.path.extsep + 'pak' _add_pak_to_manifest( context, os.path.join(dynamic_content_settings.get_pak_folder(), new_file_name), manifest_path, manifest, platform_type)
def gui_add_pak_to_manifest(context, args): manifest_path, manifest = _get_path_and_manifest(context, args.manifest_path) new_file_name = args.new_file_name + os.path.extsep + 'pak' platform_type = args.platform_type _add_pak_to_manifest( context, os.path.join(dynamic_content_settings.get_pak_folder(), new_file_name), manifest_path, manifest, platform_type) gui_list(context, args, {new_file_name: 'new'})
def get_path_for_manifest_platform(context, manifest_path, platform): manifest_root, manifest_name = os.path.split(manifest_path) if len(manifest_name): manifest_name = manifest_name.split('.json', 1)[0] else: manifest_name = manifest_path pak_folder_path = os.path.join(dynamic_content_settings.get_pak_folder(), manifest_name + '.' + platform + '.pak') if len(pak_folder_path) and pak_folder_path[0] == '/': pak_folder_path = pak_folder_path[1:] return pak_folder_path
def gui_add_files_to_pak(context, args): files_to_add = args.file_list pak_file = os.path.join(dynamic_content_settings.get_pak_folder(), args.pak_file) manifest_path, manifest = _get_path_and_manifest(context, args.manifest_path) for new_file in files_to_add: file_name = os.path.join(new_file.get('localFolder'), new_file.get('keyName')).replace('\\', '/') file_platform = new_file.get('platformType') _add_file_to_pak(context, file_name, file_platform, pak_file, manifest_path, manifest) gui_list(context, args, {os.path.basename(pak_file): 'outdated'})
def gui_delete_pak_from_manifest(context, args): file_info = args.file_data file_name = file_info.get('keyName') platform = file_info.get('platformType') file_to_remove = os.path.join(dynamic_content_settings.get_pak_folder(), file_name) manifest_path, manifest = _get_path_and_manifest(context, args.manifest_path) _remove_file_entry_from_section(context, file_to_remove, platform, manifest_path, manifest, 'Paks') existing_file_list = _get_files_list(context, manifest, 'Files') for existing_file in existing_file_list: if 'pakFile' in existing_file: if existing_file['pakFile'] == file_to_remove: del existing_file['pakFile'] _save_content_manifest(context, manifest_path, manifest) gui_list(context, args)