Clean up code base.
This commit is contained in:
45
antidrift.py
45
antidrift.py
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user