diff --git a/web/pgadmin/setup/data_directory.py b/web/pgadmin/setup/data_directory.py index 943e7ebfc..413c0fb28 100644 --- a/web/pgadmin/setup/data_directory.py +++ b/web/pgadmin/setup/data_directory.py @@ -8,7 +8,18 @@ ########################################################################## import os -import pwd +try: + import pwd +except ImportError: + import getpass + pwd = None + + +def get_current_user(): + if pwd: + return pwd.getpwuid(os.getuid()).pw_name + else: + return getpass.getuser() def _create_directory_if_not_exists(_path): @@ -33,7 +44,7 @@ def create_app_data_directory(config): " https://www.pgadmin.org/docs/pgadmin4/{}/config_py.html". format( os.path.dirname(config.SQLITE_PATH), - pwd.getpwuid(os.getuid()).pw_name, + get_current_user(), config.APP_VERSION)) exit(1) @@ -50,7 +61,7 @@ def create_app_data_directory(config): print("HINT : You may need to manually set the permissions on\n" " {} to allow {} to write to it.". format(os.path.dirname(config.SQLITE_PATH), - pwd.getpwuid(os.getuid()).pw_name)) + get_current_user())) # Create the directory containing the log file (if not present). try: @@ -65,7 +76,7 @@ def create_app_data_directory(config): " https://www.pgadmin.org/docs/pgadmin4/{}/config_py.html". format( os.path.dirname(config.LOG_FILE), - pwd.getpwuid(os.getuid()).pw_name, + get_current_user(), config.APP_VERSION)) exit(1) @@ -82,7 +93,7 @@ def create_app_data_directory(config): " https://www.pgadmin.org/docs/pgadmin4/{}/config_py.html". format( config.SESSION_DB_PATH, - pwd.getpwuid(os.getuid()).pw_name, + get_current_user(), config.APP_VERSION)) exit(1) @@ -102,6 +113,6 @@ def create_app_data_directory(config): " https://www.pgadmin.org/docs/pgadmin4/{}/config_py.html". format( config.STORAGE_DIR, - pwd.getpwuid(os.getuid()).pw_name, + get_current_user(), config.APP_VERSION)) exit(1)