--- /dev/null
+#
+# started from http://www.logilab.org/blogentry/78354
+#
+
+from logilab.astng import MANAGER
+from logilab.astng.builder import ASTNGBuilder
+
+def hashlib_transform(module):
+ if module.name == 'hashlib':
+ fake = ASTNGBuilder(MANAGER).string_build('''
+
+class fakehash(object):
+ digest_size = -1
+ def __init__(self, value): pass
+ def digest(self):
+ return u''
+ def hexdigest(self):
+ return u''
+ def update(self, value): pass
+
+class md5(fakehash):
+ pass
+
+class sha1(fakehash):
+ pass
+
+class sha256(fakehash):
+ pass
+
+''')
+ for hashfunc in ('sha256', 'sha1', 'md5'):
+ module.locals[hashfunc] = fake.locals[hashfunc]
+
+def register(linter):
+ """called when loaded by pylint --load-plugins, register our tranformation
+ function here
+ """
+ MANAGER.register_transformer(hashlib_transform)
+
cd $WORKSPACE
set +e
-# disable E1101 until there is a plugin to handle this properly:
-# Module 'sys' has no '_MEIPASS' member
-# disable F0401 until there is a plugin to handle this properly:
-# keysync-gui:25: [F] Unable to import 'ordereddict'
# use the virtualenv python so pylint checks against its installed libs
-python /usr/bin/pylint --output-format=parseable --reports=n \
- fdroidserver/*.py fdroid makebuildserver setup.py > $WORKSPACE/pylint.parseable
+ PYTHONPATH=$WORKSPACE/.pylint-plugins python /usr/bin/pylint \
+ --output-format=parseable --reports=n \
+ --load-plugins astng_hashlib \
+ fdroidserver/*.py fdroid makebuildserver setup.py > $WORKSPACE/pylint.parseable
# to only tell jenkins there was an error if we got ERROR or FATAL, uncomment these:
[ $(($? & 1)) = "1" ] && echo "FATALs found"