diff options
author | Mike Crute <mcrute@gmail.com> | 2010-09-07 23:07:01 -0400 |
---|---|---|
committer | Mike Crute <mcrute@gmail.com> | 2010-09-07 23:07:01 -0400 |
commit | fd8deec81aec163af60a27f3527818d829724007 (patch) | |
tree | 9120f8021023baee4c1a166264cfc6b7879b0cc8 | |
parent | 88fd10e4081a721880a5bfe3e143cee8a2e82ddf (diff) | |
download | ventriloquy-fd8deec81aec163af60a27f3527818d829724007.tar.bz2 ventriloquy-fd8deec81aec163af60a27f3527818d829724007.tar.xz ventriloquy-fd8deec81aec163af60a27f3527818d829724007.zip |
Cleaning up hard-coded data
-rw-r--r-- | site_builder/__init__.py | 23 | ||||
-rw-r--r-- | site_builder/blogbuilder.py | 14 |
2 files changed, 21 insertions, 16 deletions
diff --git a/site_builder/__init__.py b/site_builder/__init__.py index f72cd92..c8e9a46 100644 --- a/site_builder/__init__.py +++ b/site_builder/__init__.py | |||
@@ -8,6 +8,7 @@ Site Builder | |||
8 | """ | 8 | """ |
9 | 9 | ||
10 | import os | 10 | import os |
11 | from os import path | ||
11 | import jinja2 | 12 | import jinja2 |
12 | import pagebuilder | 13 | import pagebuilder |
13 | from datetime import datetime | 14 | from datetime import datetime |
@@ -15,10 +16,13 @@ from docutils.core import publish_parts | |||
15 | from docutils.io import FileInput | 16 | from docutils.io import FileInput |
16 | 17 | ||
17 | 18 | ||
19 | TEMPLATES = path.join(path.dirname(path.dirname(__file__)), "templates") | ||
20 | |||
21 | |||
18 | def get_template(name): | 22 | def get_template(name): |
19 | loader = jinja2.FileSystemLoader('ventriloquy/templates') | 23 | loader = jinja2.FileSystemLoader(TEMPLATES) |
20 | renderer = jinja2.Environment(loader=loader) | 24 | renderer = jinja2.Environment(loader=loader) |
21 | return renderer.get_template(name) | 25 | return renderer.get_template(name) |
22 | 26 | ||
23 | 27 | ||
24 | def build_standard_page(filename, output_name): | 28 | def build_standard_page(filename, output_name): |
@@ -26,7 +30,7 @@ def build_standard_page(filename, output_name): | |||
26 | template = get_template('page.html') | 30 | template = get_template('page.html') |
27 | 31 | ||
28 | try: | 32 | try: |
29 | os.makedirs(os.path.dirname(output_name)) | 33 | os.makedirs(path.dirname(output_name)) |
30 | except OSError: | 34 | except OSError: |
31 | pass # directory exists | 35 | pass # directory exists |
32 | 36 | ||
@@ -37,9 +41,9 @@ def build_standard_page(filename, output_name): | |||
37 | 41 | ||
38 | 42 | ||
39 | def get_output_name(base_dir, output_dir, filename): | 43 | def get_output_name(base_dir, output_dir, filename): |
40 | base_depth = len(base_dir.split(os.path.sep)) | 44 | base_depth = len(base_dir.split(path.sep)) |
41 | out_name = filename.split(os.path.sep)[base_depth:] | 45 | out_name = filename.split(path.sep)[base_depth:] |
42 | new_path = os.path.join(output_dir, *out_name) | 46 | new_path = path.join(output_dir, *out_name) |
43 | 47 | ||
44 | if new_path.endswith('.rst'): | 48 | if new_path.endswith('.rst'): |
45 | new_path = new_path[:-len('.rst')] + '.html' | 49 | new_path = new_path[:-len('.rst')] + '.html' |
@@ -50,12 +54,11 @@ def get_output_name(base_dir, output_dir, filename): | |||
50 | def build_all(base_dir, output_dir): | 54 | def build_all(base_dir, output_dir): |
51 | for root, dirs, files in os.walk(base_dir): | 55 | for root, dirs, files in os.walk(base_dir): |
52 | for filename in files: | 56 | for filename in files: |
53 | if ('personal_blog' in root or | 57 | if ('blog.cfg' in files or |
54 | 'blog' in root or | ||
55 | not filename.endswith('.rst')): | 58 | not filename.endswith('.rst')): |
56 | continue | 59 | continue |
57 | 60 | ||
58 | old_path = os.path.join(root, filename) | 61 | old_path = path.join(root, filename) |
59 | new_path = get_output_name(base_dir, output_dir, old_path) | 62 | new_path = get_output_name(base_dir, output_dir, old_path) |
60 | 63 | ||
61 | print "BUILDING: ", old_path | 64 | print "BUILDING: ", old_path |
diff --git a/site_builder/blogbuilder.py b/site_builder/blogbuilder.py index ebe77c0..52e77d8 100644 --- a/site_builder/blogbuilder.py +++ b/site_builder/blogbuilder.py | |||
@@ -8,6 +8,7 @@ Blog Builder | |||
8 | """ | 8 | """ |
9 | 9 | ||
10 | import os | 10 | import os |
11 | import json | ||
11 | import operator | 12 | import operator |
12 | from datetime import datetime | 13 | from datetime import datetime |
13 | from collections import defaultdict | 14 | from collections import defaultdict |
@@ -16,12 +17,10 @@ from blog import load_post_index | |||
16 | from feeds import Atom1Feed | 17 | from feeds import Atom1Feed |
17 | 18 | ||
18 | 19 | ||
19 | def build_feed(output_dir, post_index): | 20 | def build_feed(output_dir, post_index, title, url, feed_url): |
20 | page_name = os.path.join(output_dir, 'feed.atom') | 21 | page_name = os.path.join(output_dir, 'feed.atom') |
21 | feed = Atom1Feed(post_index, "The Random Thoughts of a Programmer", | 22 | feed = Atom1Feed(post_index, title, feed_url, |
22 | "http://mike.crute.org/blog/feed", | 23 | post_index[0].post_date, url) |
23 | post_index[0].post_date, | ||
24 | "http://mike.crute.org/blog") | ||
25 | 24 | ||
26 | open(page_name, 'w').write(feed.get_feed()) | 25 | open(page_name, 'w').write(feed.get_feed()) |
27 | 26 | ||
@@ -64,6 +63,8 @@ def build_index(output_dir, post_index): | |||
64 | 63 | ||
65 | 64 | ||
66 | def build_blog(base_dir, output_dir): | 65 | def build_blog(base_dir, output_dir): |
66 | config = json.load(open(os.path.join(base_dir, 'blog.cfg'))) | ||
67 | |||
67 | post_index = load_post_index(base_dir) | 68 | post_index = load_post_index(base_dir) |
68 | post_index.sort(key=operator.attrgetter('post_date'), reverse=True) | 69 | post_index.sort(key=operator.attrgetter('post_date'), reverse=True) |
69 | 70 | ||
@@ -84,5 +85,6 @@ def build_blog(base_dir, output_dir): | |||
84 | 85 | ||
85 | build_index(output_dir, post_index) | 86 | build_index(output_dir, post_index) |
86 | build_archive(output_dir, post_index) | 87 | build_archive(output_dir, post_index) |
87 | build_feed(output_dir, post_index) | ||
88 | build_tags(output_dir, post_index) | 88 | build_tags(output_dir, post_index) |
89 | build_feed(output_dir, post_index, | ||
90 | config['title'], config['blog_url'], config['feed_url']) | ||