-
Notifications
You must be signed in to change notification settings - Fork 0
/
nuxkit.py
101 lines (81 loc) · 2.59 KB
/
nuxkit.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
from settings import *
from os import system as sys
import sys as program
from platform import system
import getpass
import requests
cleaner = {'Windows': 'cls',
'Linux': 'clear'}[system()]
def connected_to_internet(url=server_url, timeout=5):
try:
_ = requests.get(url, timeout=timeout)
return 'OK'
except requests.ConnectionError:
pass
return 'ERROR'
def main(logged_in=False, username='', token=''):
sys(cleaner)
print(nux.format(
login_user=username if logged_in else '----',
network_status=connected_to_internet(),))
if logged_in:
while True:
command = oinput('')
if command.startswith('exi'):
program.exit()
data = {
'printable': False,
}
elif command.startswith('hel'):
data = {
'printable': True,
'data': help,
}
elif command.startswith('sni'):
data = {
'printable': True,
'data': commander(snippet_url, token),
}
elif command.startswith('tea'):
data = {
'printable': True,
'data': commander(team_url, token),
}
elif command.startswith('sug'):
data = {
'printable': True,
'data': commander(suggest_url, token),
}
elif command.startswith('cle'):
sys(cleaner)
data = {
'printable': False,
}
elif command.startswith('logout'):
main()
if data['printable']:
print(data['data'], end='\n\n')
data = {
'printable': False,
}
else:
username = oinput('Username')
password = getpass.getpass(prompt=param('Password'), stream=None)
login_status = login(username, password)
if login_status:
main(logged_in=True, username=username, token=login_status)
else:
main()
def login(username, password):
try:
r = requests.post(
login_url, json={'username': username, 'password': password}).json()
return r['key']
except:
return False
def commander(url, token):
snippets = requests.get(url, headers={
'Authorization': 'token {}'.format(token)}).json()
return snippets
if __name__ == '__main__':
main()