Skip to content

Commit eb18982

Browse files
committed
refactor(resources): 重构资源文件访问方式并优化资源选择逻辑
- 将 resources 模块重命名为 util/resources,改进模块结构 - 更新资源路径获取方法,使用更直观的字符串参数 - 优化资源选择逻辑,优先选择小于或等于目标缩放比例的资源 - 调整相关模块的导入路径,以适应新的资源模块结构 - 修改 PyInstaller 规格文件,简化资源文件的包含方式
1 parent 53f8adb commit eb18982

4 files changed

Lines changed: 9 additions & 13 deletions

File tree

src/vcf_generator_lite/resources/__init__.py renamed to src/vcf_generator_lite/util/resources.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import importlib.resources
22

3-
base_traversable = importlib.resources.files(__name__)
3+
base_traversable = importlib.resources.files("vcf_generator_lite.resources")
44

55

66
def read_text(resource: str, *, encoding: str = "utf-8") -> str:
@@ -19,5 +19,6 @@ def read_scaled_binary(
1919
) -> bytes:
2020
if scaling in resources:
2121
return read_binary(resources.get(scaling))
22-
closest = min(resources.keys(), key=lambda scaled: scaled - scaling)
22+
avaliable = [scaled for scaled in resources.keys() if scaled <= scaling or scaled == 1.0]
23+
closest = min(avaliable, key=lambda scaled: scaling - scaled)
2324
return read_binary(resources.get(closest))

src/vcf_generator_lite/window/about/window.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
from tkinter.ttk import Button, Frame, Label, Style
44
from typing import override
55

6-
from vcf_generator_lite import constants, resources
6+
from vcf_generator_lite import constants
77
from vcf_generator_lite.__version__ import __version__
88
from vcf_generator_lite.constants import APP_COPYRIGHT, APP_NAME
99
from vcf_generator_lite.layout.vertical_dialog_layout import VerticalDialogLayout
10+
from vcf_generator_lite.util import resources
1011
from vcf_generator_lite.util.tkinter.font import extend_font_scale
1112
from vcf_generator_lite.widget.menu import TextContextMenu
1213
from vcf_generator_lite.widget.tkhtmlview import HTMLScrolledText

src/vcf_generator_lite/window/base/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from tkinter.ttk import Style
55
from typing import override
66

7-
from vcf_generator_lite import resources
7+
from vcf_generator_lite.util import resources
88
from vcf_generator_lite.theme import create_platform_theme
99
from vcf_generator_lite.util.tkinter.misc import ScalingMiscExtension
1010
from vcf_generator_lite.util.tkinter.theme import EnhancedTheme

vcf_generator_lite.spec

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
# -*- mode: python ; coding: utf-8 -*-
22
import os
33

4-
resources_dir = './src/vcf_generator_lite/resources/'
5-
6-
resources = []
7-
for root, dirs, files in os.walk("./src/vcf_generator_lite/resources/"):
8-
for file in files:
9-
if not file.endswith(".pyc") and not file.endswith(".py"):
10-
resources.append((os.path.join(root, file), os.path.relpath(root, './src/')))
11-
124
# noinspection PyUnresolvedReferences
135
a = Analysis(
146
['./src/vcf_generator_lite/__main__.py'],
157
pathex=[],
168
binaries=[],
17-
datas=resources,
9+
datas=[
10+
('./src/vcf_generator_lite/resources/', 'vcf_generator_lite/resources')
11+
],
1812
hiddenimports=[],
1913
hookspath=[],
2014
hooksconfig={},

0 commit comments

Comments
 (0)