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: 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()