Exemple #1
0
    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
Exemple #2
0
    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))
Exemple #4
0
 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))