X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=reindex_blog.py;h=b422784b960c85c9721b3eec07fa57f81d4d5057;hb=f9027abe8ceccf5b0ed4e6e46d5c91c42449bc28;hp=b75104df2c2a18f4be44d37672580e63d7590589;hpb=0d40d95940a4d1000134b9ede06cf6cff512dc1b;p=phdru.name%2Fphdru.name.git diff --git a/reindex_blog.py b/reindex_blog.py index b75104d..b422784 100755 --- a/reindex_blog.py +++ b/reindex_blog.py @@ -10,8 +10,9 @@ __copyright__ = "Copyright (C) 2006 PhiloSoft Design" import sys, os -blog_filename = sys.argv[1] +blog_data_root = sys.argv[1] blog_root = sys.argv[2] +blog_filename = os.path.join(blog_data_root, "blog_dict.pickle") try: import cPickle as pickle @@ -44,8 +45,7 @@ for dirpath, dirs, files in os.walk(blog_root): if not d.startswith("20") and not d.isdigit(): continue for file in files: - # Ignore index.tmpl and *.html files; supose all other files are *.tmpl - if file == "index.tmpl" or file.endswith(".html"): + if not file.endswith(".tmpl"): continue fullpath = os.path.join(dirpath, file) template = Template(file=fullpath) @@ -53,7 +53,7 @@ for dirpath, dirs, files in os.walk(blog_root): title = ' '.join(title_parts[6:]) lead = getattr(template, "Lead", None) - tags = getattr(template, "Tag", None) + tags = template.Tag if isinstance(tags, basestring): tags = (tags,) @@ -180,11 +180,11 @@ def write_template(level, year, month, day, titles, tags=None): #attr $Copyright = %(cyear)s ## #def body_html -

öÕÒÎÁÌ: %(day)d %(month_name_ru0)s %(year)s

+

öÕÒÎÁÌ: %(day)d %(month_name_ru)s %(year)s

""" % { "year": year, "cyear": year or 2005, "month_abbr_en": months_abbrs_en[imonth], "month_name_en": months_names_en[imonth], - "month_name_ru0": months_names_ru0[imonth], + "month_name_ru": months_names_ru[imonth], "day": iday }) @@ -260,6 +260,11 @@ def write_template(level, year, month, day, titles, tags=None):

''') + new_text.append(""" +
+

öö +""") + new_text.append("""\ #end def $phd_pp_ru.respond(self) @@ -299,8 +304,17 @@ for year in sorted(years.keys()): write_template(2, year, month, day, month_titles) write_template(1, year, month, day, year_titles) +def by_count_rev_tag_link(t1, t2): + """Sort all_tags by count in descending order, + and by tags and links in ascending order + """ + r = cmp(t1[0], t2[0]) + if r: + return -r + return cmp((t1[1], t1[2]), (t2[1], t2[2])) + all_tags = [(len(links), tag, links) for (tag, links) in all_tags.items()] -all_tags.sort() +all_tags.sort(by_count_rev_tag_link) write_template(0, year, month, day, all_titles[-20:], all_tags) @@ -375,7 +389,10 @@ from atom_10 import atom_10 from rss_20 import rss_20 from news import NewsItem -baseURL = "http://phd.pp.ru/Russian/blog/" +if blog_root: + baseURL = "http://phd.pp.ru/%s/" % blog_root +else: + baseURL = "http://phd.pp.ru/" items = [] for item in tuple(reversed(all_titles_tags))[:10]: