Changeset 1449
- Timestamp:
- 02/27/08 16:21:32 (8 months ago)
- Location:
- trunk/pylucid
- Files:
-
- 85 added
- 19 removed
- 6 modified
-
media/PyLucid/internal_page (added)
-
media/PyLucid/internal_page/admin_menu (added)
-
media/PyLucid/internal_page/admin_menu/sub_menu.html (added)
-
media/PyLucid/internal_page/admin_menu/sub_menu.js (added)
-
media/PyLucid/internal_page/admin_menu/top_menu.html (added)
-
media/PyLucid/internal_page/auth (added)
-
media/PyLucid/internal_page/auth/input_password.css (added)
-
media/PyLucid/internal_page/auth/input_password.html (added)
-
media/PyLucid/internal_page/auth/input_password.js (added)
-
media/PyLucid/internal_page/auth/input_username.css (added)
-
media/PyLucid/internal_page/auth/input_username.html (added)
-
media/PyLucid/internal_page/auth/new_password_form.css (added)
-
media/PyLucid/internal_page/auth/new_password_form.html (added)
-
media/PyLucid/internal_page/auth/new_password_form.js (added)
-
media/PyLucid/internal_page/auth/pass_reset_email.html (added)
-
media/PyLucid/internal_page/auth/pass_reset_form.html (added)
-
media/PyLucid/internal_page/auth/plaintext_login.html (added)
-
media/PyLucid/internal_page/back_links (added)
-
media/PyLucid/internal_page/back_links/back_links.css (added)
-
media/PyLucid/internal_page/back_links/back_links.html (added)
-
media/PyLucid/internal_page/EMailSystem (added)
-
media/PyLucid/internal_page/EMailSystem/mail_form.html (added)
-
media/PyLucid/internal_page/filemanager (added)
-
media/PyLucid/internal_page/filemanager/edit_file.html (added)
-
media/PyLucid/internal_page/filemanager/filelist.css (added)
-
media/PyLucid/internal_page/filemanager/filelist.html (added)
-
media/PyLucid/internal_page/filemanager/filelist.js (added)
-
media/PyLucid/internal_page/filemanager/select_basepath.html (added)
-
media/PyLucid/internal_page/filemanager/userinfo.html (added)
-
media/PyLucid/internal_page/find_and_replace (added)
-
media/PyLucid/internal_page/find_and_replace/find_and_replace.css (added)
-
media/PyLucid/internal_page/find_and_replace/find_and_replace.html (added)
-
media/PyLucid/internal_page/IncludeRemote (added)
-
media/PyLucid/internal_page/IncludeRemote/IncludeRemote.css (added)
-
media/PyLucid/internal_page/IncludeRemote/IncludeRemote.html (added)
-
media/PyLucid/internal_page/main_menu (added)
-
media/PyLucid/internal_page/main_menu/main_menu.css (added)
-
media/PyLucid/internal_page/main_menu/main_menu.html (added)
-
media/PyLucid/internal_page/main_menu/main_menu_li.html (added)
-
media/PyLucid/internal_page/main_menu/main_menu_ul.html (added)
-
media/PyLucid/internal_page/page_admin (added)
-
media/PyLucid/internal_page/page_admin/delete_pages.css (added)
-
media/PyLucid/internal_page/page_admin/delete_pages.html (added)
-
media/PyLucid/internal_page/page_admin/edit_page.css (added)
-
media/PyLucid/internal_page/page_admin/edit_page.html (added)
-
media/PyLucid/internal_page/page_admin/edit_page.js (added)
-
media/PyLucid/internal_page/page_admin/select_edit_page.css (added)
-
media/PyLucid/internal_page/page_admin/select_edit_page.html (added)
-
media/PyLucid/internal_page/page_admin/sequencing.css (added)
-
media/PyLucid/internal_page/page_admin/sequencing.html (added)
-
media/PyLucid/internal_page/page_admin/tag_list.css (added)
-
media/PyLucid/internal_page/page_admin/tag_list.html (added)
-
media/PyLucid/internal_page/page_admin/tinyTextile_help.css (added)
-
media/PyLucid/internal_page/page_admin/tinyTextile_help.html (added)
-
media/PyLucid/internal_page/page_style (added)
-
media/PyLucid/internal_page/page_style/add_data.html (added)
-
media/PyLucid/internal_page/page_style/write_styles.html (added)
-
media/PyLucid/internal_page/page_update_list (added)
-
media/PyLucid/internal_page/page_update_list/PageUpdateTable.css (added)
-
media/PyLucid/internal_page/page_update_list/PageUpdateTable.html (added)
-
media/PyLucid/internal_page/plugin_admin (added)
-
media/PyLucid/internal_page/plugin_admin/administation_menu.css (added)
-
media/PyLucid/internal_page/plugin_admin/administation_menu.html (added)
-
media/PyLucid/internal_page/plugin_admin/module_setup.html (added)
-
media/PyLucid/internal_page/RSS (added)
-
media/PyLucid/internal_page/RSS/RSS.css (added)
-
media/PyLucid/internal_page/RSS/RSS.html (added)
-
media/PyLucid/internal_page/RSSfeedGenerator (added)
-
media/PyLucid/internal_page/RSSfeedGenerator/RSSfeed.html (added)
-
media/PyLucid/internal_page/search (added)
-
media/PyLucid/internal_page/search/input_form.css (added)
-
media/PyLucid/internal_page/search/input_form.html (added)
-
media/PyLucid/internal_page/search/result_page.css (added)
-
media/PyLucid/internal_page/search/result_page.html (added)
-
media/PyLucid/internal_page/show (added)
-
media/PyLucid/internal_page/show/all_pages.css (added)
-
media/PyLucid/internal_page/show/all_pages.html (added)
-
media/PyLucid/internal_page/show/nav_links.css (added)
-
media/PyLucid/internal_page/show/nav_links.html (added)
-
media/PyLucid/internal_page/SiteMap (added)
-
media/PyLucid/internal_page/SiteMap/SiteMap.css (added)
-
media/PyLucid/internal_page/SiteMap/SiteMap.html (added)
-
media/PyLucid/internal_page/sub_menu (added)
-
media/PyLucid/internal_page/sub_menu/sub_menu.html (added)
-
PyLucid/db/internal_pages.py (deleted)
-
PyLucid/install/BaseInstall.py (modified) (2 diffs)
-
PyLucid/plugins_internal/admin_menu/internal_pages (deleted)
-
PyLucid/plugins_internal/auth/auth.py (modified) (3 diffs)
-
PyLucid/plugins_internal/auth/internal_pages (deleted)
-
PyLucid/plugins_internal/back_links/internal_pages (deleted)
-
PyLucid/plugins_internal/EMailSystem/internal_pages (deleted)
-
PyLucid/plugins_internal/filemanager/internal_pages (deleted)
-
PyLucid/plugins_internal/find_and_replace/internal_pages (deleted)
-
PyLucid/plugins_internal/IncludeRemote/internal_pages (deleted)
-
PyLucid/plugins_internal/main_menu/internal_pages (deleted)
-
PyLucid/plugins_internal/main_menu/main_menu.py (modified) (2 diffs)
-
PyLucid/plugins_internal/page_admin/internal_pages (deleted)
-
PyLucid/plugins_internal/page_style/internal_pages (deleted)
-
PyLucid/plugins_internal/page_style/page_style.py (modified) (3 diffs)
-
PyLucid/plugins_internal/page_update_list/internal_pages (deleted)
-
PyLucid/plugins_internal/plugin_admin/internal_pages (deleted)
-
PyLucid/plugins_internal/RSS/internal_pages (deleted)
-
PyLucid/plugins_internal/RSSfeedGenerator/internal_pages (deleted)
-
PyLucid/plugins_internal/search/internal_pages (deleted)
-
PyLucid/plugins_internal/show/internal_pages (deleted)
-
PyLucid/plugins_internal/SiteMap/internal_pages (deleted)
-
PyLucid/plugins_internal/sub_menu/internal_pages (deleted)
-
PyLucid/settings_example.py (modified) (3 diffs)
-
PyLucid/system/BasePlugin.py (modified) (4 diffs)
-
PyLucid/system/internal_page.py (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pylucid/PyLucid/install/BaseInstall.py
r1343 r1449 4 4 """ 5 5 6 import sys, os 6 import sys, os, posixpath 7 7 8 8 from PyLucid import PYLUCID_VERSION_STRING … … 107 107 108 108 self.request = request 109 110 media_url = posixpath.join( 111 settings.MEDIA_URL, settings.PYLUCID_MEDIA_DIR, "" 112 ) # With appended slash, for backward compatible 109 113 self.context = { 110 114 "output": "", 111 115 "request": request, 112 "PyLucid_media_url": settings.PYLUCID_MEDIA_URL,116 "PyLucid_media_url": media_url, 113 117 "version": PYLUCID_VERSION_STRING, 114 118 "current_working_dir": os.getcwd(), -
trunk/pylucid/PyLucid/plugins_internal/auth/auth.py
r1440 r1449 42 42 __version__ = "$Rev$" 43 43 44 import datetime 44 import datetime, posixpath 45 45 46 46 from django.http import HttpResponseRedirect … … 317 317 next_url = self.request.POST.get('next_url',self.URLs['scriptRoot']) 318 318 salt = js_login_data.salt 319 320 media_url = posixpath.join( 321 settings.MEDIA_URL, settings.PYLUCID_MEDIA_DIR, 322 ) 319 323 context = { 320 324 "username": user.username, … … 322 326 "salt": salt, 323 327 "next_url": next_url, 324 "PyLucid_media_url": settings.PYLUCID_MEDIA_URL,328 "PyLucid_media_url": media_url, 325 329 } 326 330 -
trunk/pylucid/PyLucid/plugins_internal/main_menu/main_menu.py
r1371 r1449 85 85 86 86 # Render one menu entry 87 html = self._get_rendered_template("main menuli", entry)87 html = self._get_rendered_template("main_menu_li", entry) 88 88 result.append(html) 89 89 … … 93 93 94 94 # render all menu entries into a <ul> tag 95 menu_html = self._get_rendered_template("main menuul", context)95 menu_html = self._get_rendered_template("main_menu_ul", context) 96 96 97 97 return mark_safe(menu_html) -
trunk/pylucid/PyLucid/plugins_internal/page_style/page_style.py
r1425 r1449 42 42 from PyLucid.system.BasePlugin import PyLucidBasePlugin 43 43 from PyLucid.tools.content_processors import render_string_template 44 from PyLucid.db.internal_pages import get_internal_page45 44 46 45 class page_style(PyLucidBasePlugin): … … 103 102 return response 104 103 105 104 from PyLucid.system.internal_page import get_internal_page, InternalPageNotFound 106 105 def replace_add_data(context, content): 107 106 """ … … 110 109 Note: The tag added in PyLucid.plugins_internal.page_style 111 110 """ 112 113 internal_page = get_internal_page("page_style", "add_data") 114 internal_page_content = internal_page.content_html 111 internal_page_content = get_internal_page(context, "page_style", "add_data") 115 112 116 113 context = { -
trunk/pylucid/PyLucid/settings_example.py
r1388 r1449 169 169 MEDIA_ROOT = "./media/" 170 170 171 172 171 # URL that handles the media served from MEDIA_ROOT. 173 172 # Example-1: "/media/" (default) … … 175 174 # Example-3: "http://media.your_domain.net/" 176 175 MEDIA_URL = "/media/" 177 178 179 # URL for the PyLucid media files.180 # Example-1: "/media/PyLucid/" (default)181 # Examlpe-2: "http://other_domain.net/media/PyLucid/"182 # Example-3: "http://pylucid.media.your_domain.net/"183 PYLUCID_MEDIA_URL = "/media/PyLucid/"184 185 176 186 177 # URL prefix for admin media -- CSS, JavaScript and images. … … 321 312 # PYLUCID BASE SETTINGS 322 313 # basic adjustments, witch don't have to be changed. 314 315 # All PyLucid media files stored in a sub directory under the django media 316 # path. Used for building filesystem path and URLs. 317 # filesystem path: MEDIA_ROOT + PYLUCID_MEDIA_SUBDIR 318 # URLs: MEDIA_URL + PYLUCID_MEDIA_SUBDIR 319 PYLUCID_MEDIA_DIR = "PyLucid" 320 321 # Sub directory name for all default internal pages. It would be used to build 322 # the filesystem path and the URL! 323 # filesystem path: MEDIA_ROOT + PYLUCID_MEDIA_SUBDIR + INTERNAL_PAGE_PATH 324 # URLs: MEDIA_URL + PYLUCID_MEDIA_SUBDIR + INTERNAL_PAGE_PATH 325 INTERNAL_PAGE_DIR = "internal_page" 326 327 # If you will change a internal page, you must copy a file from 328 # INTERNAL_PAGE_PATH into this directory. (Same subdirectory!) 329 # (default: "custom") 330 # filesystem path: MEDIA_ROOT + PYLUCID_MEDIA_SUBDIR + CUSTOM_INTERNAL_PAGE_PATH 331 # URLs: MEDIA_URL + PYLUCID_MEDIA_SUBDIR + CUSTOM_INTERNAL_PAGE_PATH 332 CUSTOM_INTERNAL_PAGE_DIR = "custom" 333 323 334 324 335 # Path to the Plugins -
trunk/pylucid/PyLucid/system/BasePlugin.py
r1419 r1449 32 32 """ 33 33 34 import pprint34 import os, pprint 35 35 36 from django.conf import settings 36 37 from django.utils.safestring import mark_safe 37 38 38 from PyLucid.db.internal_pages import get_internal_page39 39 from PyLucid.tools.content_processors import apply_markup, \ 40 40 render_string_template 41 41 from PyLucid.tools.utils import escape 42 42 from PyLucid.system.internal_page import InternalPage, InternalPageNotFound 43 43 44 44 45 45 class PyLucidBasePlugin(object): 46 46 47 # A simple cache for the internal pages. Because if a plugin use very48 # often a small template, we have many database queries!49 _internal_page_cache = {}47 def __init__(self, context, response): 48 self.plugin_name = self.__class__.__name__ 49 self.internal_page = InternalPage(context, self.plugin_name) 50 50 51 def __init__(self, context, response):52 51 self.context = context 53 52 self.response = response … … 75 74 76 75 77 def _get_template(self, internal_page_name): 78 """ 79 Retuned the internal page object. 80 Get the plugin name throu the superior class name. 81 Use a simple cache to hold down the database access. 82 """ 83 if internal_page_name in self._internal_page_cache: 84 return self._internal_page_cache[internal_page_name] 85 86 plugin_name = self.__class__.__name__ 87 internal_page = get_internal_page(plugin_name, internal_page_name) 88 89 if not self.request.debug: 90 # Use the cache only if DEBUG is off -> For development the cache 91 # is hindering, if we change the internal page content. 92 self._internal_page_cache[internal_page_name] = internal_page 93 94 return internal_page 95 96 def _add_js_css_data(self, internal_page): 76 def _add_js_css_data(self, internal_page_name): 97 77 """ 98 78 insert the additional JavaScript and StyleSheet data into the global 99 79 context. 80 page_style.replace_add_data() puts the file links into the page. 100 81 """ 101 def add(attr_name, key): 102 content = getattr(internal_page, attr_name) 103 if content == "": 104 # Nothig to append ;) 105 return 106 107 self.context[key].append({ 108 "from_info": "internal page: '%s'" % internal_page.name, 109 "data": content, 82 for slug in ("js", "css"): 83 url = self.internal_page.get_url(internal_page_name, slug) 84 if url == None: 85 continue 86 self.context["%s_data" % slug].append({ 87 "plugin_name": self.plugin_name, 88 "url": url, 110 89 }) 111 112 # append the JavaScript data113 add("content_js", "js_data")114 115 # append the StyleSheet data116 add("content_css", "css_data")117 118 90 119 91 def _get_rendered_template(self, internal_page_name, context, debug=False): … … 121 93 return a rendered internal page 122 94 """ 123 internal_page = self._get_template(internal_page_name) 95 try: 96 content = self.internal_page.get_content(internal_page_name, "html") 97 except InternalPageNotFound: 98 self.page_msg.red( 99 "Internal page '%s' not found!" % internal_page_name 100 ) 101 return 124 102 125 content_html = internal_page.content_html103 self._add_js_css_data(internal_page_name) 126 104 127 self._add_js_css_data(internal_page)105 html = self.__render(content, context, debug) 128 106 129 html = self.__render(content_html, context, debug) 107 # FIXME: Should be remove the markup function in internal pages? 108 # markup_object = internal_page.markup 109 # html = apply_markup(html, self.context, markup_object) 130 110 131 markup_object = internal_page.markup 132 html = apply_markup(html, self.context, markup_object) 133 111 html = mark_safe(html) # turn djngo auto-escaping off 134 112 return html 135 113 … … 139 117 """ 140 118 html = self._get_rendered_template(internal_page_name, context, debug) 141 html = mark_safe(html) # turn djngo auto-escaping off142 119 self.response.write(html) 143 120
