import os from eppy.client import EppClient from eppy.doc import * from flask import Flask from flask_restful import Resource, Api extra_ext_uris = [ 'http://www.sk-nic.sk/xml/epp/sk-contact-ident-0.2', 'urn:ietf:params:xml:ns:rgp-1.0', 'urn:ietf:params:xml:ns:auxcontact-0.1' ] extra_nsmap = { 'skContactIdent': 'http://www.sk-nic.sk/xml/epp/sk-contact-ident-0.2', 'rgp': 'urn:ietf:params:xml:ns:rgp-1.0', 'auxcontact': 'urn:ietf:params:xml:ns:auxcontact-0.1' } app = Flask(__name__) api = Api(app) class Domain(Resource): def get(self, domain_name): client = EppClient(ssl_validate_cert=False, ssl_validate_hostname=False) client.connect('epp.sk-nic.sk') client.login(os.environ.get('EPP_NAME'), os.environ.get('EPP_PASSWORD'), extra_ext_uris=extra_ext_uris) cmd = EppInfoDomainCommand(extra_nsmap=extra_nsmap) cmd.name = domain_name resp = client.send(cmd, extra_nsmap=extra_nsmap) if resp.ok: return {'domain': domain_name, 'exp_date': resp.resData['domain:infData']['exDate']} else: return {'domain': domain_name}, 404 api.add_resource(Domain, '/domain/')