Mercurial > public > src > moin > extensions
diff data/plugin/parser/text_x_arnica.py @ 320:a9f7a24a567d
text_x_arnica: bug fix of the only_item list problem of multiple aliases for one image by skipping duplications.
author | Reimar Bauer <rb.proj AT googlemail DOT com> |
---|---|
date | Thu, 18 Dec 2008 13:46:08 +0100 |
parents | daa964f86828 |
children | c958b4dbfa4a |
line wrap: on
line diff
--- a/data/plugin/parser/text_x_arnica.py Wed Dec 17 21:08:31 2008 +0100 +++ b/data/plugin/parser/text_x_arnica.py Thu Dec 18 13:46:08 2008 +0100 @@ -217,7 +217,6 @@ @param image: image as key for corresponding data @param selected_images: ordered list of selected images """ - img = selected_images[0] title = "" if self.album: title = '<div class="title">%(n)d images (%(album_title)s)</div>' % {"n": len(self.arnica_image), @@ -300,8 +299,10 @@ for line in quotes: if line.startswith('[[') and line.endswith(']]'): img, alias = line[2:-2].split('|', 1) - image_alias[img.strip()] = (self.formatter.text(alias.strip()), counter, img.strip()) - counter += 1 + # don't count an image more than once + if img.strip() not in image_alias.keys(): + image_alias[img.strip()] = (self.formatter.text(alias.strip()), counter, img) + counter += 1 return image_alias def select_files(self, formatter): @@ -314,6 +315,7 @@ image_alias = self.get_image_alias() if self.only_items: + # get the same order of files and aliastext as on the page written files = image_alias.keys() all_files = [fn for fn in files if wikiutil.isPicture(fn) and AttachFile.exists(self.request, self.pagename, fn)] @@ -364,6 +366,7 @@ image_dict = {} if self.only_items: image_alias = self.get_image_alias() + image_names = image_alias.keys() alias_text = image_alias.values() to_order = [int(alias_text[ix][1]) for ix in range(len(alias_text))] names = [alias_text[ix][2] for ix in range(len(alias_text))]