--- url: 'https://termine.stadt-koeln.de/m/kundenzentren/extern/calendar/?uid=b5a5a394-ec33-4130-9af3-490f99517071&wsid=e570a1ea-7b3d-43f6-bf43-3e60b3d7d888&lang=de&set_lang_ui=de&rev=rfOtF#top' # Which services should be checked for free appointments? services: - 'Personalausweis - Antrag' - 'Reisepass - Antrag (seit 01.01.2024 auch für Kinder unter 12 Jahren)' # In which locations should the services be checked? locations: - Ehrenfeld - Kalk # Max time between today and a new appointment to notify about the new # appointment. Set to -1 to notify about all new appointments. max_timedelta: 14 # Path to the CSV file to store the scraped appointments # csv_path: ~/Termine.csv # Name of the CSV file to store the scraped appointments csv_name: 'appointments.csv' # Regex to extract the date from the website date_regex: '(\d{2}\.\d{2}\.\d{4}\s\d{2}:\d{2})' # Date format to store the date in the CSV file (should match the date_regex) date_format: '%d.%m.%Y %H:%M' # ntfy configuration ntfy: server: https://ntfy.sh/ topic: public_cgn_appintments_83e0c8db1f51a7044b6431ddb2814c11 title: 'A new appointment is available!' message: 'A new appointment is available in %s: %s' tags: - tada priority: 3 # 1-5 # Configure logging logging: version: 1 disable_existing_loggers: false formatters: simple: format: '[%(levelname)s|%(module)s|L%(lineno)d] %(asctime)s: %(message)s' datefmt: '%Y-%m-%dT%H:%M:%S%z' json: fmt_keys: level: levelname message: message timestamp: timestamp logger: name module: module function: funcName line: lineno thread_name: threadName handlers: stderr: class: logging.StreamHandler formatter: simple stream: ext://sys.stderr level: DEBUG file: class: logging.handlers.RotatingFileHandler formatter: json level: INFO maxBytes: 10000000 backupCount: 3 queue_handler: class: logging.handlers.QueueHandler handlers: - stderr - file respect_handler_level: true loggers: root: handlers: - queue_handler level: DEBUG