From 01de09d68d45b6fe145e68e9030dedebfbdf481f Mon Sep 17 00:00:00 2001 From: Maksim Losev Date: Mon, 7 Apr 2025 21:42:11 +0200 Subject: [PATCH 1/4] Replaced deprecated-removed pkg_resources code with portable code to fix main script --- makelove/_version.py | 1 + makelove/makelove.py | 4 ++-- setup.py | 13 ++++++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 makelove/_version.py diff --git a/makelove/_version.py b/makelove/_version.py new file mode 100644 index 0000000..6b06b00 --- /dev/null +++ b/makelove/_version.py @@ -0,0 +1 @@ +__version__ = "0.0.14" \ No newline at end of file diff --git a/makelove/makelove.py b/makelove/makelove.py index 7e54981..485b290 100644 --- a/makelove/makelove.py +++ b/makelove/makelove.py @@ -8,8 +8,8 @@ from email.utils import formatdate import zipfile import re -import pkg_resources +from ._version import __version__ from .config import get_config, all_targets, init_config_assistant from .hooks import execute_hook from .filelist import FileList @@ -255,7 +255,7 @@ def main(): args = parser.parse_args() if args.display_version: - print("makelove {}".format(pkg_resources.get_distribution("makelove").version)) + print("makelove {}".format(__version__)) sys.exit(0) if not os.path.isfile("main.lua"): diff --git a/setup.py b/setup.py index c42fe78..71e0642 100644 --- a/setup.py +++ b/setup.py @@ -1,11 +1,22 @@ import setuptools +import re + +VERSION_FILE = "makelove/_version.py" +with open(VERSION_FILE, "rt") as vf: + version_line = vf.read() + version_match = re.search(r"__version__ = ['\"]([^'\"]*)['\"]", version_line) + if version_match: + version_string = version_match.group(1) + else: + raise RuntimeError(f"Unable to parse version string in {VERSION_FILE}") + with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() setuptools.setup( name="makelove", - version="0.0.13", + version=version_string, author="Joel Schumacher", author_email="joelschum@gmail.com", description="A packaging tool for [löve](https://love2d.org) games", From d160ae2db5d56a70af843533381b2070d2bd59fb Mon Sep 17 00:00:00 2001 From: Maksim Losev Date: Mon, 7 Apr 2025 21:42:31 +0200 Subject: [PATCH 2/4] Replaced deprecated-removed distutils import with less fuzzy but more portable code --- makelove/util.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/makelove/util.py b/makelove/util.py index 78e5a40..d8472d5 100644 --- a/makelove/util.py +++ b/makelove/util.py @@ -3,8 +3,6 @@ import atexit import os import re -from distutils.util import strtobool - import appdirs @@ -46,11 +44,10 @@ def ask_yes_no(question, default=None): choice = input().lower() if choice == "" and default != None: return default + elif choice == "y" or choice == "n": + return choice == "y" else: - try: - return bool(strtobool(choice)) - except ValueError: - sys.stdout.write("Invalid answer.\n") + sys.stdout.write("Invalid answer.\n") def prompt(prompt_str, default=None): From da923a90d0b459da23e4da9992e5ffeaa7496f90 Mon Sep 17 00:00:00 2001 From: Maksim Losev Date: Tue, 8 Apr 2025 21:50:22 +0200 Subject: [PATCH 3/4] Reverted changes for strtobool and inlined strtobool analog based on description of distutils.util.strtobool --- makelove/util.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/makelove/util.py b/makelove/util.py index d8472d5..52b0cfd 100644 --- a/makelove/util.py +++ b/makelove/util.py @@ -3,6 +3,7 @@ import atexit import os import re + import appdirs @@ -31,6 +32,19 @@ def parse_love_version(version_str): return parts +def strtobool(value): + """Convert a string representation of truth to true (1) or false (0). + True values are y, yes, t, true, on and 1; false values are n, no, f, false, off and 0. Raises ValueError if val is anything else. + """ + l = value.lower() + if l in ("y", "yes", "t", "true", "on", "1"): + return 1 + elif l in ("n", "no", "f", "false", "off", "0"): + return 0 + else: + raise ValueError("invalid truth value %r" % (value,)) + + def ask_yes_no(question, default=None): if default == None: option_str = "[y/n]: " @@ -44,10 +58,11 @@ def ask_yes_no(question, default=None): choice = input().lower() if choice == "" and default != None: return default - elif choice == "y" or choice == "n": - return choice == "y" else: - sys.stdout.write("Invalid answer.\n") + try: + return bool(strtobool(choice)) + except ValueError: + sys.stdout.write("Invalid answer.\n") def prompt(prompt_str, default=None): From 5edc199a8343059e8e6c26653bcba1d747bf2882 Mon Sep 17 00:00:00 2001 From: Maksim Losev Date: Tue, 8 Apr 2025 22:20:43 +0200 Subject: [PATCH 4/4] Revert "Replaced deprecated-removed pkg_resources code with portable code to fix main script" This reverts commit 01de09d68d45b6fe145e68e9030dedebfbdf481f. --- makelove/_version.py | 1 - makelove/makelove.py | 4 ++-- setup.py | 13 +------------ 3 files changed, 3 insertions(+), 15 deletions(-) delete mode 100644 makelove/_version.py diff --git a/makelove/_version.py b/makelove/_version.py deleted file mode 100644 index 6b06b00..0000000 --- a/makelove/_version.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "0.0.14" \ No newline at end of file diff --git a/makelove/makelove.py b/makelove/makelove.py index 485b290..7e54981 100644 --- a/makelove/makelove.py +++ b/makelove/makelove.py @@ -8,8 +8,8 @@ from email.utils import formatdate import zipfile import re +import pkg_resources -from ._version import __version__ from .config import get_config, all_targets, init_config_assistant from .hooks import execute_hook from .filelist import FileList @@ -255,7 +255,7 @@ def main(): args = parser.parse_args() if args.display_version: - print("makelove {}".format(__version__)) + print("makelove {}".format(pkg_resources.get_distribution("makelove").version)) sys.exit(0) if not os.path.isfile("main.lua"): diff --git a/setup.py b/setup.py index 71e0642..c42fe78 100644 --- a/setup.py +++ b/setup.py @@ -1,22 +1,11 @@ import setuptools -import re - -VERSION_FILE = "makelove/_version.py" -with open(VERSION_FILE, "rt") as vf: - version_line = vf.read() - version_match = re.search(r"__version__ = ['\"]([^'\"]*)['\"]", version_line) - if version_match: - version_string = version_match.group(1) - else: - raise RuntimeError(f"Unable to parse version string in {VERSION_FILE}") - with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() setuptools.setup( name="makelove", - version=version_string, + version="0.0.13", author="Joel Schumacher", author_email="joelschum@gmail.com", description="A packaging tool for [löve](https://love2d.org) games",