#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json import os import pathlib import sys from copy import deepcopy from datetime import datetime from random import randint from shutil import rmtree from threading import Thread from time import sleep import pystray from PIL import Image, ImageTk from requests import post from websocket import WebSocket from compare_json import compare_json from config import get_config from dir_to_json import get_json from misc import check_network _online_icon = Image.open("img/icons/online.png") _offline_icon = Image.open("img/icons/offline.png") _standby_icon = Image.open("img/icons/offline.png") class MunyalClient(pystray.Icon): def __init__(self): super(MunyalClient, self).__init__("Munyal") self.icon = _standby_icon self.config = get_config() self.stack = [] def is_online(self): ping = check_network("http://google.com", 443) if ping: self.icon = _online_icon else: self.icon = _offline_icon def start(self): thread_uploader = Thread(target=self.uploader, name="uploader", daemon=True) thread_downloader = Thread(target=self.downloader, name="downloader", daemon=True) thread_uploader.start() # thread_downloader.start() self.run(self.__run) def __run(self, icon): icon.visible = True sleep(60) self.stop() def listener(self): pass def uploader(self): print("Uploader") folder = self.config["folder"] last = get_json(folder) while True: sleep(1) actual = get_json(folder) _actual = deepcopy(actual) delete, add = compare_json(last, actual) if delete: print("Cosas eliminadas:") print(delete) if add: print("Cosas agregadas:") print(add) last = _actual def __upload(self, path): pass def downloader(self): print("Downloader") while True: sleep(7) def __download(self, path): pass if __name__ == '__main__': try: client = MunyalClient() client.start() sys.exit(0) except BaseException: sys.exit(1)