Home | Trees | Indices | Help |
---|
|
1 # -*- encoding: utf-8 -*- 2 ############################################################################## 3 # 4 # ETL system- Extract Transfer Load system 5 # Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved 6 # $Id$ 7 # 8 # This program is free software: you can redistribute it and/or modify 9 # it under the terms of the GNU General Public License as published by 10 # the Free Software Foundation, either version 3 of the License, or 11 # (at your option) any later version. 12 # 13 # This program is distributed in the hope that it will be useful, 14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 # GNU General Public License for more details. 17 # 18 # You should have received a copy of the GNU General Public License 19 # along with this program. If not, see <http://www.gnu.org/licenses/>. 20 # 21 ############################################################################## 22 """ 23 To provide connectivity with XMLRPC Server. 24 25 Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). 26 GNU General Public License. 27 """ 28 import threading 29 import xmlrpclib 30 31 from etl.connector import connector 32 from SimpleXMLRPCServer import SimpleXMLRPCServer 33 from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler 3436 _register_functions = [] 376439 if not self._register_functions: 40 self._register_functions = [] 41 if isinstance(funs,list): 42 self._register_functions += funs 43 else: 44 self._register_functions.append(funs)4547 return self._register_functions4850 server = SimpleXMLRPCServer((self.host, self.port)) 51 server.register_introspection_functions() 52 for fun in self.get_register_functions(): 53 server.register_function(self.import_data) 54 #To do create instance of method 55 #server.register_function(fun) 56 server.serve_forever() 57 return server5860 if self.transformer: 61 row = self.transformer.transform(datas) 62 for d in datas: 63 yield d, 'main'66 """ 67 This is an ETL connector that provides connectivity with xmlrpc server. 68 """ 699771 """ 72 Initializes the parameters required to connect to xmlrpc server. 73 """ 74 super(xmlrpc_connector, self).__init__(name) 75 self._type = 'connector.xmlrpc_connector' 76 self.host = host 77 self.port = port78 7981 xml_server = xmlrpc_server_thread() 82 xml_server.host = self.host 83 xml_server.port = self.port 84 xml_server.register_functions(funs) 85 server = xml_server.start()86 9092 """ 93 Overrides copy method. 94 """ 95 res = xmlrpc_connector(self.host, self.port) 96 return res99 """ 100 Test function. 101 """ 102 #TODO 103 from etl_test import etl_test 104 import etl 105 xmlrpc_conn=xmlrpc_connector('localhost',8050) 106 conn = xmlrpc_conn.start('import_data') 107 test = etl_test.etl_component_test(etl.component.input.xmlrpc_in( etl.component.input.xmlrpc_in(xmlrpc_conn))) 108 res=test.output() 109 print res110 111 if __name__ == '__main__': 112 test() 113
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0beta1 on Wed Apr 29 20:27:03 2009 | http://epydoc.sourceforge.net |