Attachment 'imgbrwsrgen.py'
Download 1 # -*- coding: iso-8859-1 -*-
2 """
3 MoinMoin - imgbrwsrgen Action
4 Version 0.1
5
6 Generates the various components of a PHP or HTML image browser.
7
8 @copyright: 2007 by Kenneth Bull
9 @license: GNU GPL, see COPYING for details.
10 """
11 from ..macro import ImageBrowserContent
12 from MoinMoin.action import AttachFile
13 from MoinMoin.Page import Page
14 from MoinMoin import wikiutil
15
16 try:
17 from . import Thumbnail
18 except:
19 Thumbnail = None
20
21 def execute(pagename, request):
22 _ = request.getText
23 page = Page(pagename)
24
25 files = request.form.get('files')
26 if files is None:
27 files = ImageBrowserContent.getImageList(request, pagename)
28 else:
29 files = files[0].split(',')
30
31 do = request.form.get('do', ['help'])[0]
32 if do == 'help':
33 request.disableHttpCaching(level=2)
34 request.http_headers()
35 wikiutil.send_title(request, pagename, page=page, pagename=pagename, html_head='', editor_mode=1)
36 request.write(request.formatter.startContent("content"))
37
38 request.write(request.formatter.heading(1, 1)+\
39 _("Image browser components")+\
40 request.formatter.heading(0, 1))
41
42 request.write(request.formatter.heading(1, 2)+\
43 _("Code")+\
44 request.formatter.heading(0, 2))
45
46 url = '%s/%s?action=%s&do=' % (request.getScriptname(),
47 wikiutil.quoteWikinameURL(pagename),
48 action_name)
49 for cmd in [['inc', _("PHP include file")],
50 ['php', _("PHP code")],
51 ['js', _("JavaScript code")],
52 ['html', _("HTML code")]]:
53 request.write(''.join(\
54 request.formatter.url(1,
55 url = ''.join(\
56 url,
57 request.getScriptname(),
58 wikiutil.quoteWikinameURL(pagename),
59 action_name,
60 cmd[0],
61 request.form.get('index') and ('&index=%s' % request.form.get('index')[0]) or '',
62 request.form.get('files') and ('&files=%s' % request.form.get('files')[0]) or '')),
63 cmd[1],
64 request.formatter.url(0),
65 request.formatter.linebreak()))
66
67 request.write(request.formatter.heading(1, 2)+\
68 _("Images")+\
69 request.formatter.heading(0, 2))
70
71 for f in files:
72 page_name, filename = AttachFile.absoluteName(f, macro.formatter.page.page_name)
73 request.write(''.join(\
74 request.formatter.url(1, url = AttachFile.getAttachUrl(page_name, filename, request))
75 "%s/%s" % (page_name, filename),
76 request.formatter.url(0),
77 request.formatter.linebreak()))
78
79 if Thumbnail is not None:
80 request.write(request.formatter.heading(1, 2)+\
81 _("Thumbnails")+\
82 request.formatter.heading(0, 2))
83 for f in files:
84 page_name, filename = AttachFile.absoluteName(f, macro.formatter.page.page_name)
85 request.write(''.join(\
86 request.formatter.url(1, url = Thumbnail.getThumbnailUrl(page_name, filename, request, 320, 240))
87 "%s/%s" % (page_name, filename),
88 request.formatter.url(0),
89 request.formatter.linebreak()))
90
91 request.write(self.request.formatter.endContent())
92 wikiutil.send_footer(self.request, self.page_name)
93 return
94 elif do == 'inc':
95 elif do == 'php':
96 elif do == 'js':
97 elif do == 'html':
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.You are not allowed to attach a file to this page.