munyal-client/client.py

83 lines
1.9 KiB
Python
Raw Normal View History

2019-07-28 16:18:49 +00:00
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
import os
import pathlib
import sys
from copy import deepcopy
from random import randint
from shutil import rmtree
from threading import Thread
from time import sleep
2019-08-18 01:09:33 +00:00
from datetime import datetime
2019-07-28 16:18:49 +00:00
2019-08-18 01:09:33 +00:00
import pystray
2019-07-28 16:18:49 +00:00
from PIL import Image, ImageTk
from requests import post
2019-08-18 01:09:33 +00:00
from websocket import WebSocket
2019-07-28 16:18:49 +00:00
from compare_json import compare_json
2019-08-18 01:09:33 +00:00
from config import get_config
2019-07-28 16:18:49 +00:00
from dir_to_json import get_json
2019-08-18 01:09:33 +00:00
from misc import check_network
2019-07-28 16:18:49 +00:00
2019-08-18 01:09:33 +00:00
class MunyalClient(pystray.Icon):
def __init__(self):
super(MunyalClient, self).__init__("Munyal")
self.icon = Image.open("img/icons/standby.png")
self.config = get_config()
self.stack = []
2019-07-28 16:18:49 +00:00
2019-08-18 01:09:33 +00:00
def is_online(self):
ping = check_network("http://google.com", 443)
if ping:
self.icon = Image.open("img/icons/online.png")
2019-07-28 16:18:49 +00:00
else:
2019-08-18 01:09:33 +00:00
self.icon = Image.open("img/icons/offline.png")
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):
print("_run")
icon.visible = True
sleep(60)
self.stop()
def listener(self):
pass
def uploader(self):
print("Uploader")
while True:
sleep(5)
self.icon = Image.open("img/icons/online.png")
2019-07-28 16:18:49 +00:00
2019-08-18 01:09:33 +00:00
def __upload(self, path):
pass
2019-07-28 16:18:49 +00:00
2019-08-18 01:09:33 +00:00
def downloader(self):
print("Downloader")
while True:
sleep(7)
self.icon = Image.open("img/icons/offline.png")
2019-07-28 16:18:49 +00:00
2019-08-18 01:09:33 +00:00
def __download(self, path):
pass
2019-07-28 16:18:49 +00:00
if __name__ == '__main__':
2019-08-18 01:09:33 +00:00
try:
client = MunyalClient()
client.start()
sys.exit(0)
except BaseException:
sys.exit(1)