diff --git a/focker/pull.py b/focker/pull.py new file mode 100644 index 0000000..c4e1376 --- /dev/null +++ b/focker/pull.py @@ -0,0 +1,47 @@ +from http.client import HTTPConnection, \ + HTTPSConnection +from urllib.parse import urlparse + + +def get(url, headers={}): + url = urlparse(url) + netloc = url.netloc.split(':') + host = netloc[0] + if url.scheme == 'https': + conn = HTTPSConnection(netloc[0], netloc[1] \ + if len(netloc) > 1 else 443) + else: + conn = HTTPConnection(netloc[0], netloc[1] \ + if len(netloc) > 1 else 80) + req = conn.request('GET', url.path + ('?' + url.query \ + if url.query else ''), headers=headers) + resp = conn.getresponse() + status, reason = resp.status, resp.reason + if status == 200: + return (status, reason, resp.read(), resp) + else: + return (status, reason, None, resp) + + +class RegistryClient(object): + def __init__(self, url): + self.url = url + + def authAnon(self): + get(url) + + +def command_reg_search(args): + raise NotImplementedError + + +def command_reg_tags(args): + raise NotImplementedError + + +def command_reg_pull(args): + raise NotImplementedError + + +def command_reg_push(args): + raise NotImplementedError