|
@@ -20,15 +20,42 @@ p=print
|
20
|
20
|
|
21
|
21
|
async def anop(*a,**kw):pass
|
22
|
22
|
def nop(*a,**kw):pass
|
23
|
|
-
|
|
23
|
+class Edict(dict):pass
|
|
24
|
+class Eobj():pass
|
24
|
25
|
def connect_redis():
|
25
|
26
|
return redis.Redis(host='localhost', port=6379, db=0,charset="utf-8", decode_responses=True, encoding_errors="backslashreplace")
|
26
|
27
|
|
27
|
28
|
|
|
29
|
+
|
|
30
|
+def eclass_factory(n):
|
|
31
|
+ ret = []
|
|
32
|
+ for k in range(n):
|
|
33
|
+ class nx:pass
|
|
34
|
+ # _rcls_name
|
|
35
|
+ ret.append(nx)
|
|
36
|
+ return ret
|
|
37
|
+
|
|
38
|
+
|
28
|
39
|
'''
|
29
|
40
|
# '''
|
30
|
41
|
|
31
|
42
|
|
|
43
|
+class DevMixin(*eclass_factory(10)):pass
|
|
44
|
+class DevMroMixin(*eclass_factory(10)):pass
|
|
45
|
+class WSStoMixin(*eclass_factory(10)):pass
|
|
46
|
+class GCLMixin(*eclass_factory(10)):pass
|
|
47
|
+class RldManMixin(*eclass_factory(10)):pass
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+Mixins = Eobj()
|
|
51
|
+Mixins.DevMixin = DevMixin
|
|
52
|
+Mixins.DevMroMixin = DevMroMixin
|
|
53
|
+Mixins.WSStoMixin = WSStoMixin
|
|
54
|
+Mixins.GCLMixin = GCLMixin
|
|
55
|
+Mixins.RldManMixin = RldManMixin
|
|
56
|
+Mixins.DbgMixin = DbgMixin
|
|
57
|
+Mixins.AconMixin = AconMixin
|
|
58
|
+
|
32
|
59
|
def callable_helper(fn):
|
33
|
60
|
ret = {
|
34
|
61
|
"is_callable":0,
|