Skip to content

Commit

Permalink
Replace pipes.quote with shlex.quote on Python 3
Browse files Browse the repository at this point in the history
The shlex.quote() API is available from Python 3.3 on; pipes.quote() was
never documented, and is removed in Python 3.13.

Fixes xolox#119.
  • Loading branch information
musicinmybrain committed Jun 12, 2024
1 parent 65bdfe9 commit 9d4f402
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions coloredlogs/converter/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,15 @@
# Standard library modules.
import codecs
import os
import pipes
import re
import subprocess
import tempfile

try:
from shlex import quote # Python 3
except ImportError:
from pipes import quote # Python 2 (removed in 3.13)

# External dependencies.
from humanfriendly.terminal import (
ANSI_CSI,
Expand Down Expand Up @@ -75,7 +79,7 @@ def capture(command, encoding='UTF-8'):
#
# [1] http://man7.org/linux/man-pages/man1/script.1.html
# [2] https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/script.1.html
command_line = ['script', '-qc', ' '.join(map(pipes.quote, command)), '/dev/null']
command_line = ['script', '-qc', ' '.join(map(quote, command)), '/dev/null']
script = subprocess.Popen(command_line, stdout=subprocess.PIPE, stderr=dev_null)
stdout, stderr = script.communicate()
if script.returncode == 0:
Expand Down

0 comments on commit 9d4f402

Please sign in to comment.