Mercurial > sat_legacy_website
annotate sat_website/media.py @ 93:9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
author | souliane <souliane@mailoo.org> |
---|---|
date | Tue, 16 Jun 2015 21:26:58 +0200 |
parents | 7a79cb5ed43b |
children | 14080acdf896 |
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 """ | |
93
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
22 from django.utils.translation import get_language, 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): |
93
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
32 key = "subtitles" |
92
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() |
93
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
36 |
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
37 # put the current lang first |
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
38 current_lang = get_language() |
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
39 langs = [current_lang] if current_lang in self.data[key] else [] |
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
40 langs.extend([lang for lang in self.data[key] if lang != current_lang]) |
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
41 |
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
42 for lang in langs: |
92
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
43 try: |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
44 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
|
45 except IndexError: |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
46 # 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
|
47 pass |
7a79cb5ed43b
add subtitles in video metadata and <track /> elements
souliane <souliane@mailoo.org>
parents:
90
diff
changeset
|
48 return result |
0 | 49 |
79
6652924221ba
change external base URLs from FTP to HTTP
souliane <souliane@mailoo.org>
parents:
58
diff
changeset
|
50 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
|
51 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
|
52 |
0 | 53 #list the pictures |
54 | |
89
4b4a5d7602f8
rename screenshots to media, since not only screenshots but also videos are listed
souliane <souliane@mailoo.org>
parents:
84
diff
changeset
|
55 media = [ |
83
3d04a955bec4
add membership campaign's video (for now ogv, will eventually change to webm)
souliane <souliane@mailoo.org>
parents:
80
diff
changeset
|
56 |
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
|
57 # 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
|
58 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
|
59 "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
|
60 _(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
|
61 video + "posters/libervia_adhesion_2015.png", |
93
9ae3d9c8b28a
actually display the subtitles (with Firefox it is used only when it's the first <track /> of the list, and when the "default" option is present)
souliane <souliane@mailoo.org>
parents:
92
diff
changeset
|
62 {_(u"version"): "0.5", _(u"year"): "2015", "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
|
63 |
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
|
64 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
|
65 {_(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
|
66 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
|
67 {_(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
|
68 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
|
69 {_(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
|
70 |
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
|
71 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
|
72 _(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
|
73 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
|
74 {_(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
|
75 |
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
|
76 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
|
77 {_(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
|
78 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
|
79 {_(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
|
80 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
|
81 {_(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
|
82 |
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
|
83 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
|
84 _(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
|
85 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
|
86 {_(u"frontend"): "libervia", _(u"version"): "0.2", _(u"year"): "2011"}), |
0 | 87 ] |
88 | |
89
4b4a5d7602f8
rename screenshots to media, since not only screenshots but also videos are listed
souliane <souliane@mailoo.org>
parents:
84
diff
changeset
|
89 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
|
90 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
|
91 {_(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
|
92 |
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 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
|
94 _(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
|
95 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
|
96 {_(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
|
97 |
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 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
|
99 _(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
|
100 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
|
101 {_(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
|
102 |
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
|
103 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
|
104 _(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
|
105 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
|
106 {_(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
|
107 |
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
|
108 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
|
109 {_(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
|
110 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
|
111 {_(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
|
112 |
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 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
|
114 _(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
|
115 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
|
116 {_(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
|
117 |
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
|
118 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
|
119 _(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
|
120 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
|
121 {_(u"version"): "0.2", _(u"year"): "2011"}), |
0 | 122 ] |
123 | |
124 | |
125 | |
126 | |
127 | |
128 |