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 -*- # This file is a part of DDT (https://github.com/txels/ddt) # Copyright 2012-2015 Carles Barrobés and DDT contributors # For the exact contribution history, see the git revision log. # DDT is licensed under the MIT License, included in # https://github.com/txels/ddt/blob/master/LICENSE.md import inspect import json import os import re import sys from functools import wraps __version__ = '1.0.0' # These attributes will not conflict with any real python attribute # They are added to the decorated test method and processed later # by the `ddt` class decorator. DATA_ATTR = '%values' # store the data the test must run with FILE_ATTR = '%file_path' # store the path to JSON file UNPACK_ATTR = '%unpack' # remember that we have to unpack values def unpack(func): """ Method decorator to add unpack feature. """ setattr(func, UNPACK_ATTR, True) return func def data(*values): """ Method decorator to add to your test methods. Should be added to methods of instances of ``unittest.TestCase``. """ def wrapper(func): setattr(func, DATA_ATTR, values) return func return wrapper def file_data(value): """ Method decorator to add to your test methods. Should be added to methods of instances of ``unittest.TestCase``. ``value`` should be a path relative to the directory of the file containing the decorated ``unittest.TestCase``. The file should contain JSON encoded data, that can either be a list or a dict. In case of a list, each value in the list will correspond to one test case, and the value will be concatenated to the test method name. In case of a dict, keys will be used as suffixes to the name of the test case, and values will be fed as test data. """ def wrapper(func): setattr(func, FILE_ATTR, value) return func return wrapper def is_hash_randomized(): return (((sys.hexversion >= 0x02070300 and sys.hexversion < 0x03000000) or (sys.hexversion >= 0x03020300)) and sys.flags.hash_randomization and 'PYTHONHASHSEED' not in os.environ) def mk_test_name(name, value, index=0): """ Generate a new name for a test case. It will take the original test name and append an ordinal index and a string representation of the value, and convert the result into a valid python identifier by replacing extraneous characters with ``_``. If hash randomization is enabled (a feature available since 2.7.3/3.2.3 and enabled by default since 3.3) and a "non-trivial" value is passed this will omit the name argument by default. Set `PYTHONHASHSEED` to a fixed value before running tests in these cases to get the names back consistently or use the `__name__` attribute on data values. A "trivial" value is a plain scalar, or a tuple or list consisting only of trivial values. """ # We avoid doing str(value) if all of the following hold: # # * Python version is 2.7.3 or newer (for 2 series) or 3.2.3 or # newer (for 3 series). Also sys.flags.hash_randomization didn't # exist before these. # * sys.flags.hash_randomization is set to True # * PYTHONHASHSEED is **not** defined in the environment # * Given `value` argument is not a trivial scalar (None, str, # int, float). # # Trivial scalar values are passed as is in all cases. trivial_types = (type(None), bool, str, int, float) try: trivial_types += (unicode,) except NameError: pass def is_trivial(value): if isinstance(value, trivial_types): return True if isinstance(value, (list, tuple)): return all(map(is_trivial, value)) return False if is_hash_randomized() and not is_trivial(value): return "{0}_{1}".format(name, index + 1) try: value = str(value) except UnicodeEncodeError: # fallback for python2 value = value.encode('ascii', 'backslashreplace') test_name = "{0}_{1}_{2}".format(name, index + 1, value) return re.sub('\W|^(?=\d)', '_', test_name) def feed_data(func, new_name, *args, **kwargs): """ This internal method decorator feeds the test data item to the test. """ @wraps(func) def wrapper(self): return func(self, *args, **kwargs) wrapper.__name__ = new_name return wrapper def add_test(cls, test_name, func, *args, **kwargs): """ Add a test case to this class. The test will be based on an existing function but will give it a new name. """ setattr(cls, test_name, feed_data(func, test_name, *args, **kwargs)) def process_file_data(cls, name, func, file_attr): """ Process the parameter in the `file_data` decorator. """ cls_path = os.path.abspath(inspect.getsourcefile(cls)) data_file_path = os.path.join(os.path.dirname(cls_path), file_attr) def _raise_ve(*args): # pylint: disable-msg=W0613 raise ValueError("%s does not exist" % file_attr) if os.path.exists(data_file_path) is False: test_name = mk_test_name(name, "error") add_test(cls, test_name, _raise_ve, None) else: data = json.loads(open(data_file_path).read()) for i, elem in enumerate(data): if isinstance(data, dict): key, value = elem, data[elem] test_name = mk_test_name(name, key, i) elif isinstance(data, list): value = elem test_name = mk_test_name(name, value, i) add_test(cls, test_name, func, value) def ddt(cls): """ Class decorator for subclasses of ``unittest.TestCase``. Apply this decorator to the test case class, and then decorate test methods with ``@data``. For each method decorated with ``@data``, this will effectively create as many methods as data items are passed as parameters to ``@data``. The names of the test methods follow the pattern ``original_test_name_{ordinal}_{data}``. ``ordinal`` is the position of the data argument, starting with 1. For data we use a string representation of the data value converted into a valid python identifier. If ``data.__name__`` exists, we use that instead. For each method decorated with ``@file_data('test_data.json')``, the decorator will try to load the test_data.json file located relative to the python file containing the method that is decorated. It will, for each ``test_name`` key create as many methods in the list of values from the ``data`` key. """ for name, func in list(cls.__dict__.items()): if hasattr(func, DATA_ATTR): for i, v in enumerate(getattr(func, DATA_ATTR)): test_name = mk_test_name(name, getattr(v, "__name__", v), i) if hasattr(func, UNPACK_ATTR): if isinstance(v, tuple) or isinstance(v, list): add_test(cls, test_name, func, *v) else: # unpack dictionary add_test(cls, test_name, func, **v) else: add_test(cls, test_name, func, v) delattr(cls, name) elif hasattr(func, FILE_ATTR): file_attr = getattr(func, FILE_ATTR) process_file_data(cls, name, func, file_attr) delattr(cls, name) return cls