Socialify

Folder ..

Viewing app.py
30 lines (24 loc) • 860.0 B

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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()