mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
utils: Add path_to_url() and generalize get_relative_path()
The old get_relative_path() implementation assumed os.sep == '/', which doesn't hold on MS Windows. The new implementation uses split_all() for a more general component count. I added path_to_url(), because the: '/'.join(split_all(path)) idiom was showing up in a number of cases, and it's easier to understand what's going on when that reads: path_to_url(path) This will fix a number of places where I think paths and URLs were conflated, and should improve MS Windows support.
This commit is contained in:
parent
b59da89e80
commit
ae4fc5a25e
5 changed files with 25 additions and 13 deletions
|
|
@ -10,7 +10,7 @@ from codecs import open
|
|||
from feedgenerator import Atom1Feed, Rss201rev2Feed
|
||||
from jinja2 import Markup
|
||||
from pelican.paginator import Paginator
|
||||
from pelican.utils import get_relative_path, set_date_tzinfo
|
||||
from pelican.utils import get_relative_path, path_to_url, set_date_tzinfo
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
|
@ -60,7 +60,9 @@ class Writer(object):
|
|||
old_locale = locale.setlocale(locale.LC_ALL)
|
||||
locale.setlocale(locale.LC_ALL, str('C'))
|
||||
try:
|
||||
self.site_url = context.get('SITEURL', get_relative_path(path))
|
||||
self.site_url = context.get(
|
||||
'SITEURL', path_to_url(get_relative_path(path)))
|
||||
|
||||
self.feed_domain = context.get('FEED_DOMAIN')
|
||||
self.feed_url = '{}/{}'.format(self.feed_domain, path)
|
||||
|
||||
|
|
@ -125,9 +127,9 @@ class Writer(object):
|
|||
|
||||
localcontext = context.copy()
|
||||
if relative_urls:
|
||||
relative_path = get_relative_path(name)
|
||||
context['localsiteurl'] = relative_path
|
||||
localcontext['SITEURL'] = relative_path
|
||||
relative_url = path_to_url(get_relative_path(name))
|
||||
context['localsiteurl'] = relative_url
|
||||
localcontext['SITEURL'] = relative_url
|
||||
|
||||
localcontext['output_file'] = name
|
||||
localcontext.update(kwargs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue