diff --git a/lib/functions.py b/lib/functions.py index e69de29..e432c43 100644 --- a/lib/functions.py +++ b/lib/functions.py @@ -0,0 +1,33 @@ +import os +from os import makedirs +import subprocess +import logging +from logging import Logger +import locale +import gi +from gi.repository import Gtk +gi.require_version("Gtk", "3.0") + +basedir = os.path.abspath(os.path.join(os.path.dirname(__file__))) +sudousername = os.getlogin() +logger = logging.getLogger("logger") +ch = logging.StreamHandler() +# source: https://stackoverflow.com/questions/3220284/how-to-customize-the-time-format-for-python-logging +formatter = logging.Formatter("%(asctime)s:%(levelname)s > %(message)s", "%Y-%m-%d %H:%M:%S") +ch.setFormatter(formatter) +logger.addHandler(ch) +locale.setlocale(locale.LC_ALL, "C.utf-8") +locale_env = os.environ +locale_env["LC_ALL"] = "C.utf-8" + +def permissions(dst): + try: + groups = subprocess.run(["sh", "-c", "id " + sudousername],shell=False,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,env=locale_env) + for i in groups.stdout.decode().split(" "): + if "gid" in i: + g = i.split("(")[1] + group = g.replace(")", "".strip()) + subprocess.call(["chown", "-R", sudousername + ":" + group, dst],shell=False,env=locale_env) + except Exception as e: + logger.error("Found error in permissions() ! Type: %s" %e) +