From 4dd7cf69a7ee430227ae6033525ef74c97d749c0 Mon Sep 17 00:00:00 2001 From: krateng Date: Thu, 10 Mar 2022 05:31:41 +0100 Subject: [PATCH] Replaced pkg_resources with importlib --- maloja/cleanup.py | 1 - maloja/database/__init__.py | 1 - maloja/proccontrol/setup.py | 8 ++++---- maloja/server.py | 15 +++++++++------ 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/maloja/cleanup.py b/maloja/cleanup.py index 0f428e7..ff313f9 100644 --- a/maloja/cleanup.py +++ b/maloja/cleanup.py @@ -2,7 +2,6 @@ import re #from . import utilities from doreah import tsv from .globalconf import data_dir, malojaconfig -import pkg_resources # need to do this as a class so it can retain loaded settings from file # apparently this is not true diff --git a/maloja/database/__init__.py b/maloja/database/__init__.py index 4a2851a..507cbd9 100644 --- a/maloja/database/__init__.py +++ b/maloja/database/__init__.py @@ -39,7 +39,6 @@ import yaml, json import math # url handling -from importlib.machinery import SourceFileLoader import urllib diff --git a/maloja/proccontrol/setup.py b/maloja/proccontrol/setup.py index 5066818..f64b125 100644 --- a/maloja/proccontrol/setup.py +++ b/maloja/proccontrol/setup.py @@ -1,4 +1,4 @@ -import pkg_resources +from importlib import resources from distutils import dir_util from doreah.io import col, ask, prompt from doreah import auth @@ -19,9 +19,9 @@ ext_apikeys = [ def copy_initial_local_files(): - folder = pkg_resources.resource_filename("maloja","data_files") - for cat in dir_settings: - dir_util.copy_tree(os.path.join(folder,cat),dir_settings[cat],update=False) + with resources.files("maloja") / 'data_files' as folder: + for cat in dir_settings: + dir_util.copy_tree(os.path.join(folder,cat),dir_settings[cat],update=False) charset = list(range(10)) + list("abcdefghijklmnopqrstuvwxyz") + list("ABCDEFGHIJKLMNOPQRSTUVWXYZ") def randomstring(length=32): diff --git a/maloja/server.py b/maloja/server.py index 924fbf8..4d09583 100644 --- a/maloja/server.py +++ b/maloja/server.py @@ -3,7 +3,7 @@ import sys import os from threading import Thread import setproctitle -import pkg_resources +from importlib import resources from css_html_js_minify import html_minify, css_minify import datauri @@ -38,7 +38,7 @@ HOST = malojaconfig["HOST"] THREADS = 24 BaseRequest.MEMFILE_MAX = 15 * 1024 * 1024 -STATICFOLDER = pkg_resources.resource_filename(__name__,"web/static") +#STATICFOLDER = importlib.resources.path(__name__,"web/static") webserver = Bottle() @@ -53,9 +53,11 @@ setproctitle.setproctitle("Maloja") def generate_css(): cssstr = "" - for file in os.listdir(os.path.join(STATICFOLDER,"css")): - with open(os.path.join(STATICFOLDER,"css",file),"r") as filed: - cssstr += filed.read() + with resources.files('maloja') / 'web' / 'static' as staticfolder: + + for file in os.listdir(os.path.join(staticfolder,"css")): + with open(os.path.join(staticfolder,"css",file),"r") as filed: + cssstr += filed.read() for file in os.listdir(data_dir['css']()): if file.endswith(".css"): @@ -216,7 +218,8 @@ def login(): @webserver.route("/media/.") def static(name,ext): assert ext in ["txt","ico","jpeg","jpg","png","less","js","ttf"] - response = static_file(ext + "/" + name + "." + ext,root=STATICFOLDER) + with resources.files('maloja') / 'web' / 'static' as staticfolder: + response = static_file(ext + "/" + name + "." + ext,root=staticfolder) response.set_header("Cache-Control", "public, max-age=3600") return response