mirror of
https://codeberg.org/shm0rt/ddns-pdns-updater.git
synced 2025-07-29 13:39:06 +02:00
Compare commits
3 commits
768bcb7817
...
ccebffb322
Author | SHA1 | Date | |
---|---|---|---|
ccebffb322 | |||
31888ccdd3 | |||
39508da73b |
4 changed files with 78 additions and 0 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
__pycache__
|
||||||
|
.ropeproject
|
22
Connector.py
Normal file
22
Connector.py
Normal file
|
@ -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""}"
|
39
Logger.py
Normal file
39
Logger.py
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
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):
|
||||||
|
if loglevel == "DEBUG":
|
||||||
|
if self.debug:
|
||||||
|
self.print_console(severity, loglevel, msg)
|
||||||
|
else:
|
||||||
|
self.print_console(severity, loglevel, msg)
|
||||||
|
|
||||||
|
if self.syslog:
|
||||||
|
self.print_syslog(severity, loglevel, msg)
|
||||||
|
|
||||||
|
def print_console(self, severity, loglevel, msg):
|
||||||
|
print(f"{loglevel}, {datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")}, {msg}")
|
||||||
|
def print_syslog(self, severity, loglevel, msg):
|
||||||
|
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):
|
||||||
|
if self.debug:
|
||||||
|
self.log(syslog.LOG_DEBUG,"DEBUG",msg)
|
15
main.py
Executable file
15
main.py
Executable file
|
@ -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, debug=False)
|
||||||
|
log.info("script gestartet")
|
||||||
|
log.warn("warnung")
|
||||||
|
log.error("error")
|
||||||
|
log._debug("thing worked")
|
||||||
|
#good, IP invalid, nochg,
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Add table
Add a link
Reference in a new issue