reset_request(req, settings['XSD_URL']) with opener.open(req) as conn: byte_stream = conn.read() raw_data = b64decode(byte_stream) xsd_data = raw_data.decode('utf-8') assert re.search(settings['NS_PATTERN'], xsd_data) logging.disable(logging.CRITICAL) repository_xsd_code = generate.GeneratePython(schema_text=xsd_data) repository_module_code = compile(source=repository_xsd_code, filename=settings['XSD_URL'], mode='exec') repository_module = ModuleType('repository_module') exec(repository_module_code, repository_module.__dict__) repository = repository_module.CreateFromDocument(xml_text=repo_data, location_base=settings['REPO_URL']) repository_dom = repository.toDOM() assert repository_dom.documentElement.namespaceURI == settings['XMLNS'] assert repository_dom.documentElement.localName == settings['NODE_SDK_REPOSITORY'] platforms = { 'Linux': 'linux', 'Windows': 'windows', 'Darwin': 'macosx', } archives = dict() for candidate in getattr(repository, settings['NODE_PLATFORM_TOOL'].replace('-', '_')): candidate_version = LooseVersion('{}.{}.{}'.format(candidate.revision.major, candidate.revision.minor,