mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-12-19 00:18:26 +00:00
The test restriction is dropped as the test suite seems to work. It was necessary to apply patch [1] in order to make py3.13 work. [1] https://github.com/xolox/python-humanfriendly/pull/75 Signed-off-by: Petr Vaněk <arkamar@gentoo.org>
74 lines
2.5 KiB
Diff
74 lines
2.5 KiB
Diff
From 13d05b8057010121acd2a402a337ef4ee5834062 Mon Sep 17 00:00:00 2001
|
|
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
|
|
Date: Thu, 30 May 2024 23:05:14 -0400
|
|
Subject: [PATCH] Replace pipes.quote with shlex.quote on Python 3
|
|
|
|
The shlex.quote() API is available from Python 3.3 on; pipes.quote() was
|
|
never documented, and is removed in Python 3.13.
|
|
|
|
Fixes #73.
|
|
|
|
Upstream-PR: https://github.com/xolox/python-humanfriendly/pull/75
|
|
Upstream-Issue: https://github.com/xolox/python-humanfriendly/issues/73
|
|
|
|
diff --git a/humanfriendly/cli.py b/humanfriendly/cli.py
|
|
index eb81db1..5dfc14a 100644
|
|
--- a/humanfriendly/cli.py
|
|
+++ b/humanfriendly/cli.py
|
|
@@ -79,10 +79,14 @@
|
|
# Standard library modules.
|
|
import functools
|
|
import getopt
|
|
-import pipes
|
|
import subprocess
|
|
import sys
|
|
|
|
+try:
|
|
+ from shlex import quote # Python 3
|
|
+except ImportError:
|
|
+ from pipes import quote # Python 2 (removed in 3.13)
|
|
+
|
|
# Modules included in our package.
|
|
from humanfriendly import (
|
|
Timer,
|
|
@@ -176,7 +180,7 @@ def main():
|
|
def run_command(command_line):
|
|
"""Run an external command and show a spinner while the command is running."""
|
|
timer = Timer()
|
|
- spinner_label = "Waiting for command: %s" % " ".join(map(pipes.quote, command_line))
|
|
+ spinner_label = "Waiting for command: %s" % " ".join(map(quote, command_line))
|
|
with Spinner(label=spinner_label, timer=timer) as spinner:
|
|
process = subprocess.Popen(command_line)
|
|
while True:
|
|
diff --git a/humanfriendly/testing.py b/humanfriendly/testing.py
|
|
index f6abddf..f9d66e4 100644
|
|
--- a/humanfriendly/testing.py
|
|
+++ b/humanfriendly/testing.py
|
|
@@ -25,13 +25,17 @@
|
|
import functools
|
|
import logging
|
|
import os
|
|
-import pipes
|
|
import shutil
|
|
import sys
|
|
import tempfile
|
|
import time
|
|
import unittest
|
|
|
|
+try:
|
|
+ from shlex import quote # Python 3
|
|
+except ImportError:
|
|
+ from pipes import quote # Python 2 (removed in 3.13)
|
|
+
|
|
# Modules included in our package.
|
|
from humanfriendly.compat import StringIO
|
|
from humanfriendly.text import random_string
|
|
@@ -521,7 +525,7 @@ def __enter__(self):
|
|
pathname = os.path.join(directory, self.program_name)
|
|
with open(pathname, 'w') as handle:
|
|
handle.write('#!/bin/sh\n')
|
|
- handle.write('echo > %s\n' % pipes.quote(self.program_signal_file))
|
|
+ handle.write('echo > %s\n' % quote(self.program_signal_file))
|
|
if self.program_script:
|
|
handle.write('%s\n' % self.program_script.strip())
|
|
handle.write('exit %i\n' % self.program_returncode)
|