Linux biogene 3.16.0-11-amd64 #1 SMP Debian 3.16.84-1 (2020-06-09) x86_64
Apache
: 46.101.124.208 | : 18.219.30.90
Cant Read [ /etc/named.conf ]
5.6.40-0+deb8u12
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
lib /
python2.7 /
[ HOME SHELL ]
Name
Size
Permission
Action
bsddb
[ DIR ]
drwxr-xr-x
compiler
[ DIR ]
drwxr-xr-x
config-x86_64-linux-gnu
[ DIR ]
drwxr-xr-x
ctypes
[ DIR ]
drwxr-xr-x
curses
[ DIR ]
drwxr-xr-x
dist-packages
[ DIR ]
drwxr-xr-x
distutils
[ DIR ]
drwxr-xr-x
email
[ DIR ]
drwxr-xr-x
encodings
[ DIR ]
drwxr-xr-x
ensurepip
[ DIR ]
drwxr-xr-x
hotshot
[ DIR ]
drwxr-xr-x
importlib
[ DIR ]
drwxr-xr-x
json
[ DIR ]
drwxr-xr-x
lib-dynload
[ DIR ]
drwxr-xr-x
lib-tk
[ DIR ]
drwxr-xr-x
lib2to3
[ DIR ]
drwxr-xr-x
logging
[ DIR ]
drwxr-xr-x
multiprocessing
[ DIR ]
drwxr-xr-x
plat-x86_64-linux-gnu
[ DIR ]
drwxr-xr-x
pydoc_data
[ DIR ]
drwxr-xr-x
sqlite3
[ DIR ]
drwxr-xr-x
test
[ DIR ]
drwxr-xr-x
unittest
[ DIR ]
drwxr-xr-x
wsgiref
[ DIR ]
drwxr-xr-x
xml
[ DIR ]
drwxr-xr-x
BaseHTTPServer.py
21.93
KB
-rw-r--r--
BaseHTTPServer.pyc
21.14
KB
-rw-r--r--
Bastion.py
5.61
KB
-rw-r--r--
Bastion.pyc
6.47
KB
-rw-r--r--
CGIHTTPServer.py
12.85
KB
-rw-r--r--
CGIHTTPServer.pyc
10.82
KB
-rw-r--r--
ConfigParser.py
27.1
KB
-rw-r--r--
ConfigParser.pyc
24.51
KB
-rw-r--r--
Cookie.py
25.87
KB
-rw-r--r--
Cookie.pyc
22.01
KB
-rw-r--r--
DocXMLRPCServer.py
10.25
KB
-rw-r--r--
DocXMLRPCServer.pyc
9.57
KB
-rw-r--r--
HTMLParser.py
16.73
KB
-rw-r--r--
HTMLParser.pyc
13.34
KB
-rw-r--r--
LICENSE.txt
12.46
KB
-rw-r--r--
MimeWriter.py
6.33
KB
-rw-r--r--
MimeWriter.pyc
7.17
KB
-rw-r--r--
Queue.py
8.38
KB
-rw-r--r--
Queue.pyc
9.15
KB
-rw-r--r--
SimpleHTTPServer.py
7.56
KB
-rw-r--r--
SimpleHTTPServer.pyc
7.66
KB
-rw-r--r--
SimpleXMLRPCServer.py
25.21
KB
-rw-r--r--
SimpleXMLRPCServer.pyc
22.26
KB
-rw-r--r--
SocketServer.py
23.47
KB
-rw-r--r--
SocketServer.pyc
23.38
KB
-rw-r--r--
StringIO.py
10.41
KB
-rw-r--r--
StringIO.pyc
11.17
KB
-rw-r--r--
UserDict.py
5.67
KB
-rw-r--r--
UserDict.pyc
8.53
KB
-rw-r--r--
UserList.py
3.56
KB
-rw-r--r--
UserList.pyc
6.36
KB
-rw-r--r--
UserString.py
9.46
KB
-rwxr-xr-x
UserString.pyc
14.38
KB
-rw-r--r--
_LWPCookieJar.py
6.4
KB
-rw-r--r--
_LWPCookieJar.pyc
5.39
KB
-rw-r--r--
_MozillaCookieJar.py
5.66
KB
-rw-r--r--
_MozillaCookieJar.pyc
4.35
KB
-rw-r--r--
__future__.py
4.28
KB
-rw-r--r--
__future__.pyc
4.12
KB
-rw-r--r--
__phello__.foo.py
64
B
-rw-r--r--
__phello__.foo.pyc
123
B
-rw-r--r--
_abcoll.py
17.98
KB
-rw-r--r--
_abcoll.pyc
24.76
KB
-rw-r--r--
_osx_support.py
18.65
KB
-rw-r--r--
_osx_support.pyc
11.46
KB
-rw-r--r--
_pyio.py
67.67
KB
-rw-r--r--
_pyio.pyc
62.56
KB
-rw-r--r--
_strptime.py
19.75
KB
-rw-r--r--
_strptime.pyc
14.49
KB
-rw-r--r--
_sysconfigdata.py
126
B
-rw-r--r--
_sysconfigdata.pyc
279
B
-rw-r--r--
_threading_local.py
7.28
KB
-rw-r--r--
_threading_local.pyc
6.43
KB
-rw-r--r--
_weakrefset.py
5.77
KB
-rw-r--r--
_weakrefset.pyc
9.36
KB
-rw-r--r--
abc.py
6.98
KB
-rw-r--r--
abc.pyc
5.98
KB
-rw-r--r--
aifc.py
33.43
KB
-rw-r--r--
aifc.pyc
29.6
KB
-rw-r--r--
antigravity.py
60
B
-rw-r--r--
antigravity.pyc
201
B
-rw-r--r--
anydbm.py
2.6
KB
-rw-r--r--
anydbm.pyc
2.73
KB
-rw-r--r--
argparse.egg-info
217
B
-rw-r--r--
argparse.py
87.04
KB
-rw-r--r--
argparse.pyc
62.54
KB
-rw-r--r--
ast.py
11.53
KB
-rw-r--r--
ast.pyc
12.6
KB
-rw-r--r--
asynchat.py
11.33
KB
-rw-r--r--
asynchat.pyc
8.55
KB
-rw-r--r--
asyncore.py
20.36
KB
-rw-r--r--
asyncore.pyc
18.28
KB
-rw-r--r--
atexit.py
1.67
KB
-rw-r--r--
atexit.pyc
2.14
KB
-rw-r--r--
audiodev.py
7.42
KB
-rw-r--r--
audiodev.pyc
8.22
KB
-rw-r--r--
base64.py
11.09
KB
-rwxr-xr-x
base64.pyc
10.6
KB
-rw-r--r--
bdb.py
21.21
KB
-rw-r--r--
bdb.pyc
18.53
KB
-rw-r--r--
binhex.py
14.14
KB
-rw-r--r--
binhex.pyc
14.94
KB
-rw-r--r--
bisect.py
2.53
KB
-rw-r--r--
bisect.pyc
2.99
KB
-rw-r--r--
cProfile.py
6.36
KB
-rwxr-xr-x
cProfile.pyc
6.13
KB
-rw-r--r--
calendar.py
22.76
KB
-rw-r--r--
calendar.pyc
26.98
KB
-rw-r--r--
cgi.py
34.01
KB
-rwxr-xr-x
cgi.pyc
31.66
KB
-rw-r--r--
cgitb.py
11.89
KB
-rw-r--r--
cgitb.pyc
11.86
KB
-rw-r--r--
chunk.py
5.25
KB
-rw-r--r--
chunk.pyc
5.44
KB
-rw-r--r--
cmd.py
14.67
KB
-rw-r--r--
cmd.pyc
13.67
KB
-rw-r--r--
code.py
9.95
KB
-rw-r--r--
code.pyc
10.06
KB
-rw-r--r--
codecs.py
34.35
KB
-rw-r--r--
codecs.pyc
35.54
KB
-rw-r--r--
codeop.py
5.86
KB
-rw-r--r--
codeop.pyc
6.42
KB
-rw-r--r--
collections.py
25.53
KB
-rw-r--r--
collections.pyc
24.12
KB
-rw-r--r--
colorsys.py
3.6
KB
-rw-r--r--
colorsys.pyc
3.88
KB
-rw-r--r--
commands.py
2.49
KB
-rw-r--r--
commands.pyc
2.4
KB
-rw-r--r--
compileall.py
7.58
KB
-rw-r--r--
compileall.pyc
6.84
KB
-rw-r--r--
contextlib.py
4.32
KB
-rw-r--r--
contextlib.pyc
4.33
KB
-rw-r--r--
cookielib.py
63.22
KB
-rw-r--r--
cookielib.pyc
53.38
KB
-rw-r--r--
copy.py
11.25
KB
-rw-r--r--
copy.pyc
11.86
KB
-rw-r--r--
copy_reg.py
6.64
KB
-rw-r--r--
copy_reg.pyc
4.97
KB
-rw-r--r--
csv.py
16.32
KB
-rw-r--r--
csv.pyc
13.14
KB
-rw-r--r--
dbhash.py
498
B
-rw-r--r--
dbhash.pyc
714
B
-rw-r--r--
decimal.py
215.93
KB
-rw-r--r--
decimal.pyc
166.85
KB
-rw-r--r--
difflib.py
80.39
KB
-rw-r--r--
difflib.pyc
60.4
KB
-rw-r--r--
dircache.py
1.1
KB
-rw-r--r--
dircache.pyc
1.53
KB
-rw-r--r--
dis.py
6.35
KB
-rw-r--r--
dis.pyc
6.07
KB
-rw-r--r--
doctest.py
102.74
KB
-rw-r--r--
doctest.pyc
81.49
KB
-rw-r--r--
dumbdbm.py
8.66
KB
-rw-r--r--
dumbdbm.pyc
6.34
KB
-rw-r--r--
dummy_thread.py
4.31
KB
-rw-r--r--
dummy_thread.pyc
5.24
KB
-rw-r--r--
dummy_threading.py
2.74
KB
-rw-r--r--
dummy_threading.pyc
1.25
KB
-rw-r--r--
filecmp.py
9.36
KB
-rw-r--r--
filecmp.pyc
9.36
KB
-rw-r--r--
fileinput.py
13.82
KB
-rw-r--r--
fileinput.pyc
14.45
KB
-rw-r--r--
fnmatch.py
3.16
KB
-rw-r--r--
fnmatch.pyc
3.44
KB
-rw-r--r--
formatter.py
14.56
KB
-rw-r--r--
formatter.pyc
18.58
KB
-rw-r--r--
fpformat.py
4.59
KB
-rw-r--r--
fpformat.pyc
4.55
KB
-rw-r--r--
fractions.py
21.87
KB
-rw-r--r--
fractions.pyc
19.19
KB
-rw-r--r--
ftplib.py
36.1
KB
-rw-r--r--
ftplib.pyc
33.25
KB
-rw-r--r--
functools.py
4.37
KB
-rw-r--r--
functools.pyc
5.9
KB
-rw-r--r--
genericpath.py
2.94
KB
-rw-r--r--
genericpath.pyc
3.17
KB
-rw-r--r--
getopt.py
7.15
KB
-rw-r--r--
getopt.pyc
6.48
KB
-rw-r--r--
getpass.py
5.43
KB
-rw-r--r--
getpass.pyc
4.62
KB
-rw-r--r--
gettext.py
19.39
KB
-rw-r--r--
gettext.pyc
15.06
KB
-rw-r--r--
glob.py
3.04
KB
-rw-r--r--
glob.pyc
2.86
KB
-rw-r--r--
gzip.py
18.56
KB
-rw-r--r--
gzip.pyc
14.79
KB
-rw-r--r--
hashlib.py
7.66
KB
-rw-r--r--
hashlib.pyc
6.85
KB
-rw-r--r--
heapq.py
17.87
KB
-rw-r--r--
heapq.pyc
14.19
KB
-rw-r--r--
hmac.py
4.48
KB
-rw-r--r--
hmac.pyc
4.42
KB
-rw-r--r--
htmlentitydefs.py
17.63
KB
-rw-r--r--
htmlentitydefs.pyc
6.22
KB
-rw-r--r--
htmllib.py
12.57
KB
-rw-r--r--
htmllib.pyc
19.66
KB
-rw-r--r--
httplib.py
49.5
KB
-rw-r--r--
httplib.pyc
35.78
KB
-rw-r--r--
ihooks.py
18.54
KB
-rw-r--r--
ihooks.pyc
20.74
KB
-rw-r--r--
imaplib.py
47.21
KB
-rw-r--r--
imaplib.pyc
44.1
KB
-rw-r--r--
imghdr.py
3.46
KB
-rw-r--r--
imghdr.pyc
4.69
KB
-rw-r--r--
imputil.py
25.16
KB
-rw-r--r--
imputil.pyc
15.18
KB
-rw-r--r--
inspect.py
41.52
KB
-rw-r--r--
inspect.pyc
38.92
KB
-rw-r--r--
io.py
3.24
KB
-rw-r--r--
io.pyc
3.49
KB
-rw-r--r--
keyword.py
1.95
KB
-rwxr-xr-x
keyword.pyc
2.05
KB
-rw-r--r--
linecache.py
3.87
KB
-rw-r--r--
linecache.pyc
3.12
KB
-rw-r--r--
locale.py
97.09
KB
-rw-r--r--
locale.pyc
53.72
KB
-rw-r--r--
macpath.py
6.11
KB
-rw-r--r--
macpath.pyc
7.43
KB
-rw-r--r--
macurl2path.py
2.67
KB
-rw-r--r--
macurl2path.pyc
2.18
KB
-rw-r--r--
mailbox.py
79.24
KB
-rw-r--r--
mailbox.pyc
74.47
KB
-rw-r--r--
mailcap.py
7.25
KB
-rw-r--r--
mailcap.pyc
6.89
KB
-rw-r--r--
markupbase.py
14.3
KB
-rw-r--r--
markupbase.pyc
9.04
KB
-rw-r--r--
md5.py
358
B
-rw-r--r--
md5.pyc
376
B
-rw-r--r--
mhlib.py
32.65
KB
-rw-r--r--
mhlib.pyc
32.86
KB
-rw-r--r--
mimetools.py
7
KB
-rw-r--r--
mimetools.pyc
7.99
KB
-rw-r--r--
mimetypes.py
20.22
KB
-rw-r--r--
mimetypes.pyc
17.79
KB
-rw-r--r--
mimify.py
14.67
KB
-rwxr-xr-x
mimify.pyc
11.68
KB
-rw-r--r--
modulefinder.py
23.71
KB
-rw-r--r--
modulefinder.pyc
18.21
KB
-rw-r--r--
multifile.py
4.71
KB
-rw-r--r--
multifile.pyc
5.26
KB
-rw-r--r--
mutex.py
1.83
KB
-rw-r--r--
mutex.pyc
2.44
KB
-rw-r--r--
netrc.py
5.73
KB
-rw-r--r--
netrc.pyc
4.54
KB
-rw-r--r--
new.py
610
B
-rw-r--r--
new.pyc
860
B
-rw-r--r--
nntplib.py
20.97
KB
-rw-r--r--
nntplib.pyc
20.46
KB
-rw-r--r--
ntpath.py
18.94
KB
-rw-r--r--
ntpath.pyc
12.74
KB
-rw-r--r--
nturl2path.py
2.32
KB
-rw-r--r--
nturl2path.pyc
1.77
KB
-rw-r--r--
numbers.py
10.08
KB
-rw-r--r--
numbers.pyc
13.56
KB
-rw-r--r--
opcode.py
5.35
KB
-rw-r--r--
opcode.pyc
5.99
KB
-rw-r--r--
optparse.py
59.77
KB
-rw-r--r--
optparse.pyc
52.58
KB
-rw-r--r--
os.py
25.31
KB
-rw-r--r--
os.pyc
25
KB
-rw-r--r--
os2emxpath.py
4.5
KB
-rw-r--r--
os2emxpath.pyc
4.37
KB
-rw-r--r--
pdb.doc
7.73
KB
-rw-r--r--
pdb.py
44.93
KB
-rwxr-xr-x
pdb.pyc
42.36
KB
-rw-r--r--
pickle.py
44.1
KB
-rw-r--r--
pickle.pyc
37.36
KB
-rw-r--r--
pickletools.py
72.79
KB
-rw-r--r--
pickletools.pyc
55.71
KB
-rw-r--r--
pipes.py
9.36
KB
-rw-r--r--
pipes.pyc
9.06
KB
-rw-r--r--
pkgutil.py
19.87
KB
-rw-r--r--
pkgutil.pyc
18.42
KB
-rw-r--r--
platform.py
53.27
KB
-rwxr-xr-x
platform.pyc
36.81
KB
-rw-r--r--
plistlib.py
14.83
KB
-rw-r--r--
plistlib.pyc
18.7
KB
-rw-r--r--
popen2.py
8.22
KB
-rw-r--r--
popen2.pyc
8.78
KB
-rw-r--r--
poplib.py
12.52
KB
-rw-r--r--
poplib.pyc
12.97
KB
-rw-r--r--
posixfile.py
7.82
KB
-rw-r--r--
posixfile.pyc
7.45
KB
-rw-r--r--
posixpath.py
13.76
KB
-rw-r--r--
posixpath.pyc
11.3
KB
-rw-r--r--
pprint.py
11.5
KB
-rw-r--r--
pprint.pyc
9.92
KB
-rw-r--r--
profile.py
22.25
KB
-rwxr-xr-x
profile.pyc
16
KB
-rw-r--r--
pstats.py
26.08
KB
-rw-r--r--
pstats.pyc
24.31
KB
-rw-r--r--
pty.py
4.94
KB
-rw-r--r--
pty.pyc
4.83
KB
-rw-r--r--
py_compile.py
6.14
KB
-rw-r--r--
py_compile.pyc
6.45
KB
-rw-r--r--
pyclbr.py
13.07
KB
-rw-r--r--
pyclbr.pyc
9.4
KB
-rw-r--r--
pydoc.py
92.94
KB
-rwxr-xr-x
pydoc.pyc
89.38
KB
-rw-r--r--
quopri.py
6.8
KB
-rwxr-xr-x
quopri.pyc
6.4
KB
-rw-r--r--
random.py
31.57
KB
-rw-r--r--
random.pyc
24.88
KB
-rw-r--r--
re.py
13.11
KB
-rw-r--r--
re.pyc
13.06
KB
-rw-r--r--
repr.py
4.2
KB
-rw-r--r--
repr.pyc
5.23
KB
-rw-r--r--
rexec.py
19.68
KB
-rw-r--r--
rexec.pyc
23.45
KB
-rw-r--r--
rfc822.py
32.51
KB
-rw-r--r--
rfc822.pyc
30.93
KB
-rw-r--r--
rlcompleter.py
5.68
KB
-rw-r--r--
rlcompleter.pyc
5.82
KB
-rw-r--r--
robotparser.py
7.41
KB
-rw-r--r--
robotparser.pyc
7.73
KB
-rw-r--r--
runpy.py
10.45
KB
-rw-r--r--
runpy.pyc
8.17
KB
-rw-r--r--
sched.py
4.97
KB
-rw-r--r--
sched.pyc
4.86
KB
-rw-r--r--
sets.py
18.6
KB
-rw-r--r--
sets.pyc
16.39
KB
-rw-r--r--
sgmllib.py
17.46
KB
-rw-r--r--
sgmllib.pyc
14.98
KB
-rw-r--r--
sha.py
393
B
-rw-r--r--
sha.pyc
419
B
-rw-r--r--
shelve.py
7.89
KB
-rw-r--r--
shelve.pyc
9.97
KB
-rw-r--r--
shlex.py
10.88
KB
-rw-r--r--
shlex.pyc
7.34
KB
-rw-r--r--
shutil.py
18.1
KB
-rw-r--r--
shutil.pyc
17.92
KB
-rw-r--r--
site.py
19.89
KB
-rw-r--r--
site.pyc
19.25
KB
-rw-r--r--
sitecustomize.py
155
B
-rw-r--r--
sitecustomize.pyc
232
B
-rw-r--r--
smtpd.py
18.11
KB
-rwxr-xr-x
smtpd.pyc
15.46
KB
-rw-r--r--
smtplib.py
31.26
KB
-rwxr-xr-x
smtplib.pyc
29.44
KB
-rw-r--r--
sndhdr.py
5.83
KB
-rw-r--r--
sndhdr.pyc
7.15
KB
-rw-r--r--
socket.py
20.03
KB
-rw-r--r--
socket.pyc
15.67
KB
-rw-r--r--
sre.py
384
B
-rw-r--r--
sre.pyc
517
B
-rw-r--r--
sre_compile.py
19.35
KB
-rw-r--r--
sre_compile.pyc
12.24
KB
-rw-r--r--
sre_constants.py
7.03
KB
-rw-r--r--
sre_constants.pyc
6.04
KB
-rw-r--r--
sre_parse.py
27.27
KB
-rw-r--r--
sre_parse.pyc
19.05
KB
-rw-r--r--
ssl.py
35.24
KB
-rw-r--r--
ssl.pyc
30.13
KB
-rw-r--r--
stat.py
1.8
KB
-rw-r--r--
stat.pyc
2.67
KB
-rw-r--r--
statvfs.py
898
B
-rw-r--r--
statvfs.pyc
618
B
-rw-r--r--
string.py
20.04
KB
-rw-r--r--
string.pyc
19.34
KB
-rw-r--r--
stringold.py
12.16
KB
-rw-r--r--
stringold.pyc
12.2
KB
-rw-r--r--
stringprep.py
13.21
KB
-rw-r--r--
stringprep.pyc
14.11
KB
-rw-r--r--
struct.py
82
B
-rw-r--r--
struct.pyc
237
B
-rw-r--r--
subprocess.py
58.09
KB
-rw-r--r--
subprocess.pyc
40.84
KB
-rw-r--r--
sunau.py
16.82
KB
-rw-r--r--
sunau.pyc
17.88
KB
-rw-r--r--
sunaudio.py
1.37
KB
-rw-r--r--
sunaudio.pyc
1.93
KB
-rw-r--r--
symbol.py
2.01
KB
-rwxr-xr-x
symbol.pyc
2.95
KB
-rw-r--r--
symtable.py
7.26
KB
-rw-r--r--
symtable.pyc
11.41
KB
-rw-r--r--
sysconfig.py
24.61
KB
-rw-r--r--
sysconfig.pyc
18.24
KB
-rw-r--r--
tabnanny.py
11.07
KB
-rwxr-xr-x
tabnanny.pyc
8.01
KB
-rw-r--r--
tarfile.py
87.68
KB
-rw-r--r--
tarfile.pyc
73.35
KB
-rw-r--r--
telnetlib.py
26.39
KB
-rw-r--r--
telnetlib.pyc
22.53
KB
-rw-r--r--
tempfile.py
18.28
KB
-rw-r--r--
tempfile.pyc
19.4
KB
-rw-r--r--
textwrap.py
16.64
KB
-rw-r--r--
textwrap.pyc
11.59
KB
-rw-r--r--
this.py
1002
B
-rw-r--r--
this.pyc
1.19
KB
-rw-r--r--
threading.py
46.22
KB
-rw-r--r--
threading.pyc
41.52
KB
-rw-r--r--
timeit.py
11.82
KB
-rwxr-xr-x
timeit.pyc
11.47
KB
-rw-r--r--
toaiff.py
3.07
KB
-rw-r--r--
toaiff.pyc
3.03
KB
-rw-r--r--
token.py
2.85
KB
-rw-r--r--
token.pyc
3.72
KB
-rw-r--r--
tokenize.py
16.47
KB
-rw-r--r--
tokenize.pyc
13.86
KB
-rw-r--r--
trace.py
29.19
KB
-rwxr-xr-x
trace.pyc
22.19
KB
-rw-r--r--
traceback.py
11.02
KB
-rw-r--r--
traceback.pyc
11.37
KB
-rw-r--r--
tty.py
879
B
-rw-r--r--
tty.pyc
1.28
KB
-rw-r--r--
types.py
1.99
KB
-rw-r--r--
types.pyc
2.44
KB
-rw-r--r--
urllib.py
57.28
KB
-rw-r--r--
urllib.pyc
49.07
KB
-rw-r--r--
urllib2.py
51.18
KB
-rw-r--r--
urllib2.pyc
45.89
KB
-rw-r--r--
urlparse.py
15.66
KB
-rw-r--r--
urlparse.pyc
14.74
KB
-rw-r--r--
user.py
1.59
KB
-rw-r--r--
user.pyc
1.68
KB
-rw-r--r--
uu.py
6.4
KB
-rwxr-xr-x
uu.pyc
4.2
KB
-rw-r--r--
uuid.py
22.67
KB
-rw-r--r--
uuid.pyc
22.19
KB
-rw-r--r--
warnings.py
13.76
KB
-rw-r--r--
warnings.pyc
12.81
KB
-rw-r--r--
wave.py
18.14
KB
-rw-r--r--
wave.pyc
19.43
KB
-rw-r--r--
weakref.py
12.66
KB
-rw-r--r--
weakref.pyc
14.9
KB
-rw-r--r--
webbrowser.py
22.19
KB
-rwxr-xr-x
webbrowser.pyc
19.23
KB
-rw-r--r--
whichdb.py
3.3
KB
-rw-r--r--
whichdb.pyc
2.18
KB
-rw-r--r--
wsgiref.egg-info
187
B
-rw-r--r--
xdrlib.py
5.93
KB
-rw-r--r--
xdrlib.pyc
9.59
KB
-rw-r--r--
xmllib.py
34.05
KB
-rw-r--r--
xmllib.pyc
26.11
KB
-rw-r--r--
xmlrpclib.py
50.53
KB
-rw-r--r--
xmlrpclib.pyc
42.59
KB
-rw-r--r--
zipfile.py
57.37
KB
-rw-r--r--
zipfile.pyc
40.6
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : DocXMLRPCServer.py
"""Self documenting XML-RPC Server. This module can be used to create XML-RPC servers that serve pydoc-style documentation in response to HTTP GET requests. This documentation is dynamically generated based on the functions and methods registered with the server. This module is built upon the pydoc and SimpleXMLRPCServer modules. """ import pydoc import inspect import re import sys from SimpleXMLRPCServer import (SimpleXMLRPCServer, SimpleXMLRPCRequestHandler, CGIXMLRPCRequestHandler, resolve_dotted_attribute) class ServerHTMLDoc(pydoc.HTMLDoc): """Class used to generate pydoc HTML document for a server""" def markup(self, text, escape=None, funcs={}, classes={}, methods={}): """Mark up some plain text, given a context of symbols to look for. Each context dictionary maps object names to anchor names.""" escape = escape or self.escape results = [] here = 0 # XXX Note that this regular expression does not allow for the # hyperlinking of arbitrary strings being used as method # names. Only methods with names consisting of word characters # and '.'s are hyperlinked. pattern = re.compile(r'\b((http|ftp)://\S+[\w/]|' r'RFC[- ]?(\d+)|' r'PEP[- ]?(\d+)|' r'(self\.)?((?:\w|\.)+))\b') while 1: match = pattern.search(text, here) if not match: break start, end = match.span() results.append(escape(text[here:start])) all, scheme, rfc, pep, selfdot, name = match.groups() if scheme: url = escape(all).replace('"', '"') results.append('<a href="%s">%s</a>' % (url, url)) elif rfc: url = 'http://www.rfc-editor.org/rfc/rfc%d.txt' % int(rfc) results.append('<a href="%s">%s</a>' % (url, escape(all))) elif pep: url = 'http://www.python.org/dev/peps/pep-%04d/' % int(pep) results.append('<a href="%s">%s</a>' % (url, escape(all))) elif text[end:end+1] == '(': results.append(self.namelink(name, methods, funcs, classes)) elif selfdot: results.append('self.<strong>%s</strong>' % name) else: results.append(self.namelink(name, classes)) here = end results.append(escape(text[here:])) return ''.join(results) def docroutine(self, object, name, mod=None, funcs={}, classes={}, methods={}, cl=None): """Produce HTML documentation for a function or method object.""" anchor = (cl and cl.__name__ or '') + '-' + name note = '' title = '<a name="%s"><strong>%s</strong></a>' % ( self.escape(anchor), self.escape(name)) if inspect.ismethod(object): args, varargs, varkw, defaults = inspect.getargspec(object.im_func) # exclude the argument bound to the instance, it will be # confusing to the non-Python user argspec = inspect.formatargspec ( args[1:], varargs, varkw, defaults, formatvalue=self.formatvalue ) elif inspect.isfunction(object): args, varargs, varkw, defaults = inspect.getargspec(object) argspec = inspect.formatargspec( args, varargs, varkw, defaults, formatvalue=self.formatvalue) else: argspec = '(...)' if isinstance(object, tuple): argspec = object[0] or argspec docstring = object[1] or "" else: docstring = pydoc.getdoc(object) decl = title + argspec + (note and self.grey( '<font face="helvetica, arial">%s</font>' % note)) doc = self.markup( docstring, self.preformat, funcs, classes, methods) doc = doc and '<dd><tt>%s</tt></dd>' % doc return '<dl><dt>%s</dt>%s</dl>\n' % (decl, doc) def docserver(self, server_name, package_documentation, methods): """Produce HTML documentation for an XML-RPC server.""" fdict = {} for key, value in methods.items(): fdict[key] = '#-' + key fdict[value] = fdict[key] server_name = self.escape(server_name) head = '<big><big><strong>%s</strong></big></big>' % server_name result = self.heading(head, '#ffffff', '#7799ee') doc = self.markup(package_documentation, self.preformat, fdict) doc = doc and '<tt>%s</tt>' % doc result = result + '<p>%s</p>\n' % doc contents = [] method_items = sorted(methods.items()) for key, value in method_items: contents.append(self.docroutine(value, key, funcs=fdict)) result = result + self.bigsection( 'Methods', '#ffffff', '#eeaa77', pydoc.join(contents)) return result class XMLRPCDocGenerator: """Generates documentation for an XML-RPC server. This class is designed as mix-in and should not be constructed directly. """ def __init__(self): # setup variables used for HTML documentation self.server_name = 'XML-RPC Server Documentation' self.server_documentation = \ "This server exports the following methods through the XML-RPC "\ "protocol." self.server_title = 'XML-RPC Server Documentation' def set_server_title(self, server_title): """Set the HTML title of the generated server documentation""" self.server_title = server_title def set_server_name(self, server_name): """Set the name of the generated HTML server documentation""" self.server_name = server_name def set_server_documentation(self, server_documentation): """Set the documentation string for the entire server.""" self.server_documentation = server_documentation def generate_html_documentation(self): """generate_html_documentation() => html documentation for the server Generates HTML documentation for the server using introspection for installed functions and instances that do not implement the _dispatch method. Alternatively, instances can choose to implement the _get_method_argstring(method_name) method to provide the argument string used in the documentation and the _methodHelp(method_name) method to provide the help text used in the documentation.""" methods = {} for method_name in self.system_listMethods(): if method_name in self.funcs: method = self.funcs[method_name] elif self.instance is not None: method_info = [None, None] # argspec, documentation if hasattr(self.instance, '_get_method_argstring'): method_info[0] = self.instance._get_method_argstring(method_name) if hasattr(self.instance, '_methodHelp'): method_info[1] = self.instance._methodHelp(method_name) method_info = tuple(method_info) if method_info != (None, None): method = method_info elif not hasattr(self.instance, '_dispatch'): try: method = resolve_dotted_attribute( self.instance, method_name ) except AttributeError: method = method_info else: method = method_info else: assert 0, "Could not find method in self.functions and no "\ "instance installed" methods[method_name] = method documenter = ServerHTMLDoc() documentation = documenter.docserver( self.server_name, self.server_documentation, methods ) return documenter.page(self.server_title, documentation) class DocXMLRPCRequestHandler(SimpleXMLRPCRequestHandler): """XML-RPC and documentation request handler class. Handles all HTTP POST requests and attempts to decode them as XML-RPC requests. Handles all HTTP GET requests and interprets them as requests for documentation. """ def do_GET(self): """Handles the HTTP GET request. Interpret all HTTP GET requests as requests for server documentation. """ # Check that the path is legal if not self.is_rpc_path_valid(): self.report_404() return response = self.server.generate_html_documentation() self.send_response(200) self.send_header("Content-type", "text/html") self.send_header("Content-length", str(len(response))) self.end_headers() self.wfile.write(response) class DocXMLRPCServer( SimpleXMLRPCServer, XMLRPCDocGenerator): """XML-RPC and HTML documentation server. Adds the ability to serve server documentation to the capabilities of SimpleXMLRPCServer. """ def __init__(self, addr, requestHandler=DocXMLRPCRequestHandler, logRequests=1, allow_none=False, encoding=None, bind_and_activate=True): SimpleXMLRPCServer.__init__(self, addr, requestHandler, logRequests, allow_none, encoding, bind_and_activate) XMLRPCDocGenerator.__init__(self) class DocCGIXMLRPCRequestHandler( CGIXMLRPCRequestHandler, XMLRPCDocGenerator): """Handler for XML-RPC data and documentation requests passed through CGI""" def handle_get(self): """Handles the HTTP GET request. Interpret all HTTP GET requests as requests for server documentation. """ response = self.generate_html_documentation() print 'Content-Type: text/html' print 'Content-Length: %d' % len(response) print sys.stdout.write(response) def __init__(self): CGIXMLRPCRequestHandler.__init__(self) XMLRPCDocGenerator.__init__(self)
Close