aboutsummaryrefslogtreecommitdiff
path: root/src/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.py')
-rw-r--r--src/app.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/app.py b/src/app.py
new file mode 100644
index 0000000..bb82b4d
--- /dev/null
+++ b/src/app.py
@@ -0,0 +1,33 @@
+import tkinter
+import tkinter.messagebox
+
+import pandas as pd
+
+from helpers.database_handler import DatabaseHandler
+from helpers.preprocessor import Preprocessor
+from windows.data_fetcher import DataDownloader
+from windows.plotviewer import PlotViewer
+
+
+def fetch_data():
+ downloader = DataDownloader()
+ downloader.start()
+ return downloader.posts
+
+if DatabaseHandler().read().empty:
+ # show a message box
+ response = tkinter.messagebox.askokcancel('No Data Found', 'No data found in database. Do you want to fetch data from Reddit?', icon='warning')
+ if response:
+ posts = fetch_data()
+ # ask if user wants to save the data
+ response = tkinter.messagebox.askokcancel('Save Data', 'Do you want to save the data for future use?', icon='warning')
+ posts = pd.DataFrame(posts)
+ posts = Preprocessor(posts).get_preprocessed_data()
+ if response:
+ DatabaseHandler().write(posts)
+else:
+ posts = DatabaseHandler().read()
+
+if __name__ == '__main__':
+ plot_viewer = PlotViewer(posts)
+ plot_viewer.mainloop()