2 # GNU MediaGoblin -- federated, autonomous media hosting
3 # Copyright (C)
2011,
2012 MediaGoblin contributors. See AUTHORS.
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU Affero General Public License as published by
7 # the Free Software Foundation, either version
3 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU Affero General Public License for more details.
15 # You should have received a copy of the GNU Affero General Public License
16 # along with this program. If not, see
<http://www.gnu.org/licenses
/>.
18 {% extends
"mediagoblin/base.html" %}
21 {% trans %}Media processing panel{% endtrans %}
— {{ super() }}
25 {% block mediagoblin_content %}
27 <h1>{% trans %}Media processing panel{% endtrans %}
</h1>
30 {% trans %}Here you can track the state of media being processed on this instance.{% endtrans %}
33 <h2>{% trans %}Media in-processing{% endtrans %}
</h2>
35 {% if processing_entries.count() %}
36 <table class=
"media_panel processing">
38 <th>{% trans %}ID{% endtrans %}
</th>
39 <th>{% trans %}User{% endtrans %}
</th>
40 <th>{% trans %}Title{% endtrans %}
</th>
41 <th>{% trans %}When submitted{% endtrans %}
</th>
42 <th>{% trans %}Transcoding progress{% endtrans %}
</th>
44 {% for media_entry in processing_entries %}
46 <td>{{ media_entry.id }}
</td>
47 <td>{{ media_entry.get_actor.username }}
</td>
48 <td>{{ media_entry.title }}
</td>
49 <td>{{ media_entry.created.strftime(
"%F %R") }}
</td>
50 {% if media_entry.transcoding_progress %}
51 <td>{{ media_entry.transcoding_progress }}%
</td>
53 <td>{% trans %}Unknown{% endtrans %}
</td>
59 <p><em>{% trans %}No media in-processing{% endtrans %}
</em></p>
62 <h2>{% trans %}These uploads failed to process:{% endtrans %}
</h2>
63 {% if failed_entries.count() %}
65 <table class=
"media_panel failed">
67 <th>{% trans %}ID{% endtrans %}
</th>
68 <th>{% trans %}User{% endtrans %}
</th>
69 <th>{% trans %}Title{% endtrans %}
</th>
70 <th>{% trans %}When submitted{% endtrans %}
</th>
71 <th>{% trans %}Reason for failure{% endtrans %}
</th>
72 <th>{% trans %}Failure metadata{% endtrans %}
</th>
74 {% for media_entry in failed_entries %}
76 <td>{{ media_entry.id }}
</td>
77 <td>{{ media_entry.get_actor.username }}
</td>
78 <td>{{ media_entry.title }}
</td>
79 <td>{{ media_entry.created.strftime(
"%F %R") }}
</td>
80 {% if media_entry.get_fail_exception() %}
81 <td>{{ media_entry.get_fail_exception().general_message }}
</td>
82 <td>{{ media_entry.fail_metadata }}
</td>
91 <p><em>{% trans %}No failed entries!{% endtrans %}
</em></p>
93 <h2>{% trans %}Last
10 successful uploads{% endtrans %}
</h2>
94 {% if processed_entries.count() %}
96 <table class=
"media_panel processed">
98 <th>{% trans %}ID{% endtrans %}
</th>
99 <th>{% trans %}User{% endtrans %}
</th>
100 <th>{% trans %}Title{% endtrans %}
</th>
101 <th>{% trans %}Submitted{% endtrans %}
</th>
103 {% for media_entry in processed_entries %}
105 <td>{{ media_entry.id }}
</td>
106 <td>{{ media_entry.get_actor.username }}
</td>
107 <td><a href=
"{{ media_entry.url_for_self(request.urlgen) }}">{{ media_entry.title }}
</a></td>
108 <td><span title='{{ media_entry.created.strftime(
"%F %R") }}'
>{{ timesince(media_entry.created) }}
</span></td>
113 <p><em>{% trans %}No processed entries, yet!{% endtrans %}
</em></p>