munyal-client/misc.py

59 lines
1.5 KiB
Python

import base64
import os
import pickle
import sys
from tkinter import Button, Label, Toplevel
from requests import get
from requests.exceptions import ConnectionError
from tcping import Ping
def check_network(ip, port):
try:
req = get(f"{ip}").status_code
return req in range(200, 300)
except ConnectionError:
return False
# ping = Ping(ip, port, 20)
# ping.ping(1)
# return ping.result.rows[0].successed == 1
def get_os():
if sys.platform in ["linux", "windows", "win32"]:
return sys.platform
raise Exception("OS not supported")
def alert(window, message, title="Munyal"):
child = Toplevel(window)
child.title(title)
label = Label(child, text=message)
button = Button(child, text="Aceptar", command=child.destroy)
label.pack()
button.pack()
def flatten_dirs(content, path="", action=""):
output = []
for item in content:
if item["is_file"]:
item["name"] = path_join(path, item["name"])
output.append(item)
else:
if item["content"] and action == "add":
output.extend(
flatten_dirs(item["content"],
path_join(path, item["name"]),
action=action))
else:
item["name"] = path_join(path, item["name"])
output.append(item)
return output
def path_join(*items):
return os.path.join(*items).replace("\\", "/")