#!/usr/bin/env python3 from .connectors import get_connector from .fxckers._map import fxckers_map import re import requests class LibreFi: def __init__(self): self.connector = get_connector()() self.current_fxcker = None def _periodical_check(self): status = self.connector.status() print(status) if not status["connected"]: 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 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()