def __from_data(cls, data): meta_vars = fix_kw(data["meta"]) #variables = data["variables"] install_paths = data.get("install_paths", None) executables = {} for name, executable in data["executables"].items(): executables[name] = Executable.from_parse_dict(fix_kw(executable)) file_sections = {} def json_to_file_section(data): category = data["category"] name = data["name"] section = InstalledSection(category, name, data["source_dir"], data["target_dir"], data["files"]) return category, name, section for section in data["file_sections"]: category, name, files = json_to_file_section(section) if category in file_sections: if name in file_sections[category]: raise ValueError("section %s of type %s already exists !" % (name, category)) file_sections[category][name] = files else: file_sections[category] = {name: files} return cls(file_sections, meta_vars, executables, install_paths)
def __from_data(cls, data): meta_vars = fix_kw(data["meta"]) # variables = data["variables"] install_paths = data.get("install_paths", None) executables = {} for name, executable in data["executables"].items(): executables[name] = Executable.from_parse_dict(fix_kw(executable)) file_sections = {} def json_to_file_section(data): category = data["category"] name = data["name"] section = InstalledSection(category, name, data["source_dir"], data["target_dir"], data["files"]) return category, name, section for section in data["file_sections"]: category, name, files = json_to_file_section(section) if category in file_sections: if name in file_sections[category]: raise ValueError("section %s of type %s already exists !" % (name, category)) file_sections[category][name] = files else: file_sections[category] = {name: files} return cls(file_sections, meta_vars, executables, install_paths)
def __from_data(cls, data): def _encode_kw(d): return dict([(k.encode(), v) for k, v in d.items()]) meta_vars = _encode_kw(data["meta"]) path_vars = data["variables"]["paths"] executables = {} for name, executable in data["variables"]["executables"].items(): executables[name] = Executable.from_parse_dict(_encode_kw(executable)) file_sections = {} def json_to_file_section(data): tp, section_name = data["name"].split(":", 1) section = InstalledSection(tp, section_name, data["source_dir"], data["target_dir"], data["files"]) return tp, section_name, section for section in data["file_sections"]: tp, name, files = json_to_file_section(section) if tp in file_sections: if name in file_sections[tp]: raise ValueError("section %s of type %s already exists !" % (name, type)) file_sections[tp][name] = files else: file_sections[tp] = {name: files} return cls(file_sections, meta_vars, path_vars, executables)
def build_executables_from_dict(executables_d): executables = {} for name, executable in executables_d.items(): executables[name] = Executable.from_parse_dict(executable) return executables
def build_executables_from_dict(executables_d): executables = {} for name, executable in executables_d.items(): executables[name] = Executable.from_parse_dict(executable) return executables