You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haproxy-wi/app/modules/roxy_wi_tools.py

67 lines
2.2 KiB

from datetime import datetime, timedelta
from pytz import timezone
import configparser
class GetConfigVar:
def __init__(self):
self.path_config = "/etc/roxy-wi/roxy-wi.cfg"
self.config = configparser.ConfigParser(interpolation=configparser.ExtendedInterpolation())
self.config.read(self.path_config)
def get_config_var(self, sec, var):
try:
return self.config.get(sec, var)
except configparser.Error as e:
print(f'error: in the config file: {self.path_config}: {e}')
except Exception as e:
print(f'Check the config file. Presence section {sec} and parameter {var}')
print(e)
return
class GetDate:
def __init__(self, time_zone=None):
self.time_zone = time_zone
self.fmt = "%Y-%m-%d.%H:%M:%S"
def return_date(self, log_type, **kwargs):
if self.time_zone:
cur_time_zone = timezone(self.time_zone)
else:
cur_time_zone = timezone('UTC')
if kwargs.get('timedelta'):
now_utc = datetime.now(cur_time_zone) + timedelta(days=kwargs.get('timedelta'))
elif kwargs.get('timedelta_minus'):
now_utc = datetime.now(cur_time_zone) - timedelta(days=kwargs.get('timedelta_minus'))
elif kwargs.get('timedelta_minutes'):
now_utc = datetime.now(cur_time_zone) + timedelta(minutes=kwargs.get('timedelta_minutes'))
elif kwargs.get('timedelta_minutes_minus'):
now_utc = datetime.now(cur_time_zone) - timedelta(minutes=kwargs.get('timedelta_minutes_minus'))
else:
now_utc = datetime.now(cur_time_zone)
if log_type == 'config':
self.fmt = "%Y-%m-%d.%H:%M:%S"
elif log_type == 'logs':
self.fmt = '%Y%m%d'
elif log_type == "date_in_log":
self.fmt = "%b %d %H:%M:%S"
elif log_type == 'regular':
self.fmt = "%Y-%m-%d %H:%M:%S"
return now_utc.strftime(self.fmt)
class Tools:
@staticmethod
def get_hash(need_hashed):
if need_hashed is None:
return need_hashed
import hashlib
h = hashlib.md5(need_hashed.encode('utf-8'))
p = h.hexdigest()
return p