Changeset a97394b for fedd/fedd.py
- Timestamp:
- Oct 7, 2008 11:03:50 AM (16 years ago)
- Branches:
- axis_example, compt_changes, info-ops, master, version-1.30, version-2.00, version-3.01, version-3.02
- Children:
- 8ecfbad
- Parents:
- eee2b2e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/fedd.py
reee2b2e ra97394b 17 17 from fedd_deter_impl import new_feddservice 18 18 from service_error import * 19 20 from threading import * 19 21 20 22 # The SSL server here is based on the implementation described at … … 166 168 version="0.1") 167 169 168 self.set_defaults(host="localhost", port=23235, 169 transport="soap",debug=0)170 self.set_defaults(host="localhost", port=23235, transport="soap", 171 debug=0) 170 172 171 173 self.add_option("-d", "--debug", action="count", dest="debug", … … 177 179 self.add_option("-p", "--port", action="store", type="int", 178 180 dest="port", help="Port to listen on (default %default)") 181 self.add_option("-s", "--service", action="append", type="string", 182 dest="services", 183 help="Service description: host:port:transport") 179 184 self.add_option("-x","--transport", action="store", type="choice", 180 185 choices=("xmlrpc", "soap"), … … 182 187 self.add_option("--trace", action="store_const", dest="tracefile", 183 188 const=sys.stderr, help="Print SOAP exchange to stderr") 189 190 def run_server(s): 191 if s: s.serve_forever() 192 193 services = [ ] 194 servers = [ ] 184 195 185 196 opts, args = fedd_opts().parse_args() … … 209 220 raise 210 221 211 if opts.transport == "soap": 212 s = fedd_server(SOAP_port, fedd_soap_handler, ctx, impl) 213 elif opts.transport == "xmlrpc": 214 s = fedd_server(SOAP_port, fedd_xmlrpc_handler, ctx, impl) 222 if opts.services: 223 for s in opts.services: 224 h, p, t = s.split(':') 225 226 if not h: h = opts.host 227 if not p: p = opts.port 228 if not t: h = opts.transport 229 230 p = int(p) 231 232 services.append((t, (h, p))) 215 233 else: 216 s = None 217 218 s.serve_forever() 234 services.append((opts.transport, (opts.host, opts.port))) 235 236 for s in services: 237 if s[0] == "soap": 238 servers.append(fedd_server(s[1], fedd_soap_handler, ctx, impl)) 239 elif s[0] == "xmlrpc": 240 servers.append(fedd_server(s[1], fedd_xmlrpc_handler, ctx, impl)) 241 else: print >>sys.stderr, "Unknown transport: %s" % s[0] 242 243 for s in servers: 244 t = Thread(target=run_server, args=(s,)) 245 t.start()
Note: See TracChangeset
for help on using the changeset viewer.