OLD | NEW |
| 1 |
1 """Astroid hooks for the Python 2 standard library. | 2 """Astroid hooks for the Python 2 standard library. |
2 | 3 |
3 Currently help understanding of : | 4 Currently help understanding of : |
4 | 5 |
5 * hashlib.md5 and hashlib.sha1 | 6 * hashlib.md5 and hashlib.sha1 |
6 """ | 7 """ |
7 | 8 |
8 import sys | 9 import sys |
| 10 from functools import partial |
9 from textwrap import dedent | 11 from textwrap import dedent |
10 | 12 |
11 from astroid import ( | 13 from astroid import ( |
12 MANAGER, AsStringRegexpPredicate, | 14 MANAGER, AsStringRegexpPredicate, |
13 UseInferenceDefault, inference_tip, | 15 UseInferenceDefault, inference_tip, |
14 YES, InferenceError, register_module_extender) | 16 YES, InferenceError, register_module_extender) |
15 from astroid import exceptions | 17 from astroid import exceptions |
16 from astroid import nodes | 18 from astroid import nodes |
17 from astroid.builder import AstroidBuilder | 19 from astroid.builder import AstroidBuilder |
18 | 20 |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 def digest(self): | 99 def digest(self): |
98 return %(digest)s | 100 return %(digest)s |
99 def copy(self): | 101 def copy(self): |
100 return self | 102 return self |
101 def update(self, value): pass | 103 def update(self, value): pass |
102 def hexdigest(self): | 104 def hexdigest(self): |
103 return '' | 105 return '' |
104 @property | 106 @property |
105 def name(self): | 107 def name(self): |
106 return %(name)r | 108 return %(name)r |
| 109 @property |
| 110 def block_size(self): |
| 111 return 1 |
| 112 @property |
| 113 def digest_size(self): |
| 114 return 1 |
107 ''' | 115 ''' |
108 algorithms = ('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512') | 116 algorithms = ('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512') |
109 classes = "".join( | 117 classes = "".join( |
110 template % {'name': hashfunc, 'digest': 'b""' if PY3K else '""'} | 118 template % {'name': hashfunc, 'digest': 'b""' if PY3K else '""'} |
111 for hashfunc in algorithms) | 119 for hashfunc in algorithms) |
112 return AstroidBuilder(MANAGER).string_build(classes) | 120 return AstroidBuilder(MANAGER).string_build(classes) |
113 | 121 |
114 | 122 |
115 def collections_transform(): | 123 def collections_transform(): |
116 return AstroidBuilder(MANAGER).string_build(''' | 124 return AstroidBuilder(MANAGER).string_build(''' |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 return node | 323 return node |
316 | 324 |
317 | 325 |
318 MANAGER.register_transform(nodes.CallFunc, inference_tip(infer_named_tuple), | 326 MANAGER.register_transform(nodes.CallFunc, inference_tip(infer_named_tuple), |
319 looks_like_namedtuple) | 327 looks_like_namedtuple) |
320 MANAGER.register_transform(nodes.CallFunc, inference_tip(infer_enum), | 328 MANAGER.register_transform(nodes.CallFunc, inference_tip(infer_enum), |
321 AsStringRegexpPredicate('Enum', 'func')) | 329 AsStringRegexpPredicate('Enum', 'func')) |
322 MANAGER.register_transform(nodes.Class, infer_enum_class) | 330 MANAGER.register_transform(nodes.Class, infer_enum_class) |
323 register_module_extender(MANAGER, 'hashlib', hashlib_transform) | 331 register_module_extender(MANAGER, 'hashlib', hashlib_transform) |
324 register_module_extender(MANAGER, 'collections', collections_transform) | 332 register_module_extender(MANAGER, 'collections', collections_transform) |
325 register_module_extender(MANAGER, 'pkg_resourcds', pkg_resources_transform) | 333 register_module_extender(MANAGER, 'pkg_resources', pkg_resources_transform) |
326 register_module_extender(MANAGER, 'subprocess', subprocess_transform) | 334 register_module_extender(MANAGER, 'subprocess', subprocess_transform) |
OLD | NEW |