def run(self): builder = self.data.builder cache_dir = self.sandbox.tmp_cache_dir skip = False if os.path.isfile(os.path.join( cache_dir, builder.filename)) and os.path.isfile( os.path.join(cache_dir, builder.filename + ".sha1")): with open(os.path.join(cache_dir, builder.filename + ".sha1"), "rb") as f: checksum = f.read(1024).decode() skip = checksum == hash.sha1( os.path.join(cache_dir, builder.filename)) if skip: self.run_status = ReturnValue.skip else: if builder.url.startswith("https://") or builder.url.startswith( "http://"): if os.path.isfile(os.path.join(cache_dir, builder.filename)): rm(os.path.join(cache_dir, builder.filename)) if os.path.isfile( os.path.join(cache_dir, builder.filename + ".sha1")): rm(os.path.join(cache_dir, builder.filename + ".sha1")) s = HTTPSession(base_urls=[builder.base_url]) result = s.download_file(url=builder.filename, dest=cache_dir, filename=builder.name) if result is None: rm(os.path.join(cache_dir, builder.filename)) self.run_status = ReturnValue.failure else: self.run_status = ReturnValue.success with open( os.path.join(cache_dir, builder.filename + ".sha1"), "w") as f: f.write( hash.sha1(os.path.join(cache_dir, builder.filename))) else: cp( os.path.join(self.sandbox.specs_dir, "patches", builder.url), cache_dir, ) self.run_status = ReturnValue.success
def func(server, base_url): with HTTPSession() as session: result = session.download_file(base_url + 'dummy', dest='.') with open(result, 'rb') as fd: content = fd.read() assert content == b'Dummy!' assert os.path.basename(result) == 'dummy.txt'
def func(server, base_url): with HTTPSession() as session: result = session.download_file(base_url + "dummy", dest=".") with open(result, "rb") as fd: content = fd.read() assert content == b"Dummy!" assert os.path.basename(result) == "dummy.txt"
def func(server, base_url): with HTTPSession() as session: session.set_max_retries(base_url, connect=5) result = session.download_file(base_url + 'dummy', dest='.') with open(result, 'rb') as fd: content = fd.read() assert content == b'OK' assert server.tries == 2
def inner_func(server2, base_url2): logging.info("servers: %s, %s" % (base_url, base_url2)) with HTTPSession(base_urls=[base_url, base_url2]) as session: session.set_max_retries(connect=4) result = session.download_file(base_url + "dummy", dest=".") assert result is not None assert server.calls == 1 assert server2.tries == 2
def func(server, base_url): with HTTPSession() as session: session.set_max_retries(base_url, connect=5) result = session.download_file(base_url + "dummy", dest=".") with open(result, "rb") as fd: content = fd.read() assert content == b"OK" assert server.tries == 2
def inner_func(server2, base_url2): logging.info(f"servers: {base_url}, {base_url2}") with HTTPSession(base_urls=[base_url, base_url2]) as session: session.DEFAULT_TIMEOUT = (10.0, 0.2) session.set_max_retries(connect=4) result = session.download_file("dummy", dest=".") assert result is None assert server.calls == 1 assert server2.tries == 1
def inner_func(server2, base_url2): logging.info('servers: %s, %s' % (base_url, base_url2)) with HTTPSession(base_urls=[base_url, base_url2]) as session: session.DEFAULT_TIMEOUT = (10.0, 0.2) session.set_max_retries(connect=4) result = session.download_file('dummy', dest='.') assert result is None assert server.calls == 1 assert server2.tries == 1
def func(server, url): with HTTPSession(base_urls=[nok_url, url]) as session: session.DEFAULT_TIMEOUT = (3.0, 3.0) with open('./data.txt', 'wb') as fd: fd.write(b'Hello!') with open('./data.txt', 'rb') as fd: session.request( 'POST', 'dummy', data_streams={'data.txt': fd, 'str_metadata': 'string', 'metadata': {'key1': 'val1'}}) assert server.test_payloads['metadata'] == '{"key1": "val1"}' assert server.test_payloads['data.txt'] == 'Hello!' assert server.test_payloads['str_metadata'] == 'string'
def download_resource_content(self, metadata, dest): """Download a resource. :param metadata: metadata associated with the resource to download :type metadata: HTTPSimpleStoreResourceInfo :param dest: :type dest: str :return: the path to the downloaded resource :rtype: str """ with HTTPSession() as http: return http.download_file(metadata.url, dest, validate=metadata.verify)
def download_resource_content(self, metadata: ResourceInfo, dest: str) -> Optional[str]: """Download a resource. :param metadata: metadata associated with the resource to download :param dest: where to download the resource :return: the path to the downloaded resource """ if TYPE_CHECKING: assert isinstance(metadata, HTTPSimpleStoreResourceInfo) with HTTPSession() as http: return http.download_file(metadata.url, dest, validate=metadata.verify)
def func(server, url): with HTTPSession(base_urls=[nok_url, url]) as session: session.DEFAULT_TIMEOUT = (3.0, 3.0) with open("./data.txt", "wb") as fd: fd.write(b"Hello!") with open("./data.txt", "rb") as fd: session.request( "POST", "dummy", data_streams={ "data.txt": fd, "str_metadata": "string", "metadata": {"key1": "val1"}, }, ) assert server.test_payloads["metadata"] == '{"key1": "val1"}' assert server.test_payloads["data.txt"] == "Hello!" assert server.test_payloads["str_metadata"] == "string"
def func(server, base_url): with HTTPSession() as session: result = session.download_file(base_url + 'dummy', dest='.') assert result is None
def test_session(self): """Create a session in a context.""" with HTTPSession(): pass
def func(server, base_url): with HTTPSession() as session: result = session.download_file( base_url + "dummy", dest=".", validate=validate ) assert result is None