Linux server1.dn-server.com 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64
LiteSpeed
Server IP : 195.201.204.189 & Your IP : 216.73.216.60
Domains :
Cant Read [ /etc/named.conf ]
User : beriska1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
python27 /
lib /
python2.7 /
site-packages /
Delete
Unzip
Name
Size
Permission
Date
Action
Babel-1.3-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
Beaker-1.5.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
CXX
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
EasyProcess-0.2.3-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
Jinja2-2.7.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
Mako-0.7.3-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
Paste-1.7.5.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
PyGithub-1.40-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
PyJWT-1.6.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
PyVirtualDisplay-0.2.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
Pygments-1.6-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
Tempita-0.5.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
WebOb-1.2.3-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
WebTest-1.3.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
_dummy_thread
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
_markupbase
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
_pytest
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
_thread
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
alabaster
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
alabaster-0.7.9-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
alembic
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
alembic-0.8.3-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
appdirs-1.4.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
argparse-1.2.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
args-0.1.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
astroid
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
astroid-1.4.9-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
babel
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
backports_abc-0.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
beaker
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
betamax
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
betamax-0.7.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
builtins
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
certifi
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
certifi-2018.4.16-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
chardet
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
chardet-3.0.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
clint
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
clint-0.5.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
colorama
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
colorama-0.3.7-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
contextlib2-0.5.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
copyreg
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
cssselect
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
cssselect-0.9.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
dateutil
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
ddt-1.0.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
decorator-4.0.10-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
docopt-0.6.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
docutils
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
dodgy
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
dodgy-0.1.7-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
dtopt
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
dtopt-0.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
easyprocess
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
ecdsa
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
ecdsa-0.13-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
enum
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
fluidity
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
fluidity_sm-0.2.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
funcsigs
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
funcsigs-1.0.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
future
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
future-0.17.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
github
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
html
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
html5lib
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
http
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
humanize
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
humanize-0.5.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
hypothesis
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
hypothesis-3.4.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
idna
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
idna-2.5-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
invoke
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
invoke-1.1.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
iso8601
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
iso8601-0.1.11-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
isodate
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
isodate-0.5.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
jinja2
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
jsonschema
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
jsonschema-2.6.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
jwt
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
lexicon
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
lexicon-1.0.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
libfuturize
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
libpasteurize
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
linecache2
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
linecache2-1.0.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
logilab
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
logilab_common-0.63.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
mako
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
mccabe-0.6.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
mock
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
mock-2.0.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
mockito
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
mockito-1.1.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
nose
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
nose-1.3.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
paramiko
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
paramiko-1.16.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
past
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
paste
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pbr
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pbr-1.8.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pep257-0.7.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pep8-1.6.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pep8_naming-0.4.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pexpect
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pip
[ DIR ]
drwxr-xr-x
2026-04-30 23:39
pip-20.2.4.dist-info
[ DIR ]
drwxr-xr-x
2026-04-30 23:39
pkg_resources
[ DIR ]
drwxr-xr-x
2026-04-30 23:39
pkginfo
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pkginfo-1.3.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
ply
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
ply-3.8-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pretend-1.0.8-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
prospector
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
prospector-0.10.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
ptyprocess
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
py
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
py-1.4.34-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyasn1
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyasn1-0.1.9-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyasn1_modules
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyasn1_modules-0.0.8-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pycparser
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pycparser-2.14-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyfakefs
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
pyfakefs-3.5.8-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
pyflakes
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyflakes-1.0.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pygments
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
pylint
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint-1.4.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_celery
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_celery-0.3-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_common
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_common-0.2.5-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_django
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_django-0.7.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_plugin_utils
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pylint_plugin_utils-0.2.6-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyswarm
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
pyswarm-0.6-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
pytest-3.1.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pytest_relaxed
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pytest_relaxed-1.1.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
python_dateutil-1.4.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
python_editor-0.4-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pytz
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
pyvirtualdisplay
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
queue
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
raven
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
raven-6.3.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
rellu
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
rellu-0.7-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
repoze
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
repoze.lru-0.6-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
reprlib
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
requests
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
requests-2.19.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
requests_toolbelt
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
requests_toolbelt-0.7.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
requirements_detector
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
requirements_detector-0.6-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
schema-0.3.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
setoptconf
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
setoptconf-0.2.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
setuptools
[ DIR ]
drwxr-xr-x
2026-04-30 23:39
setuptools-36.3.0.post20231113.dist-info
[ DIR ]
drwxr-xr-x
2026-04-30 23:39
setuptools_git
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
setuptools_git-1.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
setuptools_scm
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
setuptools_scm-3.2.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
singledispatch-3.4.0.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
socketserver
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
svgwrite
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
svgwrite-1.1.5-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
tap
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
tap.py-2.6.2-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
tempita
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
testfixtures
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
testfixtures-4.13.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
tkinter
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
traceback2
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
traceback2-1.4.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
twine
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
twine-1.8.1-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
unittest2
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
unittest2-1.1.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:20
unittest_xml_reporting-2.1.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
urllib3
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
urllib3-1.23-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
webob
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
webtest
[ DIR ]
drwxr-xr-x
2026-05-01 04:22
wheel
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
wheel-0.29.0-py2.7.egg-info
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
winreg
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
xmlrpc
[ DIR ]
drwxr-xr-x
2026-05-01 04:25
xmlrunner
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
CXX-6.2.8-py2.7.egg-info
257
B
-rw-r--r--
2019-10-23 14:19
Paste-1.7.5.1-py2.7-nspkg.pth
302
B
-rw-r--r--
2019-10-22 09:39
PySocks-1.5.7-py2.7.egg-info
322
B
-rw-r--r--
2019-10-18 17:03
appdirs.py
21.83
KB
-rw-r--r--
2019-10-18 19:24
appdirs.pyc
20.18
KB
-rw-r--r--
2019-10-18 19:24
appdirs.pyo
20.18
KB
-rw-r--r--
2019-10-18 19:24
argparse.py
85.73
KB
-rw-r--r--
2011-04-01 02:13
argparse.pyc
66.17
KB
-rw-r--r--
2019-10-18 17:28
args.py
9.1
KB
-rw-r--r--
2012-05-08 10:11
args.pyc
11.19
KB
-rw-r--r--
2019-10-21 19:14
backports_abc.py
5.15
KB
-rw-r--r--
2015-09-14 12:11
backports_abc.pyc
6.59
KB
-rw-r--r--
2019-10-22 03:36
backports_abc.pyo
6.59
KB
-rw-r--r--
2019-10-22 03:36
contextlib2.py
14.48
KB
-rw-r--r--
2016-07-31 08:12
contextlib2.pyc
15.63
KB
-rw-r--r--
2019-10-18 20:08
contextlib2.pyo
15.63
KB
-rw-r--r--
2019-10-18 20:08
ddt.py
7.33
KB
-rw-r--r--
2015-01-27 22:10
ddt.pyc
7.53
KB
-rw-r--r--
2019-10-18 17:48
ddt.pyo
7.53
KB
-rw-r--r--
2019-10-18 17:48
decorator.py
15.41
KB
-rw-r--r--
2016-02-11 11:52
decorator.pyc
14.36
KB
-rw-r--r--
2019-10-18 20:04
decorator.pyo
14.26
KB
-rw-r--r--
2019-10-18 20:04
docopt.py
19.48
KB
-rw-r--r--
2014-06-16 15:44
docopt.pyc
24.09
KB
-rw-r--r--
2019-10-21 20:33
docopt.pyo
23.87
KB
-rw-r--r--
2019-10-21 20:33
docutils-0.14-py2.7.egg-info
2.31
KB
-rw-r--r--
2019-10-18 17:50
easy_install.py
126
B
-rw-r--r--
2023-11-14 00:44
easy_install.pyc
397
B
-rw-r--r--
2023-11-14 00:44
editor.py
2.49
KB
-rwxr-xr-x
2015-08-26 12:09
editor.pyc
3.49
KB
-rw-r--r--
2019-10-22 06:57
enum34-1.0-py2.7.egg-info
28.04
KB
-rw-r--r--
2019-10-22 00:30
html5lib-0.999-py2.7.egg-info
11.69
KB
-rw-r--r--
2019-10-21 19:11
ipaddress-1.0.18-py2.7.egg-info
783
B
-rw-r--r--
2019-10-21 21:38
ipaddress.py
78.28
KB
-rw-r--r--
2017-01-11 15:59
ipaddress.pyc
76.16
KB
-rw-r--r--
2019-10-21 21:38
ipaddress.pyo
75.97
KB
-rw-r--r--
2019-10-21 21:38
logilab_common-0.63.2-py2.7-nspkg.pth
308
B
-rw-r--r--
2020-05-26 08:01
lprettytable.py
23.29
KB
-rw-r--r--
2019-10-18 13:05
lprettytable.pyc
18.11
KB
-rw-r--r--
2019-10-18 13:05
lprettytable.pyo
17.98
KB
-rw-r--r--
2019-10-18 13:05
mccabe.py
10.44
KB
-rw-r--r--
2017-01-27 01:40
mccabe.pyc
13.51
KB
-rw-r--r--
2019-10-18 20:11
mccabe.pyo
13.51
KB
-rw-r--r--
2019-10-18 20:11
pep257.py
58.59
KB
-rw-r--r--
2015-10-09 16:24
pep257.pyc
61.3
KB
-rw-r--r--
2019-10-21 19:16
pep257.pyo
60.97
KB
-rw-r--r--
2019-10-21 19:16
pep8.py
80
KB
-rw-r--r--
2015-02-16 01:35
pep8.pyc
69.81
KB
-rw-r--r--
2019-10-18 20:12
pep8.pyo
69.7
KB
-rw-r--r--
2019-10-18 20:12
pep8ext_naming.py
10.9
KB
-rw-r--r--
2016-06-26 16:36
pep8ext_naming.pyc
12.46
KB
-rw-r--r--
2019-10-18 20:11
pep8ext_naming.pyo
12.46
KB
-rw-r--r--
2019-10-18 20:11
pexpect-4.1.0-py2.7.egg-info
2.23
KB
-rw-r--r--
2019-10-21 20:35
pretend.py
2.95
KB
-rw-r--r--
2014-03-09 01:56
pretend.pyc
5.13
KB
-rw-r--r--
2019-10-22 00:32
pretend.pyo
5.13
KB
-rw-r--r--
2019-10-22 00:32
ptyprocess-0.5.1-py2.7.egg-info
264
B
-rw-r--r--
2019-10-21 20:34
pyparsing-1.5.6-py2.7.egg-info
670
B
-rw-r--r--
2019-10-18 13:34
pyparsing.py
151.79
KB
-rw-r--r--
2019-10-18 13:34
pyparsing.pyc
149.93
KB
-rw-r--r--
2019-10-18 13:34
pyparsing.pyo
149.93
KB
-rw-r--r--
2019-10-18 13:34
pytest.py
1.76
KB
-rw-r--r--
2020-05-26 19:02
pytest.pyc
2.04
KB
-rw-r--r--
2020-05-26 19:02
pytest.pyo
2.04
KB
-rw-r--r--
2020-05-26 19:02
pytz-2017.2-py2.7.egg-info
24.25
KB
-rw-r--r--
2019-10-22 03:12
repoze.lru-0.6-py2.7-nspkg.pth
305
B
-rw-r--r--
2019-10-18 20:14
schema.py
6.06
KB
-rw-r--r--
2014-04-29 00:41
schema.pyc
8.33
KB
-rw-r--r--
2019-10-18 17:29
schema.pyo
8.25
KB
-rw-r--r--
2019-10-18 17:29
singledispatch.py
8.08
KB
-rw-r--r--
2019-10-18 20:08
singledispatch.pyc
7.96
KB
-rw-r--r--
2019-10-18 20:08
singledispatch_helpers.py
5.08
KB
-rw-r--r--
2019-10-18 20:08
singledispatch_helpers.pyc
8.63
KB
-rw-r--r--
2019-10-18 20:08
six-1.12.0-py2.7.egg-info
2.12
KB
-rw-r--r--
2019-10-18 14:16
six.py
31.69
KB
-rw-r--r--
2018-12-10 04:29
six.pyc
32.72
KB
-rw-r--r--
2019-10-18 14:16
six.pyo
32.72
KB
-rw-r--r--
2019-10-18 14:16
socks.py
29.25
KB
-rw-r--r--
2016-05-22 02:24
socks.pyc
25.07
KB
-rw-r--r--
2019-10-18 17:03
sockshandler.py
2.84
KB
-rw-r--r--
2016-05-22 02:24
sockshandler.pyc
4.63
KB
-rw-r--r--
2019-10-18 17:03
typing-3.5.3.0-py2.7.egg-info
1.45
KB
-rw-r--r--
2019-10-18 19:13
typing.py
63.37
KB
-rw-r--r--
2017-01-01 06:27
typing.pyc
77.21
KB
-rw-r--r--
2019-10-18 19:13
typing.pyo
76.57
KB
-rw-r--r--
2019-10-18 19:13
xvfbwrapper-0.2.4-py2.7.egg-info
4.1
KB
-rw-r--r--
2019-10-22 00:34
xvfbwrapper.py
2.59
KB
-rw-r--r--
2019-10-22 00:34
xvfbwrapper.pyc
3.47
KB
-rw-r--r--
2019-10-22 00:34
Save
Rename
# -*- coding: utf-8 -*- """Checker of PEP-8 Naming Conventions.""" import optparse import re import sys from collections import deque try: import ast from ast import iter_child_nodes except ImportError: from flake8.util import ast, iter_child_nodes __version__ = '0.4.1' LOWERCASE_REGEX = re.compile(r'[_a-z][_a-z0-9]*$') UPPERCASE_REGEX = re.compile(r'[_A-Z][_A-Z0-9]*$') MIXEDCASE_REGEX = re.compile(r'_?[A-Z][a-zA-Z0-9]*$') SPLIT_IGNORED_RE = re.compile(r'[,\s]') if sys.version_info[0] < 3: def _unpack_args(args): ret = [] for arg in args: if isinstance(arg, ast.Tuple): ret.extend(_unpack_args(arg.elts)) else: ret.append(arg.id) return ret def get_arg_names(node): return _unpack_args(node.args.args) else: def get_arg_names(node): pos_args = [arg.arg for arg in node.args.args] kw_only = [arg.arg for arg in node.args.kwonlyargs] return pos_args + kw_only class _ASTCheckMeta(type): def __init__(self, class_name, bases, namespace): try: self._checks.append(self()) except AttributeError: self._checks = [] def _err(self, node, code): lineno, col_offset = node.lineno, node.col_offset if isinstance(node, ast.ClassDef): lineno += len(node.decorator_list) col_offset += 6 elif isinstance(node, ast.FunctionDef): lineno += len(node.decorator_list) col_offset += 4 return (lineno, col_offset, '%s %s' % (code, getattr(self, code)), self) BaseASTCheck = _ASTCheckMeta('BaseASTCheck', (object,), {'__doc__': "Base for AST Checks.", 'err': _err}) def register_opt(parser, *args, **kwargs): try: # Flake8 3.x registration parser.add_option(*args, **kwargs) except (optparse.OptionError, TypeError): # Flake8 2.x registration parse_from_config = kwargs.pop('parse_from_config', False) kwargs.pop('comma_separated_list', False) kwargs.pop('normalize_paths', False) parser.add_option(*args, **kwargs) if parse_from_config: parser.config_options.append(args[-1].lstrip('-')) class NamingChecker(object): """Checker of PEP-8 Naming Conventions.""" name = 'naming' version = __version__ ignore_names = ['setUp', 'tearDown', 'setUpClass', 'tearDownClass'] def __init__(self, tree, filename): self.visitors = BaseASTCheck._checks self.parents = deque() self._node = tree @classmethod def add_options(cls, parser): ignored = ','.join(cls.ignore_names) register_opt(parser, '--ignore-names', default=ignored, action='store', type='string', parse_from_config=True, comma_separated_list=True, help='List of names the pep8-naming plugin should ' 'ignore. (Defaults to %default)') @classmethod def parse_options(cls, options): cls.ignore_names = options.ignore_names if not isinstance(cls.ignore_names, list): cls.ignore_names = SPLIT_IGNORED_RE.split(options.ignore_names) def run(self): return self.visit_tree(self._node) if self._node else () def visit_tree(self, node): for error in self.visit_node(node): yield error self.parents.append(node) for child in iter_child_nodes(node): for error in self.visit_tree(child): yield error self.parents.pop() def visit_node(self, node): if isinstance(node, ast.ClassDef): self.tag_class_functions(node) elif isinstance(node, ast.FunctionDef): self.find_global_defs(node) method = 'visit_' + node.__class__.__name__.lower() parents = self.parents ignore_names = self.ignore_names for visitor in self.visitors: visitor_method = getattr(visitor, method, None) if visitor_method is None: continue for error in visitor_method(node, parents, ignore_names): yield error def tag_class_functions(self, cls_node): """Tag functions if they are methods, classmethods, staticmethods""" # tries to find all 'old style decorators' like # m = staticmethod(m) late_decoration = {} for node in iter_child_nodes(cls_node): if not (isinstance(node, ast.Assign) and isinstance(node.value, ast.Call) and isinstance(node.value.func, ast.Name)): continue func_name = node.value.func.id if func_name in ('classmethod', 'staticmethod'): meth = (len(node.value.args) == 1 and node.value.args[0]) if isinstance(meth, ast.Name): late_decoration[meth.id] = func_name # iterate over all functions and tag them for node in iter_child_nodes(cls_node): if not isinstance(node, ast.FunctionDef): continue node.function_type = 'method' if node.name == '__new__': node.function_type = 'classmethod' if node.name in late_decoration: node.function_type = late_decoration[node.name] elif node.decorator_list: names = [d.id for d in node.decorator_list if isinstance(d, ast.Name) and d.id in ('classmethod', 'staticmethod')] if names: node.function_type = names[0] def find_global_defs(self, func_def_node): global_names = set() nodes_to_check = deque(iter_child_nodes(func_def_node)) while nodes_to_check: node = nodes_to_check.pop() if isinstance(node, ast.Global): global_names.update(node.names) if not isinstance(node, (ast.FunctionDef, ast.ClassDef)): nodes_to_check.extend(iter_child_nodes(node)) func_def_node.global_names = global_names class ClassNameCheck(BaseASTCheck): """ Almost without exception, class names use the CapWords convention. Classes for internal use have a leading underscore in addition. """ check = MIXEDCASE_REGEX.match N801 = "class names should use CapWords convention" def visit_classdef(self, node, parents, ignore=None): if not self.check(node.name): yield self.err(node, 'N801') class FunctionNameCheck(BaseASTCheck): """ Function names should be lowercase, with words separated by underscores as necessary to improve readability. Functions *not* beeing methods '__' in front and back are not allowed. mixedCase is allowed only in contexts where that's already the prevailing style (e.g. threading.py), to retain backwards compatibility. """ check = LOWERCASE_REGEX.match N802 = "function name should be lowercase" def visit_functiondef(self, node, parents, ignore=None): function_type = getattr(node, 'function_type', 'function') name = node.name if ignore and name in ignore: return if ((function_type == 'function' and '__' in (name[:2], name[-2:])) or not self.check(name)): yield self.err(node, 'N802') class FunctionArgNamesCheck(BaseASTCheck): """ The argument names of a function should be lowercase, with words separated by underscores. A classmethod should have 'cls' as first argument. A method should have 'self' as first argument. """ check = LOWERCASE_REGEX.match N803 = "argument name should be lowercase" N804 = "first argument of a classmethod should be named 'cls'" N805 = "first argument of a method should be named 'self'" def visit_functiondef(self, node, parents, ignore=None): def arg_name(arg): return getattr(arg, 'arg', arg) kwarg = arg_name(node.args.kwarg) if kwarg is not None: if not self.check(kwarg): yield self.err(node, 'N803') return vararg = arg_name(node.args.vararg) if vararg is not None: if not self.check(vararg): yield self.err(node, 'N803') return arg_names = get_arg_names(node) if not arg_names: return function_type = getattr(node, 'function_type', 'function') if function_type == 'method': if arg_names[0] != 'self': yield self.err(node, 'N805') elif function_type == 'classmethod': if arg_names[0] != 'cls': yield self.err(node, 'N804') for arg in arg_names: if not self.check(arg): yield self.err(node, 'N803') return class ImportAsCheck(BaseASTCheck): """ Don't change the naming convention via an import """ check_lower = LOWERCASE_REGEX.match check_upper = UPPERCASE_REGEX.match N811 = "constant imported as non constant" N812 = "lowercase imported as non lowercase" N813 = "camelcase imported as lowercase" N814 = "camelcase imported as constant" def visit_importfrom(self, node, parents, ignore=None): for name in node.names: if not name.asname: continue if self.check_upper(name.name): if not self.check_upper(name.asname): yield self.err(node, 'N811') elif self.check_lower(name.name): if not self.check_lower(name.asname): yield self.err(node, 'N812') elif self.check_lower(name.asname): yield self.err(node, 'N813') elif self.check_upper(name.asname): yield self.err(node, 'N814') class VariablesInFunctionCheck(BaseASTCheck): """ Local variables in functions should be lowercase """ check = LOWERCASE_REGEX.match N806 = "variable in function should be lowercase" def visit_assign(self, node, parents, ignore=None): for parent_func in reversed(parents): if isinstance(parent_func, ast.ClassDef): return if isinstance(parent_func, ast.FunctionDef): break else: return for target in node.targets: name = isinstance(target, ast.Name) and target.id if not name or name in parent_func.global_names: return if not self.check(name) and name[:1] != '_': if isinstance(node.value, ast.Call): if isinstance(node.value.func, ast.Attribute): if node.value.func.attr == 'namedtuple': return elif isinstance(node.value.func, ast.Name): if node.value.func.id == 'namedtuple': return yield self.err(target, 'N806')