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