def parsed(self): """Generator that reads all docs from base directory and returns parsed content.""" for filename in iter_docs(self.basedir): try: with io.open(filename, 'r', encoding='utf-8') as f: content = f.read().strip() except Exception as err: print('Error reading file {}\n{}'.format(filename, err)) continue try: parsed = parse(content, content_type=content_type(filename)) except Exception as err: print('Error parsing file {}\n{}'.format(filename, err)) continue # Use file modification time for created and updated properties, # if not set in document itself. modified = datetime.fromtimestamp(os.stat(filename).st_mtime) parsed['created'] = parsed.get('created', modified) parsed['updated'] = parsed.get('updated', modified) # Set url from filename if not set in parsed document. if 'url' not in parsed: parsed['url'] = path.url_from_filename( filename, basedir=self.basedir) yield parsed
def parsed(self): """Generator that reads all docs from base directory and returns parsed content.""" for filename in iter_docs(self.basedir): try: with io.open(filename, 'r', encoding='utf-8') as f: content = f.read().strip() except Exception as err: print('Error reading file {}\n{}'.format(filename, err)) continue try: parsed = parse(content, content_type=content_type(filename)) except Exception as err: print('Error parsing file {}\n{}'.format(filename, err)) continue # Use file modification time for created and updated properties, # if not set in document itself. modified = datetime.fromtimestamp(os.stat(filename).st_mtime) set_date(parsed, 'created', modified) set_date(parsed, 'updated', modified) # Set url from filename if not set in parsed document. if 'url' not in parsed: parsed['url'] = path.url_from_filename(filename, basedir=self.basedir) yield parsed
def test_url_from_filename(self): basedir = '/www/linux-netbook.com/content' tests = [('/www/linux-netbook.com/content/compare/laptops.md', '/compare/laptops/'), ('/www/linux-netbook.com/content/review/hp-mini.html', '/review/hp-mini/')] for test in tests: self.assertEqual(test[1], path.url_from_filename(test[0], basedir=basedir))
def test_url_from_filename(self): basedir = '/www/linux-netbook.com/content' tests = [ ('/www/linux-netbook.com/content/compare/laptops.md', '/compare/laptops/'), ('/www/linux-netbook.com/content/review/hp-mini.html', '/review/hp-mini/')] for test in tests: self.assertEqual( test[1], path.url_from_filename(test[0], basedir=basedir))