ich bin ein Anfänger in Sachen Programmieren und habe mir versucht einiges anzueigenen.
Jetzt würde ich gerne mal von Experten wissen, ob man den Code so lassen kann oder ob er Scheiße ist
Code: Alles auswählen
import requests,hashlib,re,datetime
class Router:
def __init__(self):
self.headers= ""
self.httoken=""
self.session=""
def GetConnection(self):
self.session = requests.Session()
self.session.post('http://192.168.2.1/data/Login.json', data={'password': hashlib.md5(bytes("dasSicherstePasswort" , 'utf-8')).hexdigest(), 'showpw': '0', 'httoken': ''})
self.httoken = re.findall('_httoken = (\d*);', self.session.get('http://192.168.2.1' + '/html/content/overview/index.html?lang=de').text)[0]
self.headers = {'Referer': 'http://192.168.2.1' + '/html/content/overview/index.html?lang=de'}
#return self.headers,self.httoken,self.session
def verbinungsTest(self):
if self.headers:
return self.headers,self.httoken,self.session
print("geht")
else:
print("geht nicht")
self.GetConnection()
return self.headers,self.httoken,self.session
def getTelefonbuch(self):
headers,httoken,session = self.verbinungsTest()
return session.get("http://192.168.2.1/data/PhoneBook.json",params={"_tn": httoken},headers=headers)
def Wlanoff(self):
headers,httoken,session = self.verbinungsTest()
return session.post("http://192.168.2.1/data/Modules.json",data={"use_wlan": "0", 'httoken': httoken}, headers=headers)
def Wlanon(self):
headers,httoken,session = self.verbinungsTest()
return session.post("http://192.168.2.1/data/Modules.json",data={"use_wlan": "1", 'httoken': httoken}, headers=headers)
def SetWlan5ghz(self):
headers,httoken,session =self.verbinungsTest()
data = {"wlan_5ghz_ssid" : "Wlan von mir", "httoken": httoken}
return session.post("http://192.168.2.1/data/WLANBasic.json",data=data,headers=headers)
def ghzOn(self):
headers,httoken,session =self.verbinungsTest()
data = {"use_wlan_5ghz" : "1", "httoken" : httoken}
response = session.post("http://192.168.2.1/data/Modules.json",data=data, headers=headers)
print(response.text)
def ghzOff(self):
headers,httoken,session =self.verbinungsTest()
data = {"use_wlan_5ghz" : "0", "httoken" : httoken}
response = session.post("http://192.168.2.1/data/Modules.json",data=data, headers=headers)
#session.close()
print(response.text)
def getRuflisten(self,typ="all"):
headers, httoken, session = self.verbinungsTest()
data = session.get('http://192.168.2.1/data/PhoneCalls.json', params={"_tn": httoken}, headers=headers).json()
if typ == 'anrufe':
return [(i["varid"], [data["varvalue"] for data in i["varvalue"]]) for i in data[19:] if
i["varid"] == 'adddialedcalls']
elif typ == 'eingehend':
return [(i["varid"], [data["varvalue"] for data in i["varvalue"]]) for i in data[19:] if
i["varid"] == 'addtakencalls']
elif typ == 'verpasst':
return [(i["varid"], [data["varvalue"] for data in i["varvalue"]]) for i in data[19:] if
i["varid"] == 'addmissedcalls']
elif typ == 'all':
return [(i["varid"], [data["varvalue"] for data in i["varvalue"]]) for i in data[19:]]
elif typ == 'heute':
return [i for i in [(i["varid"], [data["varvalue"] for data in i["varvalue"]]) for i in data[19:]] if
datetime.date.today().strftime("%d.%m.%Y") in i[1]]
#return data
#test = Router()
#print(test.getRuflisten())