Mercurial > sat_legacy_website
annotate sat_website/media.py @ 92:7a79cb5ed43b
add subtitles in video metadata and <track /> elements
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 16 Jun 2015 20:31:16 +0200 |
parents | 5de2a3dd4e67 |
children | 9ae3d9c8b28a |
rev | line source |
---|---|
0 | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | |
3 """ | |
4 SàT website: Salut à Toi's presentation website | |
5 Copyright (C) 2012 Jérôme Poisson (goffi@goffi.org) | |
6 | |
7 This file is part of SàT website. | |
8 | |
9 SàT website is free software: you can redistribute it and/or modify | |
10 it under the terms of the GNU Affero General Public License as published by | |
11 the Free Software Foundation, either version 3 of the License, or | |
12 (at your option) any later version. | |
13 | |
14 Foobar is distributed in the hope that it will be useful, | |
15 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 GNU Affero General Public License for more details. | |
18 | |
19 You should have received a copy of the GNU Affero General Public License | |
20 along with Foobar. If not, see <http://www.gnu.org/licenses/>. | |
21 """ | |
2
0df46e87537d
i18n: marked translatable texts + add change language form on pages footer
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
22 from django.utils.translation import ugettext_lazy as _ |
58
746e53efc188
allow large media files (screencasts) to be stored on an external server
souliane <souliane@mailoo.org>
parents:
47
diff
changeset
|
23 from django.conf import settings |
90
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
24 from collections import namedtuple, OrderedDict |
58
746e53efc188
allow large media files (screencasts) to be stored on an external server
souliane <souliane@mailoo.org>
parents:
47
diff
changeset
|
25 import os.path |
0 | 26 |
46
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
27 ImageDesc = namedtuple("ImageDesc", "path description data") |
92
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
28 |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
29 class VideoDesc(namedtuple("VideoDesc", "paths description poster data")): |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
30 @property |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
31 def subtitles(self): |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
32 key = _(u"subtitles") |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
33 if key not in self.data: |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
34 return {} |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
35 result = OrderedDict() |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
36 for lang in self.data[key]: |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
37 try: |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
38 result[lang] = os.path.splitext(self.paths[lang])[0] + '.vtt' |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
39 except IndexError: |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
40 # FIXME: subtitles for a lang that is not in self.paths are ignored |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
41 pass |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
42 return result |
0 | 43 |
79
6652924221ba
change external base URLs from FTP to HTTP
souliane <souliane@mailoo.org>
parents:
58
diff
changeset
|
44 screencasts = os.path.join(settings.MEDIA_EXTERNAL_URL, "screencasts") + "/" |
83
3d04a955bec4
add membership campaign's video (for now ogv, will eventually change to webm)
souliane <souliane@mailoo.org>
parents:
80
diff
changeset
|
45 video = os.path.join(settings.MEDIA_EXTERNAL_URL, "video") + "/" |
58
746e53efc188
allow large media files (screencasts) to be stored on an external server
souliane <souliane@mailoo.org>
parents:
47
diff
changeset
|
46 |
0 | 47 #list the pictures |
48 | |
89
4b4a5d7602f8
rename screenshots to media, since not only screenshots but also videos are listed
souliane <souliane@mailoo.org>
parents:
84
diff
changeset
|
49 media = [ |
83
3d04a955bec4
add membership campaign's video (for now ogv, will eventually change to webm)
souliane <souliane@mailoo.org>
parents:
80
diff
changeset
|
50 |
90
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
51 # use OrderedDict when more than one language, the first item is the default one |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
52 VideoDesc(OrderedDict({"en": video + "libervia_adhesion_2015_en.webm", |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
53 "fr": video + "libervia_adhesion_2015_fr.webm"}), |
83
3d04a955bec4
add membership campaign's video (for now ogv, will eventually change to webm)
souliane <souliane@mailoo.org>
parents:
80
diff
changeset
|
54 _(u"Membership campaign for Libervia"), |
3d04a955bec4
add membership campaign's video (for now ogv, will eventually change to webm)
souliane <souliane@mailoo.org>
parents:
80
diff
changeset
|
55 video + "posters/libervia_adhesion_2015.png", |
92
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
56 {_(u"version"): "0.5", _(u"year"): "2015", _(u"subtitles"): ["en", "fr"]}), |
83
3d04a955bec4
add membership campaign's video (for now ogv, will eventually change to webm)
souliane <souliane@mailoo.org>
parents:
80
diff
changeset
|
57 |
46
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
58 ImageDesc("images/screenshots/0.5/overview_libervia.png", _(u"Overview"), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
59 {_(u"frontend"): "libervia", _(u"version"): "0.5", _(u"year"): "2014"}), |
47
3e460ca969d2
delete screenshots_tech.html, display all screenshots in the same page using sections
souliane <souliane@mailoo.org>
parents:
46
diff
changeset
|
60 ImageDesc("images/screenshots/0.5/http_unsecure_warning.png", _(u"Optional security check"), |
3e460ca969d2
delete screenshots_tech.html, display all screenshots in the same page using sections
souliane <souliane@mailoo.org>
parents:
46
diff
changeset
|
61 {_(u"frontend"): "libervia", _(u"version"): "0.5", _(u"year"): "2014"}), |
46
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
62 ImageDesc("images/screenshots/0.4/sat_wysiwyg.png", _(u"Rich text editor"), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
63 {_(u"frontend"): "libervia", _(u"version"): "0.4", _(u"year"): "2014"}), |
90
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
64 |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
65 VideoDesc({"fr": screencasts + "présentation_SàT_5_radio_collective.webm"}, |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
66 _(u"Demo of the new Libervia UI, and of the collective radio feature"), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
67 screencasts + "posters/radiocol.jpg", |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
68 {_(u"frontend"): "libervia", _(u"version"): "0.3D", _(u"year"): "2012"}), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
69 |
46
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
70 ImageDesc("images/screenshots/libervia/libervia_login.png", _(u"Libervia's login page"), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
71 {_(u"frontend"): "libervia", _(u"version"): "0.3D", _(u"year"): "2011"}), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
72 ImageDesc("images/screenshots/libervia/libervia_discussions.png", _(u"Libervia's main view"), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
73 {_(u"frontend"): "libervia", _(u"version"): "0.3D", _(u"year"): "2011"}), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
74 ImageDesc("images/screenshots/wix/wix_tarot.png", _(u"Wix showing a french Tarot play"), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
75 {_(u"frontend"): "wix", _(u"version"): "0.2", _(u"year"): "2011"}), |
90
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
76 |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
77 VideoDesc({"fr": screencasts + "présentation_SàT_3.webm"}, |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
78 _(u"This video focuses on Libervia. The UI is really outdated, but we can see some features"), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
79 screencasts + "posters/présentation_SàT_3.jpg", |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
80 {_(u"frontend"): "libervia", _(u"version"): "0.2", _(u"year"): "2011"}), |
0 | 81 ] |
82 | |
89
4b4a5d7602f8
rename screenshots to media, since not only screenshots but also videos are listed
souliane <souliane@mailoo.org>
parents:
84
diff
changeset
|
83 media_tech = [ |
46
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
84 ImageDesc("images/screenshots/0.5/adhoc_administration.png", _(u"Server administration from the web frontend Libervia."), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
85 {_(u"frontend"): "libervia", _(u"version"): "0.5", _(u"year"): "2014"}), |
90
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
86 |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
87 VideoDesc({"fr": screencasts + "présentation_SàT_7_télécommande_universelle.webm"}, |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
88 _(u"Use ad-hoc commands to control a VLC player from Libervia"), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
89 screencasts + "posters/présentation_SàT_7_télécommande_universelle.png", |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
90 {_(u"version"): "0.4", _(u"year"): "2014"}), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
91 |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
92 VideoDesc({"fr": screencasts + "présentation_SàT_6_export_commande.webm"}, |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
93 _(u"Exporting a command: an FTP client is exported to a Gajim contact"), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
94 screencasts + "posters/présentation_SàT_6_export_commande.jpg", |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
95 {_(u"version"): "0.4D", _(u"year"): "2013"}), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
96 |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
97 VideoDesc({"fr": screencasts + "présentation_SàT_4_copie_et_pipe.webm"}, |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
98 _(u"How to copy and pipe streams over XMPP"), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
99 screencasts + "posters/présentation_SàT_4.png", |
46
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
100 {_(u"version"): "0.3D", _(u"year"): "2011", _(u"language"): "fr"}), |
90
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
101 |
46
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
102 ImageDesc("images/screenshots/jp/jp.png", _(u"Cowsay sent in conversation through jp"), |
a18800261cf6
change some texts, add a couple of screenshots, set metadata version and year to the medias
souliane <souliane@mailoo.org>
parents:
29
diff
changeset
|
103 {_(u"version"): "0.2", _(u"year"): "2011"}), |
47
3e460ca969d2
delete screenshots_tech.html, display all screenshots in the same page using sections
souliane <souliane@mailoo.org>
parents:
46
diff
changeset
|
104 ImageDesc("images/screenshots/primitivus/primitivus_tarot.png", _(u"Primitivus showing a french Tarot play"), |
3e460ca969d2
delete screenshots_tech.html, display all screenshots in the same page using sections
souliane <souliane@mailoo.org>
parents:
46
diff
changeset
|
105 {_(u"frontend"): "primitivus", _(u"version"): "0.2", _(u"year"): "2011"}), |
90
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
106 |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
107 VideoDesc({"fr": screencasts + "présentation_SàT_2.webm"}, |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
108 _(u"This video shows french Tarot game, and how to use Thunderbird with SàT"), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
109 screencasts + "posters/présentation_SàT_2.jpg", |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
110 {_(u"version"): "0.2", _(u"year"): "2011"}), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
111 |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
112 VideoDesc({"fr": screencasts + "présentation_SàT.webm"}, |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
113 _(u"The first video shows wix, primitivus and jp"), |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
114 screencasts + "posters/présentation_SàT.jpg", |
5de2a3dd4e67
change VideoDesc attribute path to paths, a dict where you can specify a different path for each language
souliane <souliane@mailoo.org>
parents:
89
diff
changeset
|
115 {_(u"version"): "0.2", _(u"year"): "2011"}), |
0 | 116 ] |
117 | |
118 | |
119 | |
120 | |
121 | |
122 |