From 41cc0dc213affdfa43bc4f20e4048288878230b2 Mon Sep 17 00:00:00 2001 From: Eshan Roy Date: Mon, 2 Dec 2024 19:37:28 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=9B=A0=20refactor(=5Fcont):=20continue=20?= =?UTF-8?q?working?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/functions.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) 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) +