Merge remote branch 'upstream/master'

This commit is contained in:
Mario Rodas 2011-07-02 14:19:11 -05:00
commit 0e596a29d9
4 changed files with 22 additions and 22 deletions

View file

@ -51,7 +51,7 @@ Setting name (default value) what does it do?
`PDF_GENERATOR` (``False``) Set to True if you want to have PDF versions
of your documents. You will need to install
`rst2pdf`.
`RELATIVE_URL` (``True``) Defines if pelican should use relative urls or
`RELATIVE_URLS` (``True``) Defines if pelican should use relative urls or
not.
`SITEURL` base URL of your website. Note that this is
not a way to tell pelican to use relative urls

View file

@ -152,7 +152,7 @@ def main():
else:
pelican.run()
except Exception, e:
log.critical(str(e))
log.critical(unicode(e))
if __name__ == '__main__':

View file

@ -15,7 +15,7 @@ def get_date(string):
If no format matches the given date, raise a ValuEerror
"""
formats = ['%Y-%m-%d %H:%M', '%Y/%m/%d %H:%M', '%Y-%m-%d', '%Y/%m/%d',
'%d/%m/%Y', '%d.%m.%Y', '%d.%m.%Y %H:%M']
'%d/%m/%Y', '%d.%m.%Y', '%d.%m.%Y %H:%M', '%Y-%m-%d %H:%M:%S']
for date_format in formats:
try:
return datetime.strptime(string, date_format)

View file

@ -111,7 +111,8 @@ class Writer(object):
localcontext['SITEURL'] = get_relative_path(name)
localcontext.update(kwargs)
self.update_context_contents(name, localcontext)
if relative_urls:
self.update_context_contents(name, localcontext)
# check paginated
paginated = paginated or {}
@ -166,24 +167,23 @@ class Writer(object):
"""
content = input._content
hrefs = re.compile(r'<\s*[^\>]*href\s*=(^!#)\s*(["\'])(.*?)\1')
srcs = re.compile(r'<\s*[^\>]*src\s*=\s*(["\'])(.*?)\1')
hrefs = re.compile(r"""
(?P<markup><\s*[^\>]* # match tag with src and href attr
(?:href|src)\s*=\s*
)
(?P<quote>["\']) # require value to be quoted
(?![#?]) # don't match fragment or query URLs
(?![a-z]+:) # don't match protocol URLS
(?P<path>.*?) # the url value
\2""", re.X)
matches = hrefs.findall(content)
matches.extend(srcs.findall(content))
relative_paths = []
for found in matches:
found = found[1]
if found not in relative_paths:
relative_paths.append(found)
def replacer(m):
relative_path = m.group('path')
dest_path = os.path.normpath( os.sep.join( (get_relative_path(name),
"static", relative_path) ) )
return m.group('markup') + m.group('quote') + dest_path + m.group('quote')
for relative_path in relative_paths:
if not ":" in relative_path: # we don't want to rewrite protocols
dest_path = os.sep.join((get_relative_path(name), "static",
relative_path))
content = content.replace(relative_path, dest_path)
return content
return hrefs.sub(replacer, content)
if context is None:
return