#!/usr/bin/env python3

# pihole-dashboard-clean-screen
# Copyright (C) 2021-2023  santoru
# Copyright (C) 2023  ameneko
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

import time
import sys
import os
import toml
from PIL import Image, ImageFont, ImageDraw

DISPHASH_FILENAME = "/tmp/.pihole-dashboard-output"
CONFIG_FILENAME = "/etc/pihole-dashboard/config.toml"

if __name__ == '__main__':
    if os.geteuid() != 0:
        sys.exit("You need root permissions to access E-Ink display, try running with sudo!")
    try:
        os.remove(DISPHASH_FILENAME)
    except FileNotFoundError:
        pass

    os.mknod(DISPHASH_FILENAME)

    try:
      CONFIG = toml.load(CONFIG_FILENAME, _dict=dict)
      SCREEN_TYPE = CONFIG["screen_type"]
    except TomlDecodeError:
      output_error = "Config can't be parsed! Please check config file."
      sys.exit(output_error)


    if SCREEN_TYPE == "213v2":
      from waveshare_epd import epd2in13_V2
      epd = epd2in13_V2.EPD()
      epd.init(epd.FULL_UPDATE)
    elif SCREEN_TYPE == "213v3":
      from waveshare_epd import epd2in13_V3
      epd = epd2in13_V3.EPD()
      epd.init()
      epd.Clear(0xFF)

