-
Notifications
You must be signed in to change notification settings - Fork 0
/
fun.py
115 lines (82 loc) · 2.99 KB
/
fun.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
import tkinter as tk
import requests
import http.cookiejar
import zalogowany
def zamknijOkno():
o.destroy()
cookie_jar = http.cookiejar.CookieJar()
api = "https://api-dziennik.dziennik-szkola.ct8.pl/token"
def wylogujSie():
nowe_okno("Zaloguj się", "Zaloguj się")
def authorization_code(code):
print("zaczynam funkcje authorization_code")
data = {
'grant_type': 'authorization_code',
'code': code
}
print("to ja ale przed zapytaniem do: ", api)
res = requests.post(api, json = data)
if res.status_code == 200:
print("udalo sie zalogowac mordko: ", res.text)
# Zapisz ciasteczka uzyskane z odpowiedzi HTTP do pliku
with open('cookies.txt', 'w') as cookies_file:
cookies_file.write("%s" % res.json()) # Zapisz ciasteczka do pliku
zalogowany.oknoPowitalne(o, res.json())
else:
print("nie udalo sie zalogowac, blad: ", res.status_code)
def zapytanieDoDziennika(login, haslo):
print("Zaczyna inicjazje logowania")
data = {
'grant_type': 'password',
'login': login,
'password': haslo
}
print("To znowu ja, inicjuje już przed requests.post")
response = requests.post(api, json=data)
print("jestem już po requests.post")
if response.status_code == 200:
print("======================================================")
json_data = response.json()
if 'code' in json_data['message']:
authorization_code(json_data['message']['code'])
return 0
elif 'token' in json_data['message']:
return ("Chyba twoje konto wymaga 2FA autoryzacji. \n"
"Aplikacja nie obsługuje 2FA.");
return 0
else:
print("========================")
print("Wystąpił błąd podczas oznalezienie code, ciąg znaków z json %s" % json_data)
print("========================")
return 0
else:
print("LAMUS hahahah")
print("Błąd autoryzacji: %s" % response.status_code);
def pokaz_wpisane_dane():
wpisane_dane = login.get()
etykieta_wyniku.config(text="Login: " + wpisane_dane)
def autoryzujSie():
l = login.get()
h = haslo.get()
zapytanieDoDziennika(l, h)
def nowe_okno(nazwa, tekst):
global login, etykieta_wyniku, haslo, o
o = tk.Tk()
o.title(nazwa)
e = tk.Label(o, text = tekst)
e.pack(pady=20)
login = tk.Entry(o, width=20, font=("Arial", 12))
login.pack(pady=2)
haslo = tk.Entry(o, width=20, font=("Arial", 12), show = "*")
haslo.pack(pady=2)
# Przycisk do pokazania wprowadzonych danych
przycisk = tk.Button(o, text="Zamknij", command=o.destroy)
przycisk.pack()
# Przycisk do pokazania wprowadzonych danych
przycisk2 = tk.Button(o, text="Autoryzuj się", command=autoryzujSie)
przycisk2.pack()
# Etykieta wyniku
etykieta_wyniku = tk.Label(o, text="", font=("Arial", 12))
etykieta_wyniku.pack(pady=10)
o.geometry("300x300")
o.mainloop()