diff --git a/Connector.py b/Connector.py new file mode 100644 index 0000000..4ee1996 --- /dev/null +++ b/Connector.py @@ -0,0 +1,22 @@ +import requests +import Logger as logger + +class Infomaniak: + url: str="" + hostname: str="" + username: str="" + password: str="" + udpate_ip: str="" + def __init__(self,url,hostname,username,password,update_ip=None,syslog_option:bool=False): + self.url=url + self.hostname=hostname + self.username=username + self.password=password + self.update_ip=update_ip + self.logger=logger.Logger(syslog=syslog_option) + + def update(self) -> str: + return requests.get(self._updatelink()).text + + def _updatelink(self) -> str: + return f"https://{self.username}:{self.password}@{self.url}?hostname={self.hostname}{f"&myip={self.update_ip}" if self.update_ip else""}" diff --git a/Logger.py b/Logger.py new file mode 100644 index 0000000..d7adf86 --- /dev/null +++ b/Logger.py @@ -0,0 +1,30 @@ +import sys +import datetime +import syslog +#from warnings import warn + +class Logger: + pre:str + timestamp:bool + message:str + syslog:bool + debug:bool + + def __init__(self, syslog:bool=False, debug:bool=False): + self.syslog=syslog + self.debug=debug + + def log(self,severity, loglevel, msg): + print(f"{loglevel}, {datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}, {msg}") + if not self.debug or self.syslog: + syslog.syslog(severity, f"{loglevel}, {msg}") + + + def info(self, msg): + self.log(syslog.LOG_INFO,"INFO",msg) + def warn(self, msg): + self.log(syslog.LOG_WARNING,"WARNING",msg) + def error(self, msg): + self.log(syslog.LOG_ERR,"ERROR",msg) + def _debug(self, msg): + self.log(syslog.LOG_DEBUG,"DEBUG",msg) diff --git a/main.py b/main.py new file mode 100755 index 0000000..2440504 --- /dev/null +++ b/main.py @@ -0,0 +1,15 @@ +import Connector as connector +import Logger as logger + + +def main(): + ExternalConnector=connector.Infomaniak("infomaniak.com/nic/update", "grug.cloud", "ddns-updater", "gTgN8gz5i40uBFunvP8M",syslog_option=True) + log = logger.Logger(syslog=True) + log.info("script gestartet") + log.warn("warnung") + log.error("error") + log._debug("thing worked") +#good, IP invalid, nochg, + +if __name__ == "__main__": + main()