Clean up code base.

This commit is contained in:
2022-06-25 19:24:06 -04:00
parent 0f8315fca2
commit 3de609c3c1
6 changed files with 54 additions and 56 deletions

View File

@@ -4,27 +4,20 @@
import logging
import shutil
import sys
import time
import re
from pathlib import Path
from typing import List
from gi.repository import GLib, GObject
import dbus
import dbus.service
from dbus.mainloop.glib import DBusGMainLoop
from antidrift.config import Config, Block
import antidrift.client as client
from antidrift.config import Config
from antidrift.daemon import AntiDriftDaemon
def init_logging(log_file: Path):
class DuplicateFilter(logging.Filter):
def filter(self, record):
def filter(self, record) -> bool:
current_log = (record.module, record.levelno, record.msg)
if current_log != getattr(self, "last_log", None):
self.last_log = current_log
return True
return False
logging.basicConfig(filename=log_file,
format='%(asctime)s | %(levelname)-8s | %(message)s',
datefmt='%H:%M:%S',
@@ -34,41 +27,25 @@ def init_logging(log_file: Path):
logger.addFilter(DuplicateFilter())
def antidrift_is_running() -> bool:
bus = dbus.SessionBus()
try:
bus_object = bus.get_object("com.antidrift", "/com/antidrift")
interface = dbus.Interface(bus_object, "com.antidrift")
except dbus.exceptions.DBusException:
return False
reply = interface.status()
if reply == "running":
return True
return False
def client_mode(config: Config):
print("client_mode")
def check_for_xdotool():
r = shutil.which("xdotool")
if not r:
""" Check if xdotool is in path and exit if not """
result = shutil.which("xdotool")
if not result:
logging.critical("Please install xdotool")
sys.exit(1)
def main() -> None:
""" Main routine that dispatches to client or daemon """
check_for_xdotool()
config = Config.load("config.yaml")
init_logging(config.log_file)
if antidrift_is_running():
client_mode(config)
if client.antidrift_is_running():
client.client_mode(config)
else:
a = AntiDriftDaemon(config)
a.run()
add = AntiDriftDaemon(config)
add.run()
DBusGMainLoop(set_as_default=True)
if __name__ == "__main__":
main()