void-packages/srcpkgs/python3-ffmpeg-python/patches/remove-future.patch

156 lines
4.8 KiB
Diff

--- a/ffmpeg/_ffmpeg.py
+++ b/ffmpeg/_ffmpeg.py
@@ -1,8 +1,5 @@
from __future__ import unicode_literals
-from past.builtins import basestring
-from ._utils import basestring
-
from .nodes import (
filter_operator,
GlobalNode,
@@ -81,7 +78,7 @@
"""
streams_and_filename = list(streams_and_filename)
if 'filename' not in kwargs:
- if not isinstance(streams_and_filename[-1], basestring):
+ if not isinstance(streams_and_filename[-1], str):
raise ValueError('A filename must be provided')
kwargs['filename'] = streams_and_filename.pop(-1)
streams = streams_and_filename
--- a/ffmpeg/_run.py
+++ b/ffmpeg/_run.py
@@ -1,6 +1,6 @@
from __future__ import unicode_literals
from .dag import get_outgoing_edges, topo_sort
-from ._utils import basestring, convert_kwargs_to_cmd_line_args
+from ._utils import convert_kwargs_to_cmd_line_args
from builtins import str
from functools import reduce
import collections
@@ -136,7 +136,7 @@
args += ['-b:a', str(kwargs.pop('audio_bitrate'))]
if 'video_size' in kwargs:
video_size = kwargs.pop('video_size')
- if not isinstance(video_size, basestring) and isinstance(
+ if not isinstance(video_size, str) and isinstance(
video_size, collections.Iterable
):
video_size = '{}x{}'.format(video_size[0], video_size[1])
@@ -183,7 +183,7 @@
This is the same as calling :meth:`get_args` except that it also
includes the ``ffmpeg`` command as the first argument.
"""
- if isinstance(cmd, basestring):
+ if isinstance(cmd, str):
cmd = [cmd]
elif type(cmd) != list:
cmd = list(cmd)
--- a/ffmpeg/_utils.py
+++ b/ffmpeg/_utils.py
@@ -1,25 +1,8 @@
from __future__ import unicode_literals
from builtins import str
-from past.builtins import basestring
import hashlib
import sys
-if sys.version_info.major == 2:
- # noinspection PyUnresolvedReferences,PyShadowingBuiltins
- str = str
-
-
-# `past.builtins.basestring` module can't be imported on Python3 in some environments (Ubuntu).
-# This code is copy-pasted from it to avoid crashes.
-class BaseBaseString(type):
- def __instancecheck__(cls, instance):
- return isinstance(instance, (bytes, str))
-
- def __subclasshook__(cls, thing):
- # TODO: What should go here?
- raise NotImplemented
-
-
def with_metaclass(meta, *bases):
class metaclass(meta):
__call__ = type.__call__
@@ -33,26 +16,13 @@
return metaclass('temporary_class', None, {})
-if sys.version_info.major >= 3:
-
- class basestring(with_metaclass(BaseBaseString)):
- pass
-
-
-else:
- # noinspection PyUnresolvedReferences,PyCompatibility
- from builtins import basestring
-
-
def _recursive_repr(item):
"""Hack around python `repr` to deterministically represent dictionaries.
This is able to represent more things than json.dumps, since it does not require things to be JSON serializable
(e.g. datetimes).
"""
- if isinstance(item, basestring):
- result = str(item)
- elif isinstance(item, list):
+ if isinstance(item, list):
result = '[{}]'.format(', '.join([_recursive_repr(x) for x in item]))
elif isinstance(item, dict):
kv_pairs = [
--- a/ffmpeg/nodes.py
+++ b/ffmpeg/nodes.py
@@ -1,6 +1,5 @@
from __future__ import unicode_literals
-from past.builtins import basestring
from .dag import KwargReprNode
from ._utils import escape_chars, get_hash_int
from builtins import object
@@ -66,7 +65,7 @@
"""
if self.selector is not None:
raise ValueError('Stream already has a selector: {}'.format(self))
- elif not isinstance(index, basestring):
+ elif not isinstance(index, str):
raise TypeError("Expected string index (e.g. 'a'); got {!r}".format(index))
return self.node.stream(label=self.label, selector=index)
--- a/ffmpeg/_run.py
+++ b/ffmpeg/_run.py
@@ -3,7 +3,6 @@
from ._utils import convert_kwargs_to_cmd_line_args
from builtins import str
from functools import reduce
-import collections
import copy
import operator
import subprocess
@@ -18,6 +17,11 @@
output_operator,
)
+try:
+ from collections.abc import Iterable
+except ImportError:
+ from collections import Iterable
+
class Error(Exception):
def __init__(self, cmd, stdout, stderr):
@@ -136,9 +140,7 @@
args += ['-b:a', str(kwargs.pop('audio_bitrate'))]
if 'video_size' in kwargs:
video_size = kwargs.pop('video_size')
- if not isinstance(video_size, str) and isinstance(
- video_size, collections.Iterable
- ):
+ if not isinstance(video_size, str) and isinstance(video_size, Iterable):
video_size = '{}x{}'.format(video_size[0], video_size[1])
args += ['-video_size', video_size]
args += convert_kwargs_to_cmd_line_args(kwargs)