Browse Source

Added config value to allow user-defined encode safe list to be used with the encoding of url values (media_url, content_url, and full_url). I wanted to use absolute urls for the media_url config value (I did not want to encode : or /).

main
Josh Gerdes 13 years ago
parent
commit
fb93f91be9
2 changed files with 8 additions and 0 deletions
  1. +1
    -0
      hyde/model.py
  2. +7
    -0
      hyde/site.py

+ 1
- 0
hyde/model.py View File

@@ -155,6 +155,7 @@ class Config(Expando):
layout_root='layout', layout_root='layout',
media_url='/media', media_url='/media',
base_url="/", base_url="/",
encode_safe=None,
not_found='404.html', not_found='404.html',
plugins = [], plugins = [],
ignore = [ "*~", "*.bak", ".hg", ".git", ".svn"], ignore = [ "*~", "*.bak", ".hg", ".git", ".svn"],


+ 7
- 0
hyde/site.py View File

@@ -425,6 +425,8 @@ class Site(object):
.replace(os.sep, '/').encode("utf-8") .replace(os.sep, '/').encode("utf-8")
if safe is not None: if safe is not None:
return quote(fpath, safe) return quote(fpath, safe)
elif self.config.encode_safe is not None:
return quote(fpath, self.config.encode_safe)
else: else:
return quote(fpath) return quote(fpath)


@@ -438,6 +440,8 @@ class Site(object):
.replace(os.sep, '/').encode("utf-8") .replace(os.sep, '/').encode("utf-8")
if safe is not None: if safe is not None:
return quote(fpath, safe) return quote(fpath, safe)
elif self.config.encode_safe is not None:
return quote(fpath, self.config.encode_safe)
else: else:
return quote(fpath) return quote(fpath)


@@ -447,6 +451,9 @@ class Site(object):
configuration and returns the appropriate url. The return value configuration and returns the appropriate url. The return value
is url encoded. is url encoded.
""" """
if safe is None and self.config.encode_safe is not None:
safe = self.config.encode_safe
if urlparse.urlparse(path)[:2] != ("",""): if urlparse.urlparse(path)[:2] != ("",""):
return path return path
if self.is_media(path): if self.is_media(path):


Loading…
Cancel
Save