added config loading from .env
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
CARDDAV_URL=
|
||||
CARDDAV_USER=
|
||||
CARDDAV_PASSWORD=
|
||||
CARDDAV_IGNORE_STR=
|
||||
@@ -2,4 +2,3 @@
|
||||
**/venv
|
||||
**/.env
|
||||
**/*.pyc
|
||||
key
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
import logging
|
||||
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
from flask import Flask, render_template
|
||||
import sys, os
|
||||
|
||||
from src.carddav import print_contacts, get_contacts
|
||||
from src.person import Person
|
||||
|
||||
from src import config
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) != 4:
|
||||
print(f"Usage: {sys.argv[0]} <url> <user> <password>")
|
||||
sys.exit(1)
|
||||
|
||||
contacts = get_contacts(sys.argv[1], sys.argv[2], sys.argv[3])
|
||||
contacts = get_contacts(config.CARDDAV_URL, config.CARDDAV_USER, config.CARDDAV_PASSWORD)
|
||||
print_contacts(contacts)
|
||||
|
||||
app.run(host="0.0.0.0", port=8080, debug=True, use_reloader=False)
|
||||
#app.run(host="0.0.0.0", port=8080, debug=True, use_reloader=False)
|
||||
|
||||
@@ -2,12 +2,15 @@ blinker==1.9.0
|
||||
certifi==2026.7.22
|
||||
charset-normalizer==3.5.1
|
||||
click==8.4.2
|
||||
dotenv==0.9.9
|
||||
Flask==3.1.3
|
||||
idna==3.18
|
||||
itsdangerous==2.2.0
|
||||
Jinja2==3.1.6
|
||||
logging==0.4.9.6
|
||||
MarkupSafe==3.0.3
|
||||
python-dateutil==2.9.0.post0
|
||||
python-dotenv==1.2.2
|
||||
pytz==2026.3.post1
|
||||
requests==2.34.2
|
||||
six==1.17.0
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import sys, os, logging
|
||||
from dotenv import load_dotenv
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
try:
|
||||
load_dotenv()
|
||||
CARDDAV_URL = os.environ["CARDDAV_URL"]
|
||||
CARDDAV_USER = os.environ["CARDDAV_USER"]
|
||||
CARDDAV_PASSWORD = os.environ["CARDDAV_PASSWORD"]
|
||||
CARDDAV_IGNORE_STR = os.environ["CARDDAV_IGNORE_STR"]
|
||||
|
||||
logger.info("Config loaded!")
|
||||
|
||||
except Exception:
|
||||
logger.exception("Failed to load config from .env!")
|
||||
sys.exit(1)
|
||||
+3
-1
@@ -1,6 +1,8 @@
|
||||
import vobject
|
||||
from datetime import date, datetime
|
||||
|
||||
from src import config
|
||||
|
||||
class Person:
|
||||
def __init__(self, vcard):
|
||||
self.vcard = vcard
|
||||
@@ -37,7 +39,7 @@ class Person:
|
||||
# check if we should ignore this contact
|
||||
# ignore when no name was found or an explicit tag is found in its notes
|
||||
|
||||
if hasattr(self.vcard, "note") and ("<ignore>" in self.vcard.note.value):
|
||||
if hasattr(self.vcard, "note") and (config.CARDDAV_IGNORE_STR in self.vcard.note.value):
|
||||
return False
|
||||
|
||||
if (not self.name):
|
||||
|
||||
Reference in New Issue
Block a user