Mercurial > repos > sanbi-uwc > vcf_to_alignment
annotate pyqver2.py @ 2:a0c85f2d74a5 draft
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
author | sanbi-uwc |
---|---|
date | Wed, 01 Feb 2017 08:45:12 -0500 |
parents | |
children |
rev | line source |
---|---|
2
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
1 #!/usr/bin/env python |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
2 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
3 import compiler |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
4 import platform |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
5 import sys |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
6 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
7 StandardModules = { |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
8 "__future__": (2, 1), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
9 "abc": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
10 "argparse": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
11 "ast": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
12 "atexit": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
13 "bz2": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
14 "cgitb": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
15 "collections": (2, 4), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
16 "contextlib": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
17 "cookielib": (2, 4), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
18 "cProfile": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
19 "csv": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
20 "ctypes": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
21 "datetime": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
22 "decimal": (2, 4), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
23 "difflib": (2, 1), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
24 "DocXMLRPCServer": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
25 "dummy_thread": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
26 "dummy_threading": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
27 "email": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
28 "fractions": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
29 "functools": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
30 "future_builtins": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
31 "hashlib": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
32 "heapq": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
33 "hmac": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
34 "hotshot": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
35 "HTMLParser": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
36 "importlib": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
37 "inspect": (2, 1), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
38 "io": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
39 "itertools": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
40 "json": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
41 "logging": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
42 "modulefinder": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
43 "msilib": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
44 "multiprocessing": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
45 "netrc": (1, 5, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
46 "numbers": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
47 "optparse": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
48 "ossaudiodev": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
49 "pickletools": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
50 "pkgutil": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
51 "platform": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
52 "pydoc": (2, 1), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
53 "runpy": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
54 "sets": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
55 "shlex": (1, 5, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
56 "SimpleXMLRPCServer": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
57 "spwd": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
58 "sqlite3": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
59 "ssl": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
60 "stringprep": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
61 "subprocess": (2, 4), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
62 "sysconfig": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
63 "tarfile": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
64 "textwrap": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
65 "timeit": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
66 "unittest": (2, 1), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
67 "uuid": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
68 "warnings": (2, 1), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
69 "weakref": (2, 1), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
70 "winsound": (1, 5, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
71 "wsgiref": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
72 "xml.dom": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
73 "xml.dom.minidom": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
74 "xml.dom.pulldom": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
75 "xml.etree.ElementTree": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
76 "xml.parsers.expat":(2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
77 "xml.sax": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
78 "xml.sax.handler": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
79 "xml.sax.saxutils": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
80 "xml.sax.xmlreader":(2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
81 "xmlrpclib": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
82 "zipfile": (1, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
83 "zipimport": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
84 "_ast": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
85 "_winreg": (2, 0), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
86 } |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
87 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
88 Functions = { |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
89 "all": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
90 "any": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
91 "collections.Counter": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
92 "collections.defaultdict": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
93 "collections.OrderedDict": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
94 "enumerate": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
95 "frozenset": (2, 4), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
96 "itertools.compress": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
97 "math.erf": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
98 "math.erfc": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
99 "math.expm1": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
100 "math.gamma": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
101 "math.lgamma": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
102 "memoryview": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
103 "next": (2, 6), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
104 "os.getresgid": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
105 "os.getresuid": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
106 "os.initgroups": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
107 "os.setresgid": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
108 "os.setresuid": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
109 "reversed": (2, 4), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
110 "set": (2, 4), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
111 "subprocess.check_call": (2, 5), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
112 "subprocess.check_output": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
113 "sum": (2, 3), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
114 "symtable.is_declared_global": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
115 "weakref.WeakSet": (2, 7), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
116 } |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
117 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
118 Identifiers = { |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
119 "False": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
120 "True": (2, 2), |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
121 } |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
122 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
123 def uniq(a): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
124 if len(a) == 0: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
125 return [] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
126 else: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
127 return [a[0]] + uniq([x for x in a if x != a[0]]) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
128 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
129 class NodeChecker(object): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
130 def __init__(self): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
131 self.vers = dict() |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
132 self.vers[(2,0)] = [] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
133 def add(self, node, ver, msg): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
134 if ver not in self.vers: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
135 self.vers[ver] = [] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
136 self.vers[ver].append((node.lineno, msg)) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
137 def default(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
138 for child in node.getChildNodes(): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
139 self.visit(child) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
140 def visitCallFunc(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
141 def rollup(n): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
142 if isinstance(n, compiler.ast.Name): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
143 return n.name |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
144 elif isinstance(n, compiler.ast.Getattr): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
145 r = rollup(n.expr) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
146 if r: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
147 return r + "." + n.attrname |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
148 name = rollup(node.node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
149 if name: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
150 v = Functions.get(name) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
151 if v is not None: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
152 self.add(node, v, name) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
153 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
154 def visitClass(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
155 if node.bases: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
156 self.add(node, (2,2), "new-style class") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
157 if node.decorators: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
158 self.add(node, (2,6), "class decorator") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
159 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
160 def visitDictComp(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
161 self.add(node, (2,7), "dictionary comprehension") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
162 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
163 def visitFloorDiv(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
164 self.add(node, (2,2), "// operator") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
165 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
166 def visitFrom(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
167 v = StandardModules.get(node.modname) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
168 if v is not None: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
169 self.add(node, v, node.modname) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
170 for n in node.names: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
171 name = node.modname + "." + n[0] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
172 v = Functions.get(name) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
173 if v is not None: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
174 self.add(node, v, name) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
175 def visitFunction(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
176 if node.decorators: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
177 self.add(node, (2,4), "function decorator") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
178 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
179 def visitGenExpr(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
180 self.add(node, (2,4), "generator expression") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
181 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
182 def visitGetattr(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
183 if (isinstance(node.expr, compiler.ast.Const) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
184 and isinstance(node.expr.value, str) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
185 and node.attrname == "format"): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
186 self.add(node, (2,6), "string literal .format()") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
187 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
188 def visitIfExp(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
189 self.add(node, (2,5), "inline if expression") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
190 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
191 def visitImport(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
192 for n in node.names: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
193 v = StandardModules.get(n[0]) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
194 if v is not None: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
195 self.add(node, v, n[0]) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
196 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
197 def visitName(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
198 v = Identifiers.get(node.name) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
199 if v is not None: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
200 self.add(node, v, node.name) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
201 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
202 def visitSet(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
203 self.add(node, (2,7), "set literal") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
204 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
205 def visitSetComp(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
206 self.add(node, (2,7), "set comprehension") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
207 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
208 def visitTryFinally(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
209 # try/finally with a suite generates a Stmt node as the body, |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
210 # but try/except/finally generates a TryExcept as the body |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
211 if isinstance(node.body, compiler.ast.TryExcept): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
212 self.add(node, (2,5), "try/except/finally") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
213 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
214 def visitWith(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
215 if isinstance(node.body, compiler.ast.With): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
216 self.add(node, (2,7), "with statement with multiple contexts") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
217 else: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
218 self.add(node, (2,5), "with statement") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
219 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
220 def visitYield(self, node): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
221 self.add(node, (2,2), "yield expression") |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
222 self.default(node) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
223 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
224 def get_versions(source): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
225 """Return information about the Python versions required for specific features. |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
226 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
227 The return value is a dictionary with keys as a version number as a tuple |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
228 (for example Python 2.6 is (2,6)) and the value are a list of features that |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
229 require the indicated Python version. |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
230 """ |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
231 tree = compiler.parse(source) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
232 checker = compiler.walk(tree, NodeChecker()) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
233 return checker.vers |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
234 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
235 def v27(source): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
236 if sys.version_info >= (2, 7): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
237 return qver(source) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
238 else: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
239 print >>sys.stderr, "Not all features tested, run --test with Python 2.7" |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
240 return (2, 7) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
241 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
242 def qver(source): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
243 """Return the minimum Python version required to run a particular bit of code. |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
244 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
245 >>> qver('print "hello world"') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
246 (2, 0) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
247 >>> qver('class test(object): pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
248 (2, 2) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
249 >>> qver('yield 1') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
250 (2, 2) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
251 >>> qver('a // b') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
252 (2, 2) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
253 >>> qver('True') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
254 (2, 2) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
255 >>> qver('enumerate(a)') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
256 (2, 3) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
257 >>> qver('total = sum') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
258 (2, 0) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
259 >>> qver('sum(a)') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
260 (2, 3) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
261 >>> qver('(x*x for x in range(5))') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
262 (2, 4) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
263 >>> qver('class C:\\n @classmethod\\n def m(): pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
264 (2, 4) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
265 >>> qver('y if x else z') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
266 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
267 >>> qver('import hashlib') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
268 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
269 >>> qver('from hashlib import md5') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
270 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
271 >>> qver('import xml.etree.ElementTree') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
272 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
273 >>> qver('try:\\n try: pass;\\n except: pass;\\nfinally: pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
274 (2, 0) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
275 >>> qver('try: pass;\\nexcept: pass;\\nfinally: pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
276 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
277 >>> qver('from __future__ import with_statement\\nwith x: pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
278 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
279 >>> qver('collections.defaultdict(list)') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
280 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
281 >>> qver('from collections import defaultdict') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
282 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
283 >>> qver('"{0}".format(0)') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
284 (2, 6) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
285 >>> qver('memoryview(x)') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
286 (2, 7) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
287 >>> v27('{1, 2, 3}') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
288 (2, 7) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
289 >>> v27('{x for x in s}') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
290 (2, 7) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
291 >>> v27('{x: y for x in s}') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
292 (2, 7) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
293 >>> qver('from __future__ import with_statement\\nwith x:\\n with y: pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
294 (2, 5) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
295 >>> v27('from __future__ import with_statement\\nwith x, y: pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
296 (2, 7) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
297 >>> qver('@decorator\\ndef f(): pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
298 (2, 4) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
299 >>> qver('@decorator\\nclass test:\\n pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
300 (2, 6) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
301 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
302 #>>> qver('0o0') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
303 #(2, 6) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
304 #>>> qver('@foo\\nclass C: pass') |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
305 #(2, 6) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
306 """ |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
307 return max(get_versions(source).keys()) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
308 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
309 Verbose = False |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
310 MinVersion = (2, 3) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
311 Lint = False |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
312 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
313 files = [] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
314 i = 1 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
315 while i < len(sys.argv): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
316 a = sys.argv[i] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
317 if a == "--test": |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
318 import doctest |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
319 doctest.testmod() |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
320 sys.exit(0) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
321 if a == "-v" or a == "--verbose": |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
322 Verbose = True |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
323 elif a == "-l" or a == "--lint": |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
324 Lint = True |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
325 elif a == "-m" or a == "--min-version": |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
326 i += 1 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
327 MinVersion = tuple(map(int, sys.argv[i].split("."))) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
328 else: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
329 files.append(a) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
330 i += 1 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
331 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
332 if not files: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
333 print >>sys.stderr, """Usage: %s [options] source ... |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
334 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
335 Report minimum Python version required to run given source files. |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
336 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
337 -m x.y or --min-version x.y (default 2.3) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
338 report version triggers at or above version x.y in verbose mode |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
339 -v or --verbose |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
340 print more detailed report of version triggers for each version |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
341 """ % sys.argv[0] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
342 sys.exit(1) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
343 |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
344 for fn in files: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
345 try: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
346 f = open(fn) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
347 source = f.read() |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
348 f.close() |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
349 ver = get_versions(source) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
350 if Verbose: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
351 print fn |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
352 for v in sorted([k for k in ver.keys() if k >= MinVersion], reverse=True): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
353 reasons = [x for x in uniq(ver[v]) if x] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
354 if reasons: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
355 # each reason is (lineno, message) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
356 print "\t%s\t%s" % (".".join(map(str, v)), ", ".join([x[1] for x in reasons])) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
357 elif Lint: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
358 for v in sorted([k for k in ver.keys() if k >= MinVersion], reverse=True): |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
359 reasons = [x for x in uniq(ver[v]) if x] |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
360 for r in reasons: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
361 # each reason is (lineno, message) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
362 print "%s:%s: %s %s" % (fn, r[0], ".".join(map(str, v)), r[1]) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
363 else: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
364 print "%s\t%s" % (".".join(map(str, max(ver.keys()))), fn) |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
365 except SyntaxError, x: |
a0c85f2d74a5
planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc commit 9612f06b8c60520dc0a047ec072ced317c7796e4
sanbi-uwc
parents:
diff
changeset
|
366 print "%s: syntax error compiling with Python %s: %s" % (fn, platform.python_version(), x) |