MCPcopy
hub / github.com/pyload/pyload / main

Function main

module/remote/socketbackend/create_ttypes.py:18–88  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

16
17
18def main():
19
20 enums = []
21 classes = []
22
23 print "generating lightweight ttypes.py"
24
25 for name in dir(ttypes):
26 klass = getattr(ttypes, name)
27
28 if name in ("TBase", "TExceptionBase") or name.startswith("_") or not (issubclass(klass, ttypes.TBase) or issubclass(klass, ttypes.TExceptionBase)):
29 continue
30
31 if hasattr(klass, "thrift_spec"):
32 classes.append(klass)
33 else:
34 enums.append(klass)
35
36
37 f = open(join(path, "ttypes.py"), "wb")
38
39 f.write(
40 """#!/usr/bin/env python
41# -*- coding: utf-8 -*-
42# Autogenerated by pyload
43# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
44
45class BaseObject(object):
46\t__slots__ = []
47
48""")
49
50 ## generate enums
51 for enum in enums:
52 name = enum.__name__
53 f.write("class %s:\n" % name)
54
55 for attr in dir(enum):
56 if attr.startswith("_") or attr in ("read", "write"): continue
57
58 f.write("\t%s = %s\n" % (attr, getattr(enum, attr)))
59
60 f.write("\n")
61
62 for klass in classes:
63 name = klass.__name__
64 base = "Exception" if issubclass(klass, ttypes.TExceptionBase) else "BaseObject"
65 f.write("class %s(%s):\n" % (name, base))
66 f.write("\t__slots__ = %s\n\n" % klass.__slots__)
67
68 #create init
69 args = ["self"] + ["%s=None" % x for x in klass.__slots__]
70
71 f.write("\tdef __init__(%s):\n" % ", ".join(args))
72 for attr in klass.__slots__:
73 f.write("\t\tself.%s = %s\n" % (attr, attr))
74
75 f.write("\n")

Callers 2

thriftFunction · 0.90
create_ttypes.pyFile · 0.70

Calls 4

joinMethod · 0.80
appendMethod · 0.45
writeMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected