aboutsummaryrefslogtreecommitdiff
path: root/src/app.py
diff options
context:
space:
mode:
authorBobby <[email protected]>2022-12-02 17:02:31 -0500
committerGitHub <[email protected]>2022-12-02 17:02:31 -0500
commitaf2ada7022d75411f2d74a4a4d2c95dfe3eb2e3a (patch)
tree327819303a94662dfcfd921864d2e1134fffd93e /src/app.py
parent0eb9ac45dcf195e65ea4941229c7e32f17b46d87 (diff)
parentc4f746246a66ed644f8cd123f1dd0081abcd1a55 (diff)
downloadRedditEngagementPrediction-af2ada7022d75411f2d74a4a4d2c95dfe3eb2e3a.tar.xz
RedditEngagementPrediction-af2ada7022d75411f2d74a4a4d2c95dfe3eb2e3a.zip
Merge pull request #8 from luciferreeves/main
Tkinter Application Added
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()