diff --git a/README.md b/README.md index bd5167c..474d4e6 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ A daemon to monitore filesystems events with inotify on Linux and execute tasks, which can be Python functions or shell commands. ## Dependencies -[pyinotify](https://github.com/seb-m/pyinotify) +* [pyinotify](https://github.com/seb-m/pyinotify) ## Installation * Install pyinotifyd with pip. @@ -10,3 +10,22 @@ A daemon to monitore filesystems events with inotify on Linux and execute tasks, pip install pyinotifyd ``` * Modify /etc/pyinotifyd/config.py according to your needs. + +## Global configuration +The config file is written in Python syntax. pyinotifyd reads config options from a dictionary named **pyinotifyd_config**. +This is the default configuration: +```python +pyinotifyd_config = { + "watches": [], + "loglevel": logging.INFO, + "shutdown_timeout": 30 +} +``` + +Global options: +* **watches** + List of Watches, description below. +* **loglevel** + Set the loglevel, you may use every available loglevel of the Python logging framework. +* **shutdown_timeout** + Timeout to wait for pending tasks to complete when shutdown. diff --git a/pyinotifyd.py b/pyinotifyd.py index b1e158c..8aef052 100755 --- a/pyinotifyd.py +++ b/pyinotifyd.py @@ -285,15 +285,15 @@ def main(): print(f"pyinotifyd ({__version__})") sys.exit(0) - default_config = { + cfg = { "watches": [], "loglevel": logging.INFO, "shutdown_timeout": 30} - cfg = {"pyinotifyd_config": default_config} + cfg_vars = {"pyinotifyd_config": cfg} with open(args.config, "r") as c: - exec(c.read(), globals(), cfg) - cfg = cfg["pyinotifyd_config"] + exec(c.read(), globals(), cfg_vars) + cfg.update(cfg_vars["pyinotifyd_config"]) console = logging.StreamHandler() formatter = logging.Formatter(