
This is free software protected under the GPL license.
Enjoy :)

executing script  

dict = callService("foo", {})
print dict



{'anOutput': <WIDLDocObject.widlDocObject instance at 8140e60>}
         8937 function calls (8903 primitive calls) in 105.080 CPU seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.000    0.000 APIService.py:117(test_conditions)
        1    0.010    0.010    0.430    0.430 APIService.py:150(evaluate_variables)
        1    0.010    0.010    0.500    0.500 APIService.py:169(execOutput)
        1    0.020    0.020    9.380    9.380 APIService.py:191(execute)
        1    0.000    0.000    0.010    0.010 APIService.py:52(get_service)
        2    0.010    0.005    0.130    0.065 APIService.py:62(get_binding)
        1    0.000    0.000    0.020    0.020 APIService.py:70(get_input_variables)
        1    0.000    0.000    8.840    8.840 APIService.py:83(execInput)
        1    0.000    0.000    0.000    0.000 APIService.py:99(filter_doc)
        1    0.010    0.010    0.010    0.010 StringIO.py:31(StringIO)
        1    0.000    0.000    0.000    0.000 StringIO.py:32(__init__)
        1    0.000    0.000    0.000    0.000 StringIO.py:39(close)
        1    0.000    0.000    0.000    0.000 StringIO.py:67(readline)
        1    0.000    0.000    0.000    0.000 UserDict.py:20(items)
        3    0.000    0.000    0.000    0.000 UserDict.py:22(has_key)
        1    0.000    0.000    0.000    0.000 WIDLDocObject.py:100(widlDocObject)
      141    0.200    0.001    0.300    0.002 WIDLDocObject.py:101(__init__)
    33/19    0.210    0.006    1.380    0.073 WIDLDocObject.py:141(add)
       18    0.020    0.001    0.380    0.021 WIDLDocObject.py:162(do_add)
        1    0.000    0.000    0.000    0.000 WIDLDocObject.py:17(widlDocElement)
      147    0.110    0.001    0.110    0.001 WIDLDocObject.py:18(__init__)
        1    0.000    0.000    0.000    0.000 WIDLDocObject.py:188(DocClient)
        2    0.000    0.000    0.020    0.010 WIDLDocObject.py:189(__init__)
       26    0.220    0.008    1.200    0.046 WIDLDocObject.py:20(setup)
        2    0.000    0.000    0.000    0.000 WIDLDocObject.py:210(getGrove)
       38    0.160    0.004    5.490    0.144 WIDLDocObject.py:213(add)
        8    0.080    0.010    1.950    0.244 WIDLDocObject.py:219(nonEmptyTag)
        8    0.030    0.004    0.070    0.009 WIDLDocObject.py:235(endTag)
        6    0.010    0.002    3.100    0.517 WIDLDocObject.py:241(emptyTag)
       24    0.090    0.004    0.720    0.030 WIDLDocObject.py:247(text)
        1    0.000    0.000    0.000    0.000 WIDLDocObject.py:36(widlDocArray)
       44    0.050    0.001    0.050    0.001 WIDLDocObject.py:37(__init__)
        3    0.000    0.000    0.000    0.000 WIDLDocObject.py:39(length)
        7    0.030    0.004    0.340    0.049 WIDLDocObject.py:41(append)
        3    0.010    0.003    0.060    0.020 WIDLDocObject.py:47(test)
        2    0.010    0.005    0.120    0.060 WIDLDocObject.py:54(__call__)
        9    0.040    0.004    0.570    0.063 WIDLDocObject.py:60(fixup)
        9    0.000    0.000    0.000    0.000 WIDLDocObject.py:61(make_list)
        9    0.000    0.000    0.000    0.000 WIDLDocObject.py:62(__init__)
     15/9    0.170    0.011    0.330    0.037 WIDLDocObject.py:64(for_each)
        9    0.020    0.002    0.200    0.022 WIDLDocObject.py:75(fixup)
        8    0.010    0.001    0.530    0.066 WIDLDocObject.py:83(__getitem__)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:106(script)
       13    0.010    0.001    0.070    0.005 WIDLElements.py:107(__init__)
        1    0.000    0.000    0.040    0.040 WIDLElements.py:109(setup)
        1    0.010    0.010    0.010    0.010 WIDLElements.py:112(getlanguage)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:118(widl)
       13    0.020    0.002    0.080    0.006 WIDLElements.py:119(__init__)
        2    0.010    0.005    0.280    0.140 WIDLElements.py:121(setup)
        1    0.020    0.020    9.410    9.410 WIDLElements.py:130(callService)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:134(getbaseurl)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:142(service)
       13    0.000    0.000    0.080    0.006 WIDLElements.py:143(__init__)
        2    0.030    0.015    1.140    0.570 WIDLElements.py:145(setup)
       13    0.240    0.018    3.350    0.258 WIDLElements.py:15(createElement)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:156(getmethod)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:158(gettimeout)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:160(getretries)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:162(geturl)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:168(getinput)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:170(getoutput)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:172(getname)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:178(binding)
       13    0.020    0.002    0.100    0.008 WIDLElements.py:179(__init__)
        4    0.000    0.000    0.290    0.073 WIDLElements.py:181(setup)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:189(variable)
       13    0.030    0.002    0.040    0.003 WIDLElements.py:190(__init__)
        4    0.050    0.013    0.660    0.165 WIDLElements.py:192(setup)
        2    0.000    0.000    0.000    0.000 WIDLElements.py:204(getvalue)
        3    0.000    0.000    0.000    0.000 WIDLElements.py:208(getname)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:210(getformname)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:212(getreference)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:216(condition)
       13    0.030    0.002    0.060    0.005 WIDLElements.py:217(__init__)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:239(region)
       13    0.020    0.002    0.040    0.003 WIDLElements.py:240(__init__)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:33(array)
        6    0.010    0.002    0.030    0.005 WIDLElements.py:34(__init__)
        7    0.030    0.004    1.760    0.251 WIDLElements.py:36(append)
        1    0.000    0.000    0.000    0.000 WIDLElements.py:45(widlEntity)
       92    0.130    0.001    0.340    0.004 WIDLElements.py:46(__init__)
    33/19    0.080    0.002    3.910    0.206 WIDLElements.py:52(add)
       18    0.060    0.003    1.900    0.106 WIDLElements.py:68(do_add)
       12    0.040    0.003    0.270    0.023 WIDLElements.py:87(required_param)
       57    0.120    0.002    1.520    0.027 WIDLElements.py:96(optional_param)
        1    0.010    0.010    0.010    0.010 WIDLProcessor.py:19(widlDocClient)
        1    0.010    0.010    0.020    0.020 WIDLProcessor.py:20(__init__)
        1    0.000    0.000    9.480    9.480 WIDLProcessor.py:24(callScript)
        1    0.000    0.000   20.710   20.710 WIDLProcessor.py:47(execute)
        2    0.000    0.000    0.000    0.000 XMLClient.py:100(comment)
        2    0.000    0.000    0.000    0.000 XMLClient.py:102(endfile)
        1    0.000    0.000    0.000    0.000 XMLClient.py:109(htmlClientBase)
        1    0.000    0.000    0.000    0.000 XMLClient.py:137(XPointerClient)
        1    0.000    0.000    0.000    0.000 XMLClient.py:22(ClientBase)
        2    0.000    0.000    0.000    0.000 XMLClient.py:23(__init__)
       38    0.040    0.001    0.040    0.001 XMLClient.py:34(getStack)
       50    0.050    0.001    0.050    0.001 XMLClient.py:40(abortProcess)
       50    0.130    0.003    0.220    0.004 XMLClient.py:53(_doCanProcess)
       50    0.040    0.001    0.260    0.005 XMLClient.py:63(canProcess)
       24    0.020    0.001    0.020    0.001 XMLClient.py:75(text)
        2    0.000    0.000    0.000    0.000 XMLClient.py:81(pi)
        6    0.010    0.002    0.010    0.002 XMLClient.py:83(emptyTag)
        8    0.030    0.004    0.030    0.004 XMLClient.py:85(nonEmptyTag)
        8    0.000    0.000    0.000    0.000 XMLClient.py:87(endTag)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:100(move_production)
       52    0.090    0.002    1.570    0.030 XMLFactory.py:105(push)
     1258    1.470    0.001    1.470    0.001 XMLFactory.py:110(check_for_comment)
        2    1.720    0.860    4.760    2.380 XMLFactory.py:119(feed)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:142(Attribute)
      635    0.470    0.001    0.470    0.001 XMLFactory.py:143(__init__)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:159(Number)
       34    0.070    0.002    0.100    0.003 XMLFactory.py:160(__init__)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:188(Symbol)
      188    0.370    0.002    0.530    0.003 XMLFactory.py:189(__init__)
      164    0.360    0.002    0.360    0.002 XMLFactory.py:191(process)
      195    0.260    0.001    0.260    0.001 XMLFactory.py:202(value)
       48    0.070    0.001    0.160    0.003 XMLFactory.py:205(new)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:212(Literal)
       40    0.130    0.003    0.150    0.004 XMLFactory.py:213(__init__)
       36    0.060    0.002    0.060    0.002 XMLFactory.py:215(process)
       32    0.020    0.001    0.020    0.001 XMLFactory.py:240(value)
        4    0.000    0.000    0.030    0.008 XMLFactory.py:242(new)
       24    0.160    0.007    3.150    0.131 XMLFactory.py:247(make_attributes)
       24    0.000    0.000    0.000    0.000 XMLFactory.py:248(A)
       24    0.010    0.000    0.010    0.000 XMLFactory.py:249(__init__)
       82    0.440    0.005    2.870    0.035 XMLFactory.py:251(match)
       24    0.110    0.005    2.980    0.124 XMLFactory.py:263(do)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:277(Association)
      373    0.860    0.002    1.120    0.003 XMLFactory.py:278(__init__)
       72    0.160    0.002    0.160    0.002 XMLFactory.py:28(inside_frame)
       82    0.600    0.007    1.620    0.020 XMLFactory.py:280(process)
      267    0.250    0.001    0.250    0.001 XMLFactory.py:309(typeOf)
       73    0.040    0.001    0.040    0.001 XMLFactory.py:311(value)
      267    0.390    0.001    0.390    0.001 XMLFactory.py:313(nameOf)
       82    0.150    0.002    0.430    0.005 XMLFactory.py:315(new)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:322(Expr)
      116    0.180    0.002    0.180    0.002 XMLFactory.py:36(skip_space)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:371(entity)
      556    0.400    0.001    0.400    0.001 XMLFactory.py:372(__init__)
      159    0.250    0.002    0.480    0.003 XMLFactory.py:376(nameOf)
      141    0.160    0.001    0.160    0.001 XMLFactory.py:381(value)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:390(CDATA)
       50    0.140    0.003    0.170    0.003 XMLFactory.py:391(__init__)
       22    0.100    0.005    0.230    0.010 XMLFactory.py:393(process)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:406(rawText)
       76    0.110    0.001    0.140    0.002 XMLFactory.py:407(__init__)
       50    0.160    0.003    0.200    0.004 XMLFactory.py:409(process)
       46    0.070    0.002    0.070    0.002 XMLFactory.py:414(nameOf)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:416(value)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:420(comment)
       50    0.100    0.002    0.120    0.002 XMLFactory.py:421(__init__)
       26    0.170    0.007    0.240    0.009 XMLFactory.py:423(process)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:430(nameOf)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:437(dtd)
       50    0.150    0.003    0.180    0.004 XMLFactory.py:438(__init__)
       22    0.070    0.003    0.120    0.005 XMLFactory.py:440(process)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:459(pi)
       50    0.140    0.003    0.190    0.004 XMLFactory.py:460(__init__)
       24    0.120    0.005    0.450    0.019 XMLFactory.py:462(process)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:471(XPointer)
      166    0.260    0.002    0.410    0.002 XMLFactory.py:472(__init__)
      166    0.480    0.003    0.790    0.005 XMLFactory.py:495(process)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:508(tag)
      114    0.190    0.002    0.280    0.002 XMLFactory.py:509(__init__)
       22    0.130    0.006    3.320    0.151 XMLFactory.py:512(process)
       22    0.010    0.000    0.010    0.000 XMLFactory.py:532(emptyTag)
       16    0.020    0.001    0.020    0.001 XMLFactory.py:534(endTag)
      141    1.610    0.011    3.210    0.023 XMLFactory.py:536(__getitem__)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:54(production)
       50    0.380    0.008    1.320    0.026 XMLFactory.py:55(translate)
       51    0.160    0.003    1.260    0.025 XMLFactory.py:568(has_key)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:572(setText)
       26    0.010    0.000    0.010    0.000 XMLFactory.py:574(getText)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:594(XMLFactory)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:595(__init__)
       24    0.030    0.001    0.750    0.031 XMLFactory.py:601(handle_rawText)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:603(handle_pi)
       22    0.060    0.003    5.210    0.237 XMLFactory.py:607(handle_tag)
       50    0.090    0.002    0.090    0.002 XMLFactory.py:61(eval_ascii)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:615(handle_comment)
        2    0.020    0.010    0.020    0.010 XMLFactory.py:619(endfile)
        2    0.200    0.100   18.970    9.485 XMLFactory.py:621(feed)
       50    1.070    0.021   13.960    0.279 XMLFactory.py:625(match)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:670(XMLProcessor)
       50    0.160    0.003    1.480    0.030 XMLFactory.py:74(__init__)
      332    0.290    0.001    0.290    0.001 XMLFactory.py:80(istag)
      326    0.340    0.001    0.340    0.001 XMLFactory.py:83(raw)
        1    0.000    0.000    0.000    0.000 XMLFactory.py:92(XMLScanner)
        2    0.000    0.000    0.000    0.000 XMLFactory.py:93(__init__)
        2    0.000    0.000    0.000    0.000 XMLProcessor.py:10(__init__)
        2    0.090    0.045   19.810    9.905 XMLProcessor.py:16(run)
        1    0.000    0.000    0.000    0.000 XMLProcessor.py:50(XPointerProcessor)
        1    0.000    0.000    0.000    0.000 XMLProcessor.py:9(XMLProcessor)
        7    0.010    0.001    0.010    0.001 exceptions.py:50(__init__)
        1    0.000    0.000    0.000    0.000 httplib.py:107(endheaders)
        1    0.010    0.010    0.080    0.080 httplib.py:111(getreply)
        1    0.010    0.010    0.010    0.010 httplib.py:136(getfile)
        1    0.000    0.000    0.000    0.000 httplib.py:38(HTTP)
        1    0.000    0.000    0.020    0.020 httplib.py:41(__init__)
        1    0.020    0.020    0.020    0.020 httplib.py:62(connect)
        4    0.010    0.003    0.010    0.003 httplib.py:81(send)
        1    0.000    0.000    0.000    0.000 httplib.py:86(putrequest)
        2    0.000    0.000    0.010    0.005 httplib.py:98(putheader)
        1    0.000    0.000    0.000    0.000 mimetools.py:13(Message)
        2    0.020    0.010    0.120    0.060 mimetools.py:15(__init__)
        2    0.010    0.005    0.010    0.005 mimetools.py:24(parsetype)
        2    0.010    0.005    0.010    0.005 mimetools.py:41(parseplist)
        1    0.000    0.000    0.000    0.000 posixpath.py:146(exists)
        2    0.000    0.000    0.000    0.000 posixpath.py:39(join)
        1   83.920   83.920  105.080  105.080 profile:0(execfile('WIDLProcessor.py'))
        0    0.000             0.000          profile:0(profiler)
        1    0.000    0.000    0.010    0.010 python:0(558.C.1)
        1    0.080    0.080   21.090   21.090 python:0(558.C.10)
        1    0.000    0.000    0.010    0.010 python:0(558.C.11)
        1    0.090    0.090    0.110    0.110 python:0(558.C.12)
        1    0.010    0.010    0.010    0.010 python:0(558.C.13)
        1    0.000    0.000    0.010    0.010 python:0(558.C.14)
        1    0.000    0.000    0.000    0.000 python:0(558.C.15)
        1    0.010    0.010    0.010    0.010 python:0(558.C.16)
        1    0.010    0.010    0.010    0.010 python:0(558.C.17)
        1    0.010    0.010    0.010    0.010 python:0(558.C.18)
        1    0.010    0.010    0.010    0.010 python:0(558.C.19)
        1    0.080    0.080    0.090    0.090 python:0(558.C.2)
        1    0.010    0.010    0.010    0.010 python:0(558.C.3)
        1    0.140    0.140    0.240    0.240 python:0(558.C.4)
        1    0.010    0.010    9.420    9.420 python:0(558.C.5)
        1    0.010    0.010    0.400    0.400 python:0(558.C.6)
        1    0.090    0.090    0.090    0.090 python:0(558.C.7)
        1    0.050    0.050    0.290    0.290 python:0(558.C.8)
        1    0.070    0.070   21.160   21.160 python:0(558.C.9)
        1    0.020    0.020    0.030    0.030 query.py:115(decrypt)
        1    0.040    0.040    8.750    8.750 query.py:128(query)
        1    0.020    0.020    8.670    8.670 query.py:23(getUrlDoc)
        1    0.010    0.010    8.680    8.680 query.py:34(send_query)
        7    0.000    0.000    0.000    0.000 re.py:108(match)
        1    0.000    0.000    0.000    0.000 re.py:224(MatchObject)
        3    0.000    0.000    0.000    0.000 re.py:225(__init__)
        3    0.010    0.003    0.010    0.003 re.py:268(group)
        3    0.000    0.000    0.010    0.003 re.py:73(compile)
        1    0.010    0.010    0.010    0.010 re.py:84(RegexObject)
        3    0.010    0.003    0.010    0.003 re.py:85(__init__)
      201    0.330    0.002    0.330    0.002 regsub.py:122(compile)
      201    0.530    0.003    0.860    0.004 regsub.py:32(gsub)
        7    0.010    0.001    0.010    0.001 rfc822.py:139(islast)
        4    0.020    0.005    0.030    0.008 rfc822.py:211(getheader)
        1    0.000    0.000    0.000    0.000 rfc822.py:346(AddrlistClass)
        1    0.010    0.010    0.010    0.010 rfc822.py:48(Message)
        2    0.000    0.000    0.050    0.025 rfc822.py:51(__init__)
        2    0.040    0.020    0.050    0.025 rfc822.py:78(readheaders)
        1    0.020    0.020    0.020    0.020 tempfile.py:19(gettempdir)
        2    0.010    0.005    0.010    0.005 tempfile.py:59(gettempprefix)
        1    0.000    0.000    0.030    0.030 tempfile.py:80(mktemp)
        1    0.000    0.000    0.000    0.000 tempfile.py:91(TemporaryFileWrapper)
        1    0.010    0.010    0.230    0.230 urllib.py:135(open)
        2    0.040    0.020    0.620    0.310 urllib.py:170(retrieve)
        1    0.060    0.060    0.220    0.220 urllib.py:210(open_http)
        1    0.000    0.000    0.250    0.250 urllib.py:299(open_local_file)
        1    0.000    0.000    0.000    0.000 urllib.py:360(FancyURLopener)
        1    0.010    0.010    0.020    0.020 urllib.py:362(__init__)
        2    0.000    0.000    0.000    0.000 urllib.py:40(url2pathname)
        1    0.070    0.070    0.240    0.240 urllib.py:475(noheaders)
        1    0.000    0.000    0.000    0.000 urllib.py:488(ftpwrapper)
        1    0.000    0.000    0.000    0.000 urllib.py:555(addbase)
        2    0.000    0.000    0.000    0.000 urllib.py:556(__init__)
        1    0.010    0.010    0.010    0.010 urllib.py:565(close)
        1    0.000    0.000    0.000    0.000 urllib.py:574(addclosehook)
        1    0.000    0.000    0.000    0.000 urllib.py:587(addinfo)
        1    0.000    0.000    0.000    0.000 urllib.py:595(addinfourl)
        2    0.020    0.010    0.020    0.010 urllib.py:596(__init__)
        1    0.000    0.000    0.000    0.000 urllib.py:600(info)
        2    0.000    0.000    0.640    0.320 urllib.py:62(urlretrieve)
        3    0.000    0.000    0.000    0.000 urllib.py:679(unwrap)
        3    0.050    0.017    0.060    0.020 urllib.py:687(splittype)
        3    0.000    0.000    0.010    0.003 urllib.py:700(splithost)
        1    0.000    0.000    0.010    0.010 urllib.py:711(splituser)
        1    0.000    0.000    0.000    0.000 urllib.py:82(URLopener)
        1    0.010    0.010    0.010    0.010 urllib.py:854(getproxies)
        1    0.000    0.000    0.010    0.010 urllib.py:87(__init__)


