diff --git a/base/izzylib/misc.py b/base/izzylib/misc.py index f1f1e02..c61c5f0 100644 --- a/base/izzylib/misc.py +++ b/base/izzylib/misc.py @@ -1,17 +1,19 @@ -import hashlib, platform, random, signal, socket, statistics, string, time, timeit +import grp, hashlib, os, platform, random, signal, socket, statistics, string, time, timeit from datetime import datetime -from getpass import getpass +from getpass import getpass, getuser from importlib import util from pathlib import Path from . import izzylog +from .dotdict import DotDict __all__ = [ 'ap_date', 'boolean', 'catch_kb_interrupt', + 'get_current_user_info', 'get_ip', 'hasher', 'import_from_path', @@ -101,6 +103,28 @@ def catch_kb_interrupt(function, *args, **kwargs): izzylog.verbose('Bye! UvU') +def get_current_user_info(): + data = DotDict({ + 'name': getuser(), + 'group': None, + 'groups': None, + 'uid': os.getuid(), + 'gid': os.getgid(), + 'gids': os.getgroups() + }) + + try: + data.gids.remove(data.gid) + + except: + pass + + data.group = grp.getgrgid(data.gid).gr_name + data.groups = [grp.getgrgid(v).gr_name for v in data.gids] + + return data + + def get_ip(): ''' Get the IP address of the machine