chiark / gitweb /
Merge branch 'permission-parsing' into 'master'
[fdroidserver.git] / .pylint-plugins / astng_hashlib.py
1 #
2 # started from http://www.logilab.org/blogentry/78354
3 #
4
5 from logilab.astng import MANAGER
6 from logilab.astng.builder import ASTNGBuilder
7
8 def hashlib_transform(module):
9     if module.name == 'hashlib':
10         fake = ASTNGBuilder(MANAGER).string_build('''
11
12 class fakehash(object):
13   digest_size = -1
14   def __init__(self, value): pass
15   def digest(self):
16     return u''
17   def hexdigest(self):
18     return u''
19   def update(self, value): pass
20
21 class md5(fakehash):
22   pass
23
24 class sha1(fakehash):
25   pass
26
27 class sha256(fakehash):
28   pass
29
30 ''')
31         for hashfunc in ('sha256', 'sha1', 'md5'):
32             module.locals[hashfunc] = fake.locals[hashfunc]
33
34 def register(linter):
35     """called when loaded by pylint --load-plugins, register our tranformation
36     function here
37     """
38     MANAGER.register_transformer(hashlib_transform)
39