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 %}
47 <div class=
"thumb-wrapper">
48 <img src=
"{{ media_entry.thumb_url }}" alt=
"{{ media_entry.title }}" />
49 <div class=
"thumb-overlay-status thumb-processing">Processing...
</div>
52 <td>{{ media_entry.id }}
</td>
54 <a href=
"{{ request.urlgen('mediagoblin.moderation.users_detail', user=media_entry.get_actor.username) }}">
55 {{ media_entry.get_actor.username }}
58 <td>{{ media_entry.title }}
</td>
59 <td>{{ media_entry.created.strftime(
"%F %R") }}
</td>
60 {% if media_entry.transcoding_progress %}
61 <td>{{ media_entry.transcoding_progress }}%
</td>
63 <td>{% trans %}Unknown{% endtrans %}
</td>
69 <p><em>{% trans %}No media in-processing{% endtrans %}
</em></p>
72 <h2>{% trans %}These uploads failed to process:{% endtrans %}
</h2>
73 {% if failed_entries.count() %}
75 <table class=
"media_panel failed">
77 <th>{% trans %}ID{% endtrans %}
</th>
78 <th>{% trans %}User{% endtrans %}
</th>
79 <th>{% trans %}Title{% endtrans %}
</th>
80 <th>{% trans %}When submitted{% endtrans %}
</th>
81 <th>{% trans %}Reason for failure{% endtrans %}
</th>
82 <th>{% trans %}Failure metadata{% endtrans %}
</th>
84 {% for media_entry in failed_entries %}
86 <td>{{ media_entry.id }}
</td>
87 <td>{{ media_entry.get_actor.username }}
</td>
88 <td>{{ media_entry.title }}
</td>
89 <td>{{ media_entry.created.strftime(
"%F %R") }}
</td>
90 {% if media_entry.get_fail_exception() %}
91 <td>{{ media_entry.get_fail_exception().general_message }}
</td>
92 <td>{{ media_entry.fail_metadata }}
</td>
101 <p><em>{% trans %}No failed entries!{% endtrans %}
</em></p>
103 <h2>{% trans %}Last
10 successful uploads{% endtrans %}
</h2>
104 {% if processed_entries.count() %}
106 <table class=
"media_panel processed">
108 <th>{% trans %}ID{% endtrans %}
</th>
109 <th>{% trans %}User{% endtrans %}
</th>
110 <th>{% trans %}Title{% endtrans %}
</th>
111 <th>{% trans %}Submitted{% endtrans %}
</th>
113 {% for media_entry in processed_entries %}
115 <td>{{ media_entry.id }}
</td>
116 <td>{{ media_entry.get_actor.username }}
</td>
117 <td><a href=
"{{ media_entry.url_for_self(request.urlgen) }}">{{ media_entry.title }}
</a></td>
118 <td><span title='{{ media_entry.created.strftime(
"%F %R") }}'
>{{ timesince(media_entry.created) }}
</span></td>
123 <p><em>{% trans %}No processed entries, yet!{% endtrans %}
</em></p>