def test_metadata_has_no_discarded_data(self): md_filename = 'article_with_markdown_and_empty_tags.md' r = readers.Readers(cache_name='cache', settings=get_settings(CACHE_CONTENT=True)) page = r.read_file(base_path=CONTENT_PATH, path=md_filename) __, cached_metadata = r.get_cached_data(_path(md_filename), (None, None)) expected = {'title': 'Article with markdown and empty tags'} self.assertEqual(cached_metadata, expected) self.assertNotIn('tags', page.metadata) self.assertDictHasSubset(page.metadata, expected)
def __init__(self, generator): self._comments = collections.defaultdict(list) reader = readers.Readers(settings=generator.settings) comments_dir = generator.settings.get('COMMENTS_DIR', 'comments') comment_filenames = generator.get_files(comments_dir) for comment_filename in comment_filenames: comment = reader.read_file(base_path=generator.settings['PATH'], path=comment_filename, content_class=Comment, context=generator.context) if 'post_id' not in comment.metadata: raise Exception("comment %s does not have a post_id" % (comment_filename, )) self._comments[comment.metadata['post_id']].append(comment) for slug, comments in self._comments.items(): comments.sort() for n, comment in enumerate(comments): comment.cid = n
def read_file(self, path, **kwargs): # Isolate from future API changes to readers.read_file r = readers.Readers(settings=get_settings(**kwargs)) return r.read_file(base_path=CONTENT_PATH, path=path)
def read_file(path, **kwargs): r = readers.Readers(settings=get_settings(**kwargs)) return r.read_file(base_path=DATA_PATH, path=path)