# This module is a implimentation of an alarm clock

# Imports
import sys
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
import time

# Qt application Creation

app = QApplication(sys.argv)

# Setting Variable and screen messages
try:
    due = QTime.currentTime()
    message = 'Alert!'

    if len(sys.argv) < 2:
        raise ValueError

    hours, minutes = sys.argv[1].split(":")
    due = QTime(int(hours), int(minutes))

    if not due.isValid(): #This is the Call that caused the crash
        raise ValueError

    if len(sys.argv) > 2:
        message = " ".join(sys,argv[2:])


except ValueError:
    message = "Usage: Alarm Clock.py HH:MM [Optional message]"
    print(due)
    print(sys.argv)
while QTime.currentTime() < due:
    time.sleep(10)

# Creating The GUI
label = QLabel("<font color=red size=72><b>" + message + "</b><font>" )
label.setWindowFlags(Qt.SplashScreen)
label.show()

QTimer.singleShot(20000, app.quit) #20 Seconds
app.exec_()

