refactored periodical check
parent
75266f42a9
commit
b05b3832ec
|
@ -19,24 +19,36 @@ class LibreFi:
|
|||
networks = self.connector.list()
|
||||
chosen_network = None
|
||||
for network in networks:
|
||||
for fxck_element in fxckers_map:
|
||||
for fxck_net_name in fxck_element[0]:
|
||||
if fxck_net_name[:3] == "re:":
|
||||
if re.fullmatch(fxck_net_name,
|
||||
"re:" + network["ssid"]):
|
||||
chosen_network = network
|
||||
self.current_fxcker = fxck_element[1]
|
||||
break
|
||||
elif fxck_net_name == network["ssid"]:
|
||||
chosen_network = network
|
||||
self.current_fxcker = fxck_element[1]
|
||||
break
|
||||
self._assign_fxcker_to_network(network)
|
||||
if self.current_fxcker:
|
||||
chosen_network = network
|
||||
break
|
||||
if chosen_network is not None:
|
||||
self.connector.connect(chosen_network)
|
||||
status = self.connector.status()
|
||||
if status["connected"]:
|
||||
check_req = requests.get(
|
||||
"http://detectportal.firefox.com/success.txt",
|
||||
allow_redirects=False)
|
||||
if check_req.text.strip() != "success":
|
||||
self.current_fxcker.unfxck()
|
||||
if not self.current_fxcker:
|
||||
self._assign_fxcker_to_network(
|
||||
{"ssid": status["connection_name"]})
|
||||
if self.current_fxcker:
|
||||
check_req = requests.get(
|
||||
"http://detectportal.firefox.com/success.txt",
|
||||
allow_redirects=False)
|
||||
if check_req.text.strip() != "success":
|
||||
print(self.current_fxcker)
|
||||
self.current_fxcker.unfxck(
|
||||
location=check_req.headers["location"],
|
||||
)
|
||||
|
||||
def _assign_fxcker_to_network(self, network):
|
||||
for fxck_element in fxckers_map:
|
||||
for fxck_net_name in fxck_element[0]:
|
||||
if fxck_net_name[:3] == "re:":
|
||||
if re.fullmatch(fxck_net_name,
|
||||
"re:" + network["ssid"]):
|
||||
self.current_fxcker = fxck_element[1]()
|
||||
break
|
||||
elif fxck_net_name == network["ssid"]:
|
||||
self.current_fxcker = fxck_element[1]()
|
||||
break
|
||||
return self.current_fxcker
|
||||
|
|
Loading…
Reference in New Issue