Mercurial > public > src > moin > extensions
annotate data/plugin/parser/text_x_arnica.py @ 629:23bf696cf294 default tip
add a sendmail action, which can be use to submit POST data by E-Mail
author | Thomas Waldmann <tw AT waldmann-edv DOT de> |
---|---|
date | Mon, 25 Mar 2013 23:40:03 +0100 |
parents | 374033c4eb26 |
children |
rev | line source |
---|---|
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
1 # -*- coding: iso-8859-1 -*- |
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
2 """ |
28
e71bbef3a837
PEP8 whitespace fix to satisfy test_sourcecode
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
26
diff
changeset
|
3 MoinMoin - arnica parser |
e71bbef3a837
PEP8 whitespace fix to satisfy test_sourcecode
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
26
diff
changeset
|
4 |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
5 This parser is used to visualize a couple of images as a thumbnail gallery. |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
6 Optionally, a description of an image can be added. |
155
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
7 |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
8 By default the image name and its creation date is shown. |
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
9 If you click on a thumbnail you get navigation tools shown to slide through your images. |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
10 |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
11 Based on Gallery2 by ReimarBauer 2005-2008, ThomasWaldmann 2005, FlorianFesti 2006 |
28
e71bbef3a837
PEP8 whitespace fix to satisfy test_sourcecode
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
26
diff
changeset
|
12 |
571
01fc8ba9809b
arnica: updated copyright
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
570
diff
changeset
|
13 @copyright: 2008-2012 by MoinMoin:ReimarBauer, |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
14 @copyright: 2012 by MoinMoin:Dirk Alders |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
15 @license: GNU GPL, see COPYING for details. |
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
16 """ |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
17 |
310
2c7089c556e9
text_x_arnica: removed dependency of time module?
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
309
diff
changeset
|
18 import os, re |
581
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
19 from inspect import getargspec |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
20 from random import randint |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
21 from MoinMoin import search |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
22 from MoinMoin import wikiutil |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
23 from MoinMoin.action import AttachFile |
40
c208aceb1ebd
join and split exchanged on various places to packLine and unpackLine
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
37
diff
changeset
|
24 from MoinMoin.packages import packLine |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
25 from MoinMoin.Page import Page |
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
26 |
37
ad1d433589e4
moved test for PIL to a better place
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
34
diff
changeset
|
27 parser_name = __name__.split('.')[-1] |
581
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
28 # is the name of the plugin and also used as prefix for wikiconfig plugin defaults. |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
29 plugin_name = "arnica" |
37
ad1d433589e4
moved test for PIL to a better place
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
34
diff
changeset
|
30 |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
31 |
581
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
32 def settings(target_page=u'', columns=4, file_regex=u'.', |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
33 image_for_webnail=False, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
34 show_text=True, show_date=True, show_tools=False, show_album_title=True, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
35 sort_by=("name", "date", "alias"), |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
36 reverse_sort=False, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
37 only_items=False, template_itemlist=False, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
38 album=False, album_title=unicode, album_image=u'', album_link_page=False, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
39 album_overview=False, album_short_title=False, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
40 renew=False, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
41 thumbnail_width=128, |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
42 webnail_width=640): |
163
2676d2cbfaea
text_x_arnica: comment fixed
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
162
diff
changeset
|
43 """ dummy function to initialize all default parameters for arnica. The parameters are checked for wrong input. |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
44 @param target_page: page to read attachments from. empty pagename is current page. |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
45 for album_overview, target_page is now a string for title search. alternatively it is possible to use regex:... or category:... (e.g. regex:title:.* for all pages) |
276
e3c509f99aad
text_x_arnica: white space PEP8 fix, removed old comments
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
273
diff
changeset
|
46 @param columns: number of columns for thumbnails, default is 4. 0 means no linebreak |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
47 @param file_regex: regex for selecting images |
50
6122e5bb9332
text_x_arnica: moved description of keywords to macro_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
49
diff
changeset
|
48 @param image_for_webnail if set then the image is shown instead of the webnail |
6122e5bb9332
text_x_arnica: moved description of keywords to macro_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
49
diff
changeset
|
49 @param show_text: default shows description |
335
a6d96bdc0598
text_x_arnica: renamed parameter show_title to show_album_title
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
334
diff
changeset
|
50 @param show_album_title: show album title |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
51 @param show_date: default shows date from exif header, if available |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
52 @param show_tools: default does not show the icon toolbar |
246
f7a67224bf69
text_x_arnica: refactored sort_by*=boolean to sort_by=what
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
245
diff
changeset
|
53 @param sort_by: default, sorts images by name, optional by date or by alias |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
54 @param reverse_sort: if set, the file list is sorted in reverse order |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
55 @param only_items: if set, only images which are described in listitem are shown, e.g. |
50
6122e5bb9332
text_x_arnica: moved description of keywords to macro_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
49
diff
changeset
|
56 * [[image1.jpg|alias]] |
6122e5bb9332
text_x_arnica: moved description of keywords to macro_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
49
diff
changeset
|
57 * [[image2.jpg|alias]] |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
58 @param template_itemlist: if set, an item list is shown which could be copied into the wiki page |
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
59 @param album: if set, selects album mode, only thumbnail from first image is shown, related is album title and album_image |
76
0d7bc75bc5a4
text_x_arnica: album_name renamed to album_title
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
75
diff
changeset
|
60 @param album_title: default is pagename of the images for the album. |
155
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
61 @param album_image: image to show on album default is the first image |
334
ff4d2f96a36b
text_x_arnica: applied patch for new parameter album_link_page link to page instead of slideshow by Johannes Berg
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
333
diff
changeset
|
62 @param album_link_page: link to page instead of slideshow |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
63 @param album_overview: if set, a thumbnail overview will be created (see also target_page) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
64 @param album_short_title: reduces the album_title that way that it fits in one line |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
65 @param renew: if set then all selected thumbnails_* and webnails_* are removed and will be recreated |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
66 @param thumbnail_width: default width of thumbnail is 128px |
112
8438a033d483
text_x_arnica.macro_arnica: uses the unitparser for thumbnail_width, webnail_width, text_width default unit is px
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
109
diff
changeset
|
67 @param webnail_width: default width of webnail is 640px |
50
6122e5bb9332
text_x_arnica: moved description of keywords to macro_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
49
diff
changeset
|
68 """ |
61
6ab80d79e924
text_x_arnica.macro_arnica: much more simplified using locals()
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
60
diff
changeset
|
69 return locals() |
132
3ca3f4aadfca
arnica_slides, text_x_arnica: removed off commented code lines
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
131
diff
changeset
|
70 |
581
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
71 def update_defaults_by_wikiconfig(cfg, plugin_name, settings_function): |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
72 """ function to overwrite defaults of settings_function by wikiconfig attributes |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
73 @param cfg: wiki config instance |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
74 @param plugin_name: this is the namespace prefix for parameters of the plugin (plugin_name_param has to be defined in wikiconfig). |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
75 @param settings_function: function whose defaults have to be updated by wikiconfig |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
76 """ |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
77 def get_arg_default(cfg, plugin_name, name, settings_function): |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
78 try: |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
79 return getattr(cfg, "%s_%s"%(plugin_name, name)) |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
80 except AttributeError: |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
81 return getargspec(settings_function)[3][getargspec(settings_function)[0].index(name)] |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
82 settings_function.func_defaults = tuple([get_arg_default(cfg, plugin_name, arg, settings_function) |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
83 for arg in getargspec(settings_function)[0]]) |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
84 |
98
edb3aa8208b2
text_x_arnica: removed some whitespaces, moved _get_files below macro_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
94
diff
changeset
|
85 def _get_files(request, pagename): |
234
74b073ba10b3
text_x_arnica: added docstring to _get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
233
diff
changeset
|
86 """ get files dependent on isPicture and ignores tmp. files |
74b073ba10b3
text_x_arnica: added docstring to _get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
233
diff
changeset
|
87 @param pagename: name of the page where to get attachments |
74b073ba10b3
text_x_arnica: added docstring to _get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
233
diff
changeset
|
88 """ |
152
7438cd3fdfba
text_x_arnica: removed internal duplicate of _get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
149
diff
changeset
|
89 # ToDo remove tmp. files check later |
7438cd3fdfba
text_x_arnica: removed internal duplicate of _get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
149
diff
changeset
|
90 files = AttachFile._get_files(request, pagename) |
7438cd3fdfba
text_x_arnica: removed internal duplicate of _get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
149
diff
changeset
|
91 files = [fn for fn in files if wikiutil.isPicture(fn) and not fn.startswith('tmp.')] |
98
edb3aa8208b2
text_x_arnica: removed some whitespaces, moved _get_files below macro_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
94
diff
changeset
|
92 return files |
17
cb6ad4cfdc5e
PEP8 whitespace fix
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
15
diff
changeset
|
93 |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
94 class Parser: |
3
c9ab05e6d499
text_x_arnica: fixed shadowing of Parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
2
diff
changeset
|
95 """ arnica parser """ |
220
362a85e8a378
text_x_arnica: extensions adjusted
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
214
diff
changeset
|
96 |
362a85e8a378
text_x_arnica: extensions adjusted
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
214
diff
changeset
|
97 extensions = ['.jpg', '.jpeg', '.gif', '.png'] |
362a85e8a378
text_x_arnica: extensions adjusted
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
214
diff
changeset
|
98 |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
99 def __init__(self, raw, request, **kw): |
7
a067ae7020f6
text_x_arnica: fixed many pylint warnings, factored out get_exif_info from get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
6
diff
changeset
|
100 self.pagename = request.page.page_name |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
101 self.raw = raw |
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
102 self.request = request |
153
3abe0bd083b2
text_x_arnica: added formatter to self and replaced wikiutil.escape with formatter.text
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
152
diff
changeset
|
103 self.formatter = request.formatter |
7
a067ae7020f6
text_x_arnica: fixed many pylint warnings, factored out get_exif_info from get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
6
diff
changeset
|
104 self.form = None |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
105 self._ = request.getText |
155
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
106 |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
107 args = kw.get('format_args', '') |
55
1eb0c987a260
text_x_arnica: if the parser was called with a not defined parameter, print an error and return.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
54
diff
changeset
|
108 self.init_settings = False |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
109 self.top_image_sorted = None |
581
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
110 update_defaults_by_wikiconfig(request.cfg, plugin_name, settings) |
57
7f56d8a670da
text_x_arnica: some doc strings added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
56
diff
changeset
|
111 # we use a macro definition to initialize the default init parameters |
7f56d8a670da
text_x_arnica: some doc strings added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
56
diff
changeset
|
112 # if a user enters a wrong parameter the failure is shown by the exception |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
113 try: |
581
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
114 arnica_settings = wikiutil.invoke_extension_function(request, settings, args) |
374033c4eb26
support for configuring arnica by wikiconfig enties
Dirk Alders <d.alders@arcor.de>
parents:
576
diff
changeset
|
115 for key, value in arnica_settings.items(): |
64
ea6139631185
text_x_arnica: removed definition of _create_macro and usage from wikiutil.invoke_extension_function
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
63
diff
changeset
|
116 setattr(self, key, value) |
57
7f56d8a670da
text_x_arnica: some doc strings added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
56
diff
changeset
|
117 # saves the state of valid input |
55
1eb0c987a260
text_x_arnica: if the parser was called with a not defined parameter, print an error and return.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
54
diff
changeset
|
118 self.init_settings = True |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
119 except ValueError, err: |
149
62a6c964e63b
fixed and added docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
144
diff
changeset
|
120 # ToDo use formatter |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
121 request.write(self.formatter.text(err)) |
341
21fd5f586a3b
text_x_arnica: bug fix for using arnica format and a wrong typed or undefined parameter. It shows the usual message about wrong argument without a traceback now.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
340
diff
changeset
|
122 else: |
21fd5f586a3b
text_x_arnica: bug fix for using arnica format and a wrong typed or undefined parameter. It shows the usual message about wrong argument without a traceback now.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
340
diff
changeset
|
123 self.arnica_image = {} # self.arnica_image[image] = (webnail, thumbnail, exif_date, description, order) |
21fd5f586a3b
text_x_arnica: bug fix for using arnica format and a wrong typed or undefined parameter. It shows the usual message about wrong argument without a traceback now.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
340
diff
changeset
|
124 self.Image = wikiutil.importWikiPlugin(self.request.cfg, "macro", "Image", function="Image") |
21fd5f586a3b
text_x_arnica: bug fix for using arnica format and a wrong typed or undefined parameter. It shows the usual message about wrong argument without a traceback now.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
340
diff
changeset
|
125 self.breakable_word_length = self.thumbnail_width / 8 |
17
cb6ad4cfdc5e
PEP8 whitespace fix
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
15
diff
changeset
|
126 |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
127 def shortenName(self, name, length, prestring='...'): |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
128 if len(name) > length: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
129 return prestring + name[-length + len(prestring):] |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
130 else: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
131 return name |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
132 |
126
02a3e2fba89f
text_x_arnica: renamed html_show_tools_restricted to html_tools_restricted
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
125
diff
changeset
|
133 def html_tools_restricted(self, this_target): |
85
d705644861dc
text_x_arnica: removed html definition for mode2, renamed mode1 methods
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
84
diff
changeset
|
134 """ shows restricted tools |
d705644861dc
text_x_arnica: removed html definition for mode2, renamed mode1 methods
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
84
diff
changeset
|
135 @param this_target: image |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
136 """ |
334
ff4d2f96a36b
text_x_arnica: applied patch for new parameter album_link_page link to page instead of slideshow by Johannes Berg
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
333
diff
changeset
|
137 if self.album or not self.request.user.may.delete(self.pagename): |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
138 return '' |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
139 return """ |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
140 <li class="tool"> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
141 <form action="%(url)s" method="POST" enctype="multipart/form-data"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
142 <input type="hidden" name="action" value="arnica_slides"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
143 <input type="hidden" name="do" value="rotate_left"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
144 <input type="hidden" name="target" value="%(this_target)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
145 <input type="image" value="submit" src="%(htdocs)s/arnica/img/arnica_rotate_to_left.png" title="rotate to left"> |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
146 </form> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
147 </li> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
148 <li class="tool"> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
149 <form action="%(url)s" method="POST" enctype="multipart/form-data"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
150 <input type="hidden" name="action" value="arnica_slides"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
151 <input type="hidden" name="do" value="rotate_right"> |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
152 <input type="hidden" name="target" value="%(this_target)s"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
153 <input type="image" value="submit" src="%(htdocs)s/arnica/img/arnica_rotate_to_right.png" title="rotate to right"> |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
154 </form> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
155 </li> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
156 <li class="tool"> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
157 <form action="%(url)s" method="POST" enctype="multipart/form-data"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
158 <input type="hidden" name="action" value="arnica_slides"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
159 <input type="hidden" name="do" value="delete"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
160 <input type="hidden" name="target" value="%(this_target)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
161 <input type="image" value="submit" src="%(htdocs)s/arnica/img/arnica_remove_image.png" title="move to bak"> |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
162 </form> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
163 </li>""" % { |
157
0116eb3e1099
text_x_arnica: replaced baseurl/pagename by Page.url
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
156
diff
changeset
|
164 'url': Page(self.request, self.pagename).url(self.request), |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
165 'htdocs': self.request.cfg.url_prefix_static, |
7
a067ae7020f6
text_x_arnica: fixed many pylint warnings, factored out get_exif_info from get_files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
6
diff
changeset
|
166 "pagename": wikiutil.quoteWikinameURL(self.pagename), |
478
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
167 "this_target": wikiutil.escape(this_target), |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
168 } |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
169 |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
170 def html_tools(self, image): |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
171 """ html code of thumbnails view with contol |
255
3c6496586d40
text_x_arnica: fixed docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
254
diff
changeset
|
172 @param image: image as key for corresponding data |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
173 """ |
253
902a0b543b9b
text_x_arnica: fixed wrong order for webnails
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
252
diff
changeset
|
174 image_names = self.arnica_image.keys() |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
175 index = [self.arnica_image[img][4] for img in image_names] |
253
902a0b543b9b
text_x_arnica: fixed wrong order for webnails
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
252
diff
changeset
|
176 selected_images = [image_names[int(idx)] for idx in index] |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
177 |
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
178 html = """ |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
179 <ul> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
180 <li class="tool"> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
181 <form action="%(url)s" method="POST" enctype="multipart/form-data"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
182 <input type="hidden" name="action" value="AttachFile"> |
570
bf8bae241ec9
arnica: fix download link for load image
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
569
diff
changeset
|
183 <input type="hidden" name="do" value="view"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
184 <input type="hidden" name="target" value="%(this_target)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
185 <input type="image" value="submit" src="%(htdocs)s/arnica/img/arnica_full_image.png" title="load image"> |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
186 </form> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
187 </li> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
188 <li class="tool"> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
189 <form action="%(url)s" method="POST" enctype="multipart/form-data"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
190 <input type="hidden" name="action" value="arnica_slides"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
191 <input type="hidden" name="do" value="slide_show"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
192 <input type="hidden" name="alias" value="%(description)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
193 <input type="hidden" name="target" value="%(target)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
194 <input type="hidden" name="pagename" value="%(pagename)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
195 <input type="hidden" name="images" value="%(images)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
196 <input type="hidden" name="original_images" value="%(original_images)s"> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
197 <input type="hidden" name="exif_date" value="%(exif_date)s"> |
572
d53b63f94da8
arnica: fix for slide show link of toolbar. parameter webnail_width was missing.
sudo_dirk<d.alders@arcor.de>
parents:
571
diff
changeset
|
198 <input type="hidden" name="webnail_width" value="%(webnail_width)d"> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
199 <input type="image" value="submit" title="slide show" src="%(htdocs)s/arnica/img/arnica_load_slide_show.png"> |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
200 </form> |
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
201 </li> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
202 %(html_tools_restricted)s |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
203 </ul> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
204 """ % { |
256
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
205 "url": Page(self.request, self.pagename).url(self.request), |
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
206 "pagename": self.pagename, |
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
207 "htdocs": self.request.cfg.url_prefix_static, |
478
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
208 "description": wikiutil.escape(packLine([(self.arnica_image[image][3])] + [(self.arnica_image[img][3]) for img in selected_images]), quote=1), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
209 "exif_date": wikiutil.escape(packLine([self.arnica_image[image][2]] + [self.arnica_image[img][2] for img in selected_images]), quote=1), |
572
d53b63f94da8
arnica: fix for slide show link of toolbar. parameter webnail_width was missing.
sudo_dirk<d.alders@arcor.de>
parents:
571
diff
changeset
|
210 "webnail_width": self.webnail_width, |
478
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
211 "target": wikiutil.escape(self.arnica_image[image][0]), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
212 "original_images": wikiutil.escape(packLine([image] + selected_images)), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
213 "images": wikiutil.escape(packLine([self.arnica_image[image][0]] + [self.arnica_image[img][0] for img in selected_images])), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
214 "original_images": wikiutil.escape(packLine([image] + selected_images)), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
215 "this_target": wikiutil.escape(image), |
256
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
216 "html_tools_restricted": self.html_tools_restricted(image), |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
217 } |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
218 return html |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
219 |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
220 def html_show_tools(self, image): |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
221 """ shows toolbox |
255
3c6496586d40
text_x_arnica: fixed docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
254
diff
changeset
|
222 @param image: image as key for corresponding data |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
223 """ |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
224 html = '' |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
225 if self.show_tools: |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
226 html = '<div class="html-show-tools">%(tools)s</div>' % { |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
227 "tools": self.html_tools(image)} |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
228 return html |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
229 |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
230 def html_show_date(self, image): |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
231 """ shows date |
255
3c6496586d40
text_x_arnica: fixed docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
254
diff
changeset
|
232 @param image: image as key for corresponding data |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
233 """ |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
234 |
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
235 html = '' |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
236 if self.show_date: |
309
da0bb5e04a91
arnica css: html-show-date renamed to show-datetime
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
306
diff
changeset
|
237 html = '<div class="show-datetime">%(this_exif_date)s</div>' % { |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
238 "this_exif_date": self.formatter.text(self.arnica_image[image][2])} |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
239 return html |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
240 |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
241 def html_show_alias(self, image): |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
242 """ alias text below image |
255
3c6496586d40
text_x_arnica: fixed docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
254
diff
changeset
|
243 @param image: image as key for corresponding data |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
244 """ |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
245 |
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
246 html = '' |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
247 if self.show_text: |
306
2f1b790d9746
arnica css: html-show-alias renamed to description
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
302
diff
changeset
|
248 html = '<div class="description"> %(this_alias)s</div>' % { |
340
cdf4d4fccd82
text_x_arnica: changed breakable word_length to self.thumbnail_width / 8 and also defined it in in init
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
339
diff
changeset
|
249 "this_alias": self.to_wikitext(wikiutil.make_breakable(self.arnica_image[image][3], self.breakable_word_length))} |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
250 return html |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
251 |
254
a422d7d58d56
text_x_arnica: beautified selected_images
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
253
diff
changeset
|
252 def html_arrange_thumbnails(self, image, selected_images): |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
253 """ defines arrangement of thumbnail, text, date and tools |
255
3c6496586d40
text_x_arnica: fixed docstrings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
254
diff
changeset
|
254 @param image: image as key for corresponding data |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
255 @param selected_images: ordered list of selected images |
241
d082511f6a3b
fixed doc strings
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
240
diff
changeset
|
256 """ |
63
9301ca6f1e33
text_x_arnica: fixed missing album title
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
61
diff
changeset
|
257 title = "" |
335
a6d96bdc0598
text_x_arnica: renamed parameter show_title to show_album_title
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
334
diff
changeset
|
258 if self.album and self.show_album_title: |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
259 if self.album_short_title: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
260 title = self.shortenName(self.album_title or self.pagename, self.breakable_word_length) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
261 else: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
262 title = wikiutil.make_breakable(self.album_title or self.pagename, self.breakable_word_length) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
263 title = '<div class="title">%(n)d images<br>(%(album_title)s)</div>' % {"n": len(self.arnica_image), |
339
7163e5cf5b77
text_x_arnica: make album_title breakable
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
336
diff
changeset
|
264 "album_title": title} |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
265 html = """ |
332
a944836db9bb
test_x_arnica: bug fix for missing album title applied patch by Johannes Berg
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
331
diff
changeset
|
266 <div class="thumbnail" style="width:%(width)spx"> |
a944836db9bb
test_x_arnica: bug fix for missing album title applied patch by Johannes Berg
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
331
diff
changeset
|
267 %(title)s |
157
0116eb3e1099
text_x_arnica: replaced baseurl/pagename by Page.url
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
156
diff
changeset
|
268 <form action="%(url)s" method="POST" enctype="multipart/form-data"> |
327
1b0d5caae8b6
text_x_arnica: aligned images to the bottom applied patch by Johannes Berg.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
323
diff
changeset
|
269 <div class="imagecont" style="height:%(width)spx;"> |
332
a944836db9bb
test_x_arnica: bug fix for missing album title applied patch by Johannes Berg
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
331
diff
changeset
|
270 <div class="image" style="width:%(width)spx;"> |
334
ff4d2f96a36b
text_x_arnica: applied patch for new parameter album_link_page link to page instead of slideshow by Johannes Berg
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
333
diff
changeset
|
271 <input type="hidden" name="action" value="%(action)s"> |
121
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
272 <input type="hidden" name="do" value="slide_show"> |
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
273 <input type="hidden" name="alias" value="%(description)s"> |
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
274 <input type="hidden" name="target" value="%(target)s"> |
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
275 <input type="hidden" name="pagename" value="%(pagename)s"> |
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
276 <input type="hidden" name="images" value="%(images)s"> |
167
3311d9f639cf
arnica_slides, text_x_arnica: use real image name in the option list
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
166
diff
changeset
|
277 <input type="hidden" name="original_images" value="%(original_images)s"> |
121
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
278 <input type="hidden" name="exif_date" value="%(exif_date)s"> |
543
8893fdfafd75
arnica: set slideshow ui elements independent of portrait or landscape images. (thanks to Johannes Berg)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
479
diff
changeset
|
279 <input type="hidden" name="webnail_width" value="%(webnail_width)d"> |
334
ff4d2f96a36b
text_x_arnica: applied patch for new parameter album_link_page link to page instead of slideshow by Johannes Berg
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
333
diff
changeset
|
280 <input type="image" value="submit" title="%(submit_title)s" src="%(thumbnail)s"> |
121
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
281 </div> |
327
1b0d5caae8b6
text_x_arnica: aligned images to the bottom applied patch by Johannes Berg.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
323
diff
changeset
|
282 </div> |
121
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
283 </form> |
311
81dc3a93fd84
text_x_arnica: div container for description, datetime and tools
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
310
diff
changeset
|
284 <div style="width:%(width)spx"> |
329
cc052e263d84
text_x_arnica (parser, css): rearanged order of data below the image to: 1. tools, 2. date exif information, 3.filename/description.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
327
diff
changeset
|
285 %(html_tools)s |
121
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
286 %(alias_html)s |
f6ce62994858
text_x_arnica: initial setup for css.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
113
diff
changeset
|
287 %(date_html)s |
311
81dc3a93fd84
text_x_arnica: div container for description, datetime and tools
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
310
diff
changeset
|
288 </div> |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
289 </div> |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
290 """ % { |
256
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
291 "title": title, |
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
292 "url": Page(self.request, self.pagename).url(self.request), |
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
293 "pagename": self.pagename, |
478
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
294 "description": wikiutil.escape(packLine([(self.arnica_image[image][3])] + [(self.arnica_image[img][3]) for img in selected_images]), quote=1), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
295 "exif_date": wikiutil.escape(packLine([self.arnica_image[image][2]] + [self.arnica_image[img][2] for img in selected_images])), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
296 "target": wikiutil.escape(self.arnica_image[image][0]), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
297 "original_images": wikiutil.escape(packLine([image] + selected_images)), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
298 "images": wikiutil.escape(packLine([self.arnica_image[image][0]] + [self.arnica_image[img][0] for img in selected_images])), |
2a915e70966f
arnica: wikiutil.escape fixes
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
341
diff
changeset
|
299 "thumbnail": wikiutil.escape(self.arnica_image[image][1]), |
311
81dc3a93fd84
text_x_arnica: div container for description, datetime and tools
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
310
diff
changeset
|
300 "width": self.thumbnail_width, |
256
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
301 "html_tools": self.html_show_tools(image), |
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
302 "date_html": self.html_show_date(image), |
4c017ac39d06
text_x_arnica: fixed indenting of dict definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
255
diff
changeset
|
303 "alias_html": self.html_show_alias(image), |
336
ec5f5632d911
text_x_arnica.py: PEP8 whitespace fix
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
335
diff
changeset
|
304 "submit_title": {True: "images", False: "slide show"}[self.album_link_page], |
ec5f5632d911
text_x_arnica.py: PEP8 whitespace fix
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
335
diff
changeset
|
305 "action": {True: "show", False: "arnica_slides"}[self.album_link_page], |
543
8893fdfafd75
arnica: set slideshow ui elements independent of portrait or landscape images. (thanks to Johannes Berg)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
479
diff
changeset
|
306 "webnail_width": self.webnail_width, |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
307 } |
222
873b2bb15da8
text_x_arnica: renamed text var into html
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
221
diff
changeset
|
308 return html |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
309 |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
310 def define_thumb_webnails(self, files, image_alias): |
90
7e0445f8120e
renamed get_files to define_thumb_webnails
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
89
diff
changeset
|
311 """ creates lists for thumbnails and webnails |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
312 @param files: file names of images |
231
c8897e9950a1
text_x_arnica: renamed get_quotes to get_image_alias
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
230
diff
changeset
|
313 @param image_alias: text alias for image file |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
314 """ |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
315 order = 0 |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
316 for attfile in files: |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
317 description = attfile |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
318 if image_alias.get(attfile): |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
319 # use alias |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
320 description = image_alias.get(attfile)[0] |
289
a83fb8e78dc7
text_x_arnica: bug fix don't ignore target_page
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
288
diff
changeset
|
321 itemname = self.pagename + '/' + attfile |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
322 img = self.Image(self.request, itemname) |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
323 webnail = img.url(size=(self.webnail_width, self.webnail_width)) |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
324 thumbnail = img.url(size=(self.thumbnail_width, self.thumbnail_width)) |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
325 try: |
310
2c7089c556e9
text_x_arnica: removed dependency of time module?
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
309
diff
changeset
|
326 exif_date = self.request.user.getFormattedDateTime(img.ctime) |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
327 except KeyError: |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
328 exif_date = '--' |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
329 self.arnica_image[attfile] = (webnail, thumbnail, exif_date, description, str(order)) |
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
330 order += 1 |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
331 |
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
332 def to_wikitext(self, text): |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
333 """ converts text to wiki name if it is written as WikiName or [[wikiname]] |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
334 @param text: text to parse and render |
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
335 """ |
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
336 text = ''.join(text) |
3
c9ab05e6d499
text_x_arnica: fixed shadowing of Parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
2
diff
changeset
|
337 from MoinMoin.parser.text_moin_wiki import Parser as WikiParser |
21
744416ee6590
text_x_arnica: iamge_for_webnail key added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
17
diff
changeset
|
338 return wikiutil.renderText(self.request, WikiParser, text) |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
339 |
299
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
340 def get_image_alias(self): |
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
341 """ gets the quotes from the item list and returns a dictionary of image and alias """ |
323
b7fed7cdc13d
text_x_arnica: ToDo's added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
322
diff
changeset
|
342 # ToDo simplify |
299
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
343 quotes = self.raw.split('\n') |
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
344 quotes = [quote.strip() for quote in quotes] |
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
345 quotes = [quote[2:] for quote in quotes if quote.startswith('* ')] |
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
346 image_alias = {} |
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
347 counter = 0 |
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
348 for line in quotes: |
330
3f6de5cba911
text_x_arnica: get_image_alias checks also for '|' in line.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
329
diff
changeset
|
349 if line.startswith('[[') and line.endswith(']]') and '|' in line: |
299
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
350 img, alias = line[2:-2].split('|', 1) |
576
a4d66592dea7
text_x_arnica.get_image_alias: simplified stripping
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
575
diff
changeset
|
351 img = img.strip() |
a4d66592dea7
text_x_arnica.get_image_alias: simplified stripping
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
575
diff
changeset
|
352 alias = alias.strip() |
321
c958b4dbfa4a
text_x_arnica: verify the image for the item list ( *[[image|alias]]) by wikiutil.isPicture
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
320
diff
changeset
|
353 # don't count an image more than once and verify that it is an image |
576
a4d66592dea7
text_x_arnica.get_image_alias: simplified stripping
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
575
diff
changeset
|
354 if AttachFile.exists(self.request, self.pagename, img) and wikiutil.isPicture(img) and img not in image_alias.keys(): |
a4d66592dea7
text_x_arnica.get_image_alias: simplified stripping
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
575
diff
changeset
|
355 image_alias[img] = (self.formatter.text(alias), counter, img) |
320
a9f7a24a567d
text_x_arnica: bug fix of the only_item list problem of multiple aliases for one image by skipping duplications.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
319
diff
changeset
|
356 counter += 1 |
575
0db77eb786fb
text_x_arnica: Bug Fix: ignore not existing images in get_image_alias
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
572
diff
changeset
|
357 # ToDo add a placeholder image for not existing images but already defined |
299
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
358 return image_alias |
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
359 |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
360 def select_files(self, formatter, target_page): |
4
ccc40ffe14fc
text_x_arnica: factored out select_files from format
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3
diff
changeset
|
361 """ select files """ |
28
e71bbef3a837
PEP8 whitespace fix to satisfy test_sourcecode
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
26
diff
changeset
|
362 # we need to take the page_name from the formatter.page otherwise |
9
6fb3b03afe2e
text_x_arnica: added some comments
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
8
diff
changeset
|
363 # include does not work |
4
ccc40ffe14fc
text_x_arnica: factored out select_files from format
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3
diff
changeset
|
364 self.pagename = formatter.page.page_name |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
365 if target_page and Page(self.request, target_page).exists() and self.request.user.may.read(target_page): |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
366 self.pagename = target_page |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
367 |
299
1c25a98e3d9d
reverted changeset 269:1e3e876e38fb for Image and partly for text_x_arnica
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
296
diff
changeset
|
368 image_alias = self.get_image_alias() |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
369 if self.only_items: |
323
b7fed7cdc13d
text_x_arnica: ToDo's added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
322
diff
changeset
|
370 # ToDo simplify |
320
a9f7a24a567d
text_x_arnica: bug fix of the only_item list problem of multiple aliases for one image by skipping duplications.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
319
diff
changeset
|
371 # get the same order of files and aliastext as on the page written |
231
c8897e9950a1
text_x_arnica: renamed get_quotes to get_image_alias
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
230
diff
changeset
|
372 files = image_alias.keys() |
102
b446b9826cf8
text_x_arnica: whitepaces removed, some linebreaks
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
100
diff
changeset
|
373 all_files = [fn for fn in files if wikiutil.isPicture(fn) and |
b446b9826cf8
text_x_arnica: whitepaces removed, some linebreaks
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
100
diff
changeset
|
374 AttachFile.exists(self.request, self.pagename, fn)] |
4
ccc40ffe14fc
text_x_arnica: factored out select_files from format
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3
diff
changeset
|
375 else: |
89
83abc483373a
text_x_arnica: internal _get_files routine added to select only valid image files
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
87
diff
changeset
|
376 all_files = _get_files(self.request, self.pagename) |
53
64c2bb702530
text_x_arnica: filer renamed into file_regex
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
52
diff
changeset
|
377 if self.file_regex != u'.': |
64c2bb702530
text_x_arnica: filer renamed into file_regex
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
52
diff
changeset
|
378 all_files = [attfile for attfile in all_files if re.match(self.file_regex, attfile)] |
4
ccc40ffe14fc
text_x_arnica: factored out select_files from format
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3
diff
changeset
|
379 if all_files: |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
380 self.define_thumb_webnails(all_files, image_alias) |
4
ccc40ffe14fc
text_x_arnica: factored out select_files from format
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
3
diff
changeset
|
381 return all_files |
17
cb6ad4cfdc5e
PEP8 whitespace fix
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
15
diff
changeset
|
382 |
74
ad51b86d7bc1
introduce macro arnica which calls the arnica parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
73
diff
changeset
|
383 def render(self, formatter): |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
384 if self.album and self.album_overview: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
385 # find pages |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
386 if (self.target_page or self.pagename).split(":")[0] in ["regex", "category"]: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
387 search_term = self.target_page or self.pagename |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
388 else: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
389 search_term = u'regex:title:^%s/' % (self.target_page or self.pagename) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
390 search_result = search.searchPages(self.request, search_term) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
391 target_pages = set(title.page_name for title in search_result.hits) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
392 # create album overview |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
393 albums = [] |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
394 for target_page in target_pages: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
395 self.arnica_image.clear() # remove previous images |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
396 html = self.render_thumbnails(formatter, target_page) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
397 if self.arnica_image: # skip empty albums |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
398 if self.sort_by == 'date': |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
399 albums.append([self.Image(self.request, target_page + '/' + self.top_image_sorted).ctime, html]) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
400 else: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
401 albums.append([self.top_image_sorted, html]) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
402 albums.sort() |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
403 if self.reverse_sort: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
404 albums.reverse() |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
405 col_count = 1 |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
406 cols = min([self.columns, len(albums)]) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
407 result = [] |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
408 for entry in albums: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
409 result.append(''.join(entry[1])) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
410 if col_count == cols and self.columns != 0: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
411 col_count = 0 |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
412 result.append('<br class="clearboth">') |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
413 col_count += 1 |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
414 result.append('<br class="clearboth">') |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
415 return ''.join(result) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
416 else: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
417 return self.render_thumbnails(formatter, self.target_page) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
418 |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
419 def render_thumbnails(self, formatter, target_page): |
74
ad51b86d7bc1
introduce macro arnica which calls the arnica parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
73
diff
changeset
|
420 """ renders thumbnails """ |
0
d164d12d06b8
initial version of arnica (image gallery parser and slideshow action)
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
diff
changeset
|
421 _ = self._ |
74
ad51b86d7bc1
introduce macro arnica which calls the arnica parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
73
diff
changeset
|
422 # checks if initializing of all attributes in __init__ was done |
55
1eb0c987a260
text_x_arnica: if the parser was called with a not defined parameter, print an error and return.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
54
diff
changeset
|
423 if not self.init_settings: |
1eb0c987a260
text_x_arnica: if the parser was called with a not defined parameter, print an error and return.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
54
diff
changeset
|
424 return |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
425 if target_page and (not Page(self.request, target_page).exists() or not self.request.user.may.read(target_page)): |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
426 text = _("""Page '%(new_pagename)s' does not exist or you don't have enough rights.""") % {"new_pagename": target_page} |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
427 return self.formatter.text(text) |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
428 if not self.arnica_image and not self.select_files(formatter, target_page): |
155
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
429 text = _("No matching image file found!") |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
430 return self.formatter.text(text) |
49
83078930ae66
introduction of the argument parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
48
diff
changeset
|
431 if self.template_itemlist: |
155
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
432 self.request.write(self.formatter.div(1, css_class="text")) |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
433 text = _("""\ |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
434 Copy the following listitems into the script. |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
435 Replace alias with the label you want. |
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
436 Afterwards disable template_itemlist by setting it to False:""") |
155
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
437 self.request.write(self.formatter.text(text)) |
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
438 self.request.write(self.formatter.div(1)) |
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
439 self.request.write(self.formatter.preformatted(1)) |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
440 keys = self.arnica_image.keys() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
441 keys.sort() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
442 for image in keys: |
260
0bf599bb643f
text_x_arnica: simplified substitution of parameter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
259
diff
changeset
|
443 text = ' * [[%s|alias]]\n' % image |
155
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
444 self.request.write(self.formatter.text(text)) |
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
445 self.request.write(self.formatter.preformatted(0)) |
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
446 self.request.write(self.formatter.div(0)) |
3d5773a1e24b
text_x_arnica: output text by the formatter
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
153
diff
changeset
|
447 self.request.write(self.formatter.div(0)) |
226
9faa8f0e9f86
fixed docstrings and removed some whitespaces
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
224
diff
changeset
|
448 |
43
623ddf996af2
text_x_arnica: album after creating of all thumbnails and webnails
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
42
diff
changeset
|
449 col_count = 1 |
277
0430039fe8c5
text_x_arnica.: fixed clearing of floating style for one image independent of number of columns, moved br style to a class definition
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
276
diff
changeset
|
450 cols = min([self.columns, len(self.arnica_image)]) |
43
623ddf996af2
text_x_arnica: album after creating of all thumbnails and webnails
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
42
diff
changeset
|
451 result = [] |
254
a422d7d58d56
text_x_arnica: beautified selected_images
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
253
diff
changeset
|
452 image_names = self.arnica_image.keys() |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
453 image_dict = {} |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
454 if self.only_items: |
323
b7fed7cdc13d
text_x_arnica: ToDo's added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
322
diff
changeset
|
455 # ToDo simplify |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
456 image_alias = self.get_image_alias() |
320
a9f7a24a567d
text_x_arnica: bug fix of the only_item list problem of multiple aliases for one image by skipping duplications.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
319
diff
changeset
|
457 image_names = image_alias.keys() |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
458 alias_text = image_alias.values() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
459 to_order = [int(alias_text[ix][1]) for ix in range(len(alias_text))] |
322
35bf08ec6596
text_x_arnica: strip image names in alias definitions
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
321
diff
changeset
|
460 names = [(alias_text[ix][2]).strip() for ix in range(len(alias_text))] |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
461 alias = [alias_text[ix][0] for ix in range(len(alias_text))] |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
462 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
463 i = 0 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
464 for ix in to_order: |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
465 image_names[ix] = names[i] |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
466 alias_text[ix] = alias[i] |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
467 i += 1 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
468 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
469 # sort by alias |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
470 if self.sort_by == "alias": |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
471 i = 0 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
472 for img in image_names: |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
473 image_dict[alias_text[i]] = img |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
474 i += 1 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
475 keys = image_dict.keys() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
476 keys.sort() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
477 image_names = [image_dict[txt] for txt in keys] |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
478 else: |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
479 # sort by date |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
480 if self.sort_by == "date": |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
481 for img in image_names: |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
482 itemname = self.pagename + '/' + img |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
483 # to get uniq times (gives order for sorting) |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
484 ft_file = "%d%x" % (self.Image(self.request, itemname).ctime, randint(0, 256)) |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
485 image_dict[ft_file] = img |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
486 keys = image_dict.keys() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
487 keys.sort() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
488 image_names = [image_dict[txt] for txt in keys] |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
489 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
490 # default sort by name |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
491 elif self.sort_by == "name" and not self.only_items: |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
492 image_names.sort() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
493 |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
494 image_dict.clear() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
495 # reverse sort |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
496 if self.reverse_sort: |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
497 image_names.reverse() |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
498 |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
499 # store first in album |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
500 self.top_image_sorted = image_names[0] |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
501 |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
502 if self.album: |
277
0430039fe8c5
text_x_arnica.: fixed clearing of floating style for one image independent of number of columns, moved br style to a class definition
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
276
diff
changeset
|
503 cols = 1 |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
504 album_image = self.album_image or self.top_image_sorted # self.high_resolution_image[0] |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
505 if not album_image in self.arnica_image.keys(): |
273
f91c1930abaf
text_x_arnica: replaced DataBrowserWidget by CSS. columns=0 means thumbnails flow onto new line is needed.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
270
diff
changeset
|
506 html = self.formatter.text(_("""You can't use as album image: |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
507 "%(album_image)s" because it does not exist or it is not listed |
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
508 in your item list!""") % {"album_image": album_image, }) |
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
509 else: |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
510 html = self.html_arrange_thumbnails(album_image, image_names) |
273
f91c1930abaf
text_x_arnica: replaced DataBrowserWidget by CSS. columns=0 means thumbnails flow onto new line is needed.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
270
diff
changeset
|
511 result.append(''.join(html)) |
252
cf5f8b929da9
text_x_arnica: refactored multiple subarrays into a dict and tuples
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
247
diff
changeset
|
512 else: |
315
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
513 for image in image_names: |
1f605f821a68
text_x_arnica: sort_by bug fixed by moving sorting to render.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
314
diff
changeset
|
514 html = self.html_arrange_thumbnails(image, image_names) |
273
f91c1930abaf
text_x_arnica: replaced DataBrowserWidget by CSS. columns=0 means thumbnails flow onto new line is needed.
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
270
diff
changeset
|
515 result.append(''.join(html)) |
277
0430039fe8c5
text_x_arnica.: fixed clearing of floating style for one image independent of number of columns, moved br style to a class definition
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
276
diff
changeset
|
516 if col_count == cols and self.columns != 0: |
43
623ddf996af2
text_x_arnica: album after creating of all thumbnails and webnails
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
42
diff
changeset
|
517 col_count = 0 |
277
0430039fe8c5
text_x_arnica.: fixed clearing of floating style for one image independent of number of columns, moved br style to a class definition
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
276
diff
changeset
|
518 result.append('<br class="clearboth">') |
43
623ddf996af2
text_x_arnica: album after creating of all thumbnails and webnails
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
42
diff
changeset
|
519 col_count += 1 |
288
5f91eff1ae2b
PEP8 white space fix
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
278
diff
changeset
|
520 |
569
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
521 if not self.album or not self.album_overview: |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
522 # no new line, if album and album_overview |
df77d4563af1
Added album-overview functionality.
sudo_dirk<d.alders@arcor.de>
parents:
543
diff
changeset
|
523 result.append('<br class="clearboth">') |
278
03071c3569d8
refactored for macro Image to use parts of arnicas rendering
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
277
diff
changeset
|
524 result.insert(0, self.formatter.div(1, css_class="arnica")) |
03071c3569d8
refactored for macro Image to use parts of arnicas rendering
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
277
diff
changeset
|
525 result.append(self.formatter.div(0)) |
276
e3c509f99aad
text_x_arnica: white space PEP8 fix, removed old comments
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
273
diff
changeset
|
526 return ''.join(result) |
268
bb780f830e66
refactored for using the new Image object
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
261
diff
changeset
|
527 |
74
ad51b86d7bc1
introduce macro arnica which calls the arnica parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
73
diff
changeset
|
528 def format(self, formatter): |
ad51b86d7bc1
introduce macro arnica which calls the arnica parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
73
diff
changeset
|
529 """ parser output """ |
ad51b86d7bc1
introduce macro arnica which calls the arnica parser
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
73
diff
changeset
|
530 # checks if initializing of all attributes in __init__ was done |
94
68102c2191f9
text_x_arnica: small refactoring of html_* methods
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
93
diff
changeset
|
531 if self.init_settings: |
479
167888214d95
arnica: compatibility for 1.9 changes added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
478
diff
changeset
|
532 html = self.render(formatter) |
167888214d95
arnica: compatibility for 1.9 changes added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
478
diff
changeset
|
533 if html: # 1.8 compatibility |
167888214d95
arnica: compatibility for 1.9 changes added
Reimar Bauer <rb.proj AT googlemail DOT com>
parents:
478
diff
changeset
|
534 self.request.write(html) |
181
b19e4e36a1f2
arnica: cosmetic fixes, improve docstrings, minor i18n bugfixes
Thomas Waldmann <tw AT waldmann-edv DOT de>
parents:
180
diff
changeset
|
535 |