1
0
Fork 0
forked from github/pelican

os.walk does not support followlinks kwargs in python 2.5

This commit is contained in:
Mikhail Korobov 2011-05-06 17:01:34 +06:00
commit 70ea12aec3

View file

@ -35,7 +35,7 @@ class Generator(object):
loader=FileSystemLoader(self._templates_path), loader=FileSystemLoader(self._templates_path),
extensions=self.settings.get('JINJA_EXTENSIONS', []), extensions=self.settings.get('JINJA_EXTENSIONS', []),
) )
# get custom Jinja filters from user settings # get custom Jinja filters from user settings
custom_filters = self.settings.get('JINJA_FILTERS', {}) custom_filters = self.settings.get('JINJA_FILTERS', {})
self._env.filters.update(custom_filters) self._env.filters.update(custom_filters)
@ -63,7 +63,13 @@ class Generator(object):
extensions = self.markup extensions = self.markup
files = [] files = []
for root, dirs, temp_files in os.walk(path, followlinks=True):
try:
iter = os.walk(path, followlinks=True)
except TypeError: # python 2.5 does not support followlinks
iter = os.walk(path)
for root, dirs, temp_files in iter:
for e in exclude: for e in exclude:
if e in dirs: if e in dirs:
dirs.remove(e) dirs.remove(e)
@ -116,11 +122,11 @@ class ArticlesGenerator(Generator):
if 'TAG_FEED' in self.settings: if 'TAG_FEED' in self.settings:
for tag, arts in self.tags.items(): for tag, arts in self.tags.items():
arts.sort(key=attrgetter('date'), reverse=True) arts.sort(key=attrgetter('date'), reverse=True)
writer.write_feed(arts, self.context, writer.write_feed(arts, self.context,
self.settings['TAG_FEED'] % tag) self.settings['TAG_FEED'] % tag)
if 'TAG_FEED_RSS' in self.settings: if 'TAG_FEED_RSS' in self.settings:
writer.write_feed(arts, self.context, writer.write_feed(arts, self.context,
self.settings['TAG_FEED_RSS'] % tag, feed_type='rss') self.settings['TAG_FEED_RSS'] % tag, feed_type='rss')
translations_feeds = defaultdict(list) translations_feeds = defaultdict(list)
@ -142,7 +148,7 @@ class ArticlesGenerator(Generator):
relative_urls = self.settings.get('RELATIVE_URLS') relative_urls = self.settings.get('RELATIVE_URLS')
) )
# to minimize the number of relative path stuff modification # to minimize the number of relative path stuff modification
# in writer, articles pass first # in writer, articles pass first
article_template = self.get_template('article') article_template = self.get_template('article')
for article in chain(self.translations, self.articles): for article in chain(self.translations, self.articles):
@ -220,7 +226,7 @@ class ArticlesGenerator(Generator):
# sort the articles by date # sort the articles by date
self.articles.sort(key=attrgetter('date'), reverse=True) self.articles.sort(key=attrgetter('date'), reverse=True)
self.dates = list(self.articles) self.dates = list(self.articles)
self.dates.sort(key=attrgetter('date'), self.dates.sort(key=attrgetter('date'),
reverse=self.context['REVERSE_ARCHIVE_ORDER']) reverse=self.context['REVERSE_ARCHIVE_ORDER'])
# create tag cloud # create tag cloud
@ -236,7 +242,7 @@ class ArticlesGenerator(Generator):
if tags: if tags:
max_count = max(tags) max_count = max(tags)
steps = self.settings.get('TAG_CLOUD_STEPS') steps = self.settings.get('TAG_CLOUD_STEPS')
# calculate word sizes # calculate word sizes
self.tag_cloud = [ self.tag_cloud = [
( (
@ -327,7 +333,7 @@ class PdfGenerator(Generator):
# print "Generating pdf for", obj.filename, " in ", output_pdf # print "Generating pdf for", obj.filename, " in ", output_pdf
self.pdfcreator.createPdf(text=open(obj.filename), output=output_pdf) self.pdfcreator.createPdf(text=open(obj.filename), output=output_pdf)
info(u' [ok] writing %s' % output_pdf) info(u' [ok] writing %s' % output_pdf)
def generate_context(self): def generate_context(self):
pass pass