8000 #18: have `view` operator return stream_spec · ronggan/ffmpeg-python@8a761f0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8a761f0

Browse files
committed
kkroening#18: have view operator return stream_spec
1 parent 0d63a9e commit 8a761f0

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

ffmpeg/_view.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
from __future__ import unicode_literals
22

3+
from builtins import str
34
from .dag import get_outgoing_edges
45
from ._run import topo_sort
56
import os
67
import tempfile
78

89
from ffmpeg.nodes import (
910
FilterNode,
11+
get_stream_map,
1012
InputNode,
1113
OutputNode,
1214
Stream,
@@ -30,7 +32,7 @@ def _get_node_color(node):
3032

3133

3234
@stream_operator()
33-
def view(*streams, **kwargs):
35+
def view(stream_spec, **kwargs):
3436
try:
3537
import graphviz
3638
except ImportError:
@@ -43,16 +45,17 @@ def view(*streams, **kwargs):
4345
filename = tempfile.mktemp()
4446

4547
nodes = []
46-
for stream in streams:
48+
stream_map = get_stream_map(stream_spec)
49+
for stream in stream_map.values():
4750
if not isinstance(stream, Stream):
4851
raise TypeError('Expected Stream; got {}'.format(type(stream)))
4952
nodes.append(stream.node)
5053

5154
sorted_nodes, outgoing_edge_maps = topo_sort(nodes)
5255
graph = graphviz.Digraph()
5356
graph.attr(rankdir='LR')
54-
if len(kwargs.keys()) != 0:
55-
raise ValueError('Invalid kwargs key(s): {}'.format(', '.join(kwargs.keys())))
57+
if len(list(kwargs.keys())) != 0:
58+
raise ValueError('Invalid kwargs key(s): {}'.format(', '.join(list(kwargs.keys()))))
5659

5760
for node in sorted_nodes:
5861
name = node.name
@@ -83,6 +86,7 @@ def view(*streams, **kwargs):
8386

8487
graph.view(filename)
8588

89+
return stream_spec
8690

8791

8892
__all__ = [

0 commit comments

Comments
 (0)
0