diff --git a/motivational_quotes_automation/README.md b/motivational_quotes_automation/README.md new file mode 100644 index 000000000..8909d52d7 --- /dev/null +++ b/motivational_quotes_automation/README.md @@ -0,0 +1,6 @@ +#Motivational Quotes +A simple script that will automatically send a windows notification containing a motivational quote to keep you motivated during your work or study sessions. + +#How to use +`pip install requirements.txt` +`python motivate.py` diff --git a/motivational_quotes_automation/motivate.py b/motivational_quotes_automation/motivate.py new file mode 100644 index 000000000..0441f143b --- /dev/null +++ b/motivational_quotes_automation/motivate.py @@ -0,0 +1,81 @@ +import os +import sys +import json +import time +import requests +from pprint import pprint +import winrt.windows.data.xml.dom as dom +import winrt.windows.ui.notifications as notifications + + +def check_availability(): + # check if the running device is windows + if os.name == 'nt': + pass + else: + print('This script only runs on windows.') + sys.exit(0) + + +def get_quote(): + # access api to get a quote + url = 'https://zenquotes.io/api/random' + req = requests.request('GET', url) + + if req.status_code != 200: + print('Connot reach api.') + sys.exit(0) + else: + pass + + data = json.loads(req.content) + # pprint(data) + return data + + +def create_notifier(data): + quote = data[0]['q'] + author = data[0]['a'] + app = ''' + {1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\\WindowsPowerShell\\v1.0\\powershell.exe + ''' + + nManager = notifications.ToastNotificationManager + notifier = nManager.create_toast_notifier(app) + tString = f""" + + + + Motivational Quote + By {author}, + {quote} + + + + + + + + """ + + xDoc = dom.XmlDocument() + xDoc.load_xml(tString) + + notifier.show(notifications.ToastNotification(xDoc)) + + +def main_app(): + while True: + check_availability() + data = get_quote() + create_notifier(data) + print('Sent notification.') + time.sleep(2 * 3600) + + +if __name__ == '__main__': + main_app() diff --git a/motivational_quotes_automation/requirements.txt b/motivational_quotes_automation/requirements.txt new file mode 100644 index 000000000..f7b37d2af --- /dev/null +++ b/motivational_quotes_automation/requirements.txt @@ -0,0 +1,2 @@ +winrt==1.0.21033.1 +requests==2.25.1