-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommon.py
38 lines (29 loc) · 1.04 KB
/
common.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
"""
Common functions and variables used by multiple scripts.
"""
import os
import logging
from logging.handlers import TimedRotatingFileHandler
from dotenv import load_dotenv
load_dotenv()
config = {
"imap_server": os.getenv("imap_server"),
"userid": os.getenv("userid"),
"userpw": os.getenv("userpw"),
"mailbox": os.getenv("mailbox", "INBOX"),
"port": int(os.getenv("port", "8000")),
"refresh_seconds": int(os.getenv("refresh_seconds", "300")),
"data_dir": os.getenv("data_dir", "data"),
"max_item_per_feed": int(os.getenv("max_item_per_feed", "100")),
}
# Set up logging
logging_path = os.path.join(config.get("data_dir"), "email2rss.log")
# Create a timed rotating file handler that rotates the log file every week
file_handler = TimedRotatingFileHandler(
logging_path, when="D", interval=1, backupCount=15
)
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(filename)s:%(lineno)d - %(message)s",
handlers=[logging.FileHandler(logging_path), logging.StreamHandler()],
)