from uuid import uuid4 from xmlrpc.server import SimpleXMLRPCServer import logging import os import requests.graphql from pygost import gost34112012256 # Expose a function def list_contents(dir_name): logging.debug('list_contents(%s)', dir_name) return os.listdir(dir_name) def aud_add(message): logging.debug(message) return 'OK' def auth_response(challenge, server_id, is_server): logging.debug(challenge) logging.debug(server_id) logging.debug(is_server) msg = '%s%s%s' % (challenge, server_id, '12345678') response = gost34112012256.new(msg.encode('utf-8')).digest().hex() return {'error': False, 'response': response} def auth_challenge(): logging.debug('get challenge') return uuid4().hex def main(): logging.basicConfig(level=logging.DEBUG) server = SimpleXMLRPCServer(('0.0.0.0', 9000), logRequests=True) server.register_function(list_contents) server.register_function(aud_add) server.register_function(auth_response) server.register_function(auth_challenge) try: print('Use Control-C to exit') server.serve_forever() except KeyboardInterrupt: print('Exiting') def test(): print(requests.graphql.get_classifier()) # print(requests.graphql.get_catalog()) if __name__ == '__main__': main() #test()