diff --git a/aur/register_app.py b/aur/register_app.py index ee5a91bb..e6a5454c 100644 --- a/aur/register_app.py +++ b/aur/register_app.py @@ -1,17 +1,26 @@ # used for AUR installation import os +import shutil import subprocess -import sys from pathlib import Path +share_path = str(Path.home()) + '/.local/share' +local_resources_path = share_path + '/fpakman' + +if os.path.exists(local_resources_path): + shutil.rmtree(local_resources_path) + +os.mkdir(local_resources_path) + desktop_file = """ [Desktop Entry] Type = Application Name = fpakman +Categories=System; Comment = Manage your Flatpak applications Exec = /usr/bin/fpakman -Icon = /usr/lib/python{version}/site-packages/fpakman/resources/img/flathub_45.svg -""".format(version="{}.{}".format(sys.version_info.major, sys.version_info.minor)) +Icon = {resource_path}/resources/img/flathub_45.svg +""".format(resource_path=local_resources_path) apps_path = '{}/.local/share/applications'.format(str(Path.home())) diff --git a/fpakman/core/resource.py b/fpakman/core/resource.py index 0918e299..b4eed7de 100755 --- a/fpakman/core/resource.py +++ b/fpakman/core/resource.py @@ -1,10 +1,13 @@ import os +import getpass + +local_resource_path = '/home/{}/.local/share/fpakman/resources'.format(getpass.getuser()) +app_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) def get_path(resource_path): - app_dir = get_app_dir() - return app_dir + '/resources/' + resource_path - -def get_app_dir(): - return os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + if os.path.exists(local_resource_path): + return local_resource_path + resource_path + else: + return app_dir + '/resources/' + resource_path diff --git a/fpakman/core/util.py b/fpakman/core/util.py index f502ceee..9173d7f2 100644 --- a/fpakman/core/util.py +++ b/fpakman/core/util.py @@ -8,10 +8,11 @@ def get_locale_keys(): current_locale = locale.getdefaultlocale() locale_path = None + if current_locale: current_locale = current_locale[0] - locale_dir = '{}/resources/locale'.format(resource.get_app_dir()) + locale_dir = resource.get_path('/locale') for locale_file in glob.glob(locale_dir + '/*'): name = locale_file.split('/')[-1] @@ -21,7 +22,7 @@ def get_locale_keys(): break if not locale_path: - locale_path = '{}/resources/locale/en'.format(resource.get_app_dir()) + locale_path = resource.get_path('locale/en') with open(locale_path, 'r') as f: locale_keys = f.readlines()