forked from pyload/pyload
-
Notifications
You must be signed in to change notification settings - Fork 1
/
systemCheck.py
142 lines (106 loc) · 3.33 KB
/
systemCheck.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import os
import subprocess
import sys
#from module import InitHomeDir
#very ugly prints, but at least it works with python 3
def main():
print("##### System Information #####\n")
print("Platform:", sys.platform)
print("Operating System:", os.name)
print("Python:", sys.version.replace("\n", "")+ "\n")
try:
import pycurl
print("pycurl:", pycurl.version)
except:
print("pycurl:", "missing")
try:
import Crypto
print("py-crypto:", Crypto.__version__)
except:
print("py-crypto:", "missing")
try:
import OpenSSL
print("OpenSSL:", OpenSSL.version.__version__)
except:
print("OpenSSL:", "missing")
try:
import Image
print("image libary:", Image.VERSION)
except:
print("image libary:", "missing")
try:
import PyQt4.QtCore
print("pyqt:", PyQt4.QtCore.PYQT_VERSION_STR)
except:
print("pyqt:", "missing")
print("\n\n##### System Status #####")
print("\n## pyLoadCore ##")
core_err = []
core_info = []
if sys.version_info > (2, 8):
core_err.append("Your python version is to new, Please use Python 2.6/2.7")
if sys.version_info < (2, 5):
core_err.append("Your python version is to old, Please use at least Python 2.5")
try:
import pycurl
except:
core_err.append("Please install py-curl to use pyLoad.")
try:
from pycurl import AUTOREFERER
except:
core_err.append("Your py-curl version is to old, please upgrade!")
try:
import Image
except:
core_err.append("Please install py-imaging/pil to use Hoster, which uses captchas.")
pipe = subprocess.PIPE
try:
p = subprocess.call(["tesseract"], stdout=pipe, stderr=pipe)
except:
core_err.append("Please install tesseract to use Hoster, which uses captchas.")
try:
import OpenSSL
except:
core_info.append("Install OpenSSL if you want to create a secure connection to the core.")
if core_err:
print("The system check has detected some errors:\n")
for err in core_err:
print(err)
else:
print("No Problems detected, pyLoadCore should work fine.")
if core_info:
print("\nPossible improvements for pyload:\n")
for line in core_info:
print(line)
print("\n## pyLoadGui ##")
gui_err = []
try:
import PyQt4
except:
gui_err.append("GUI won't work without pyqt4 !!")
if gui_err:
print("The system check has detected some errors:\n")
for err in gui_err:
print(err)
else:
print("No Problems detected, pyLoadGui should work fine.")
print("\n## Webinterface ##")
web_err = []
web_info = []
try:
import flup
except:
web_info.append("Install Flup to use FastCGI or optional webservers.")
if web_err:
print("The system check has detected some errors:\n")
for err in web_err:
print(err)
else:
print("No Problems detected, Webinterface should work fine.")
if web_info:
print("\nPossible improvements for webinterface:\n")
for line in web_info:
print(line)
if __name__ == "__main__":
main()
raw_input("Press Enter to Exit.")