diff --git a/generators/generator.py b/generators/generator.py index 2a70bf7..babeb36 100644 --- a/generators/generator.py +++ b/generators/generator.py @@ -40,10 +40,11 @@ class DynastieGenerator: report = '' somethingWrote = False - def __init__(self, hash_posts=None): + def __init__(self, hash_posts=None, hash_posts_content=None): self.report = '' self.somethingWrote = False self.hash_posts = hash_posts + self.hash_posts_content = hash_posts_content def addReport(self, string, color=''): if color != '': diff --git a/generators/index.py b/generators/index.py index 882748e..bae8c30 100644 --- a/generators/index.py +++ b/generators/index.py @@ -17,8 +17,8 @@ class Index(DynastieGenerator): dirname = '' blog = None - def __init__(self, hash_posts=None): - DynastieGenerator.__init__(self, hash_posts) + def __init__(self, hash_posts=None, hash_posts_content=None): + DynastieGenerator.__init__(self, hash_posts, hash_posts_content) self.hooks = {'posts' : self.createPosts, 'title' : self.createTitle, @@ -127,9 +127,13 @@ class Index(DynastieGenerator): self.addError('File does not exists ' + filename) return None - f = open(filename, 'rb') - post_content = f.read() - f.close() + if not filename in self.hash_posts_content: + f = open(filename, 'rb') + post_content = f.read() + f.close() + self.hash_posts_content[filename] = post_content + else: + post_content = self.hash_posts_content[filename] while True: start = post_content.find('