diff --git a/pelican/generators.py b/pelican/generators.py index 47ebb941..9d5607e2 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -375,7 +375,8 @@ class PdfGenerator(Generator): filename = obj.slug + ".pdf" output_pdf=os.path.join(output_path, filename) # print "Generating pdf for", obj.filename, " in ", output_pdf - self.pdfcreator.createPdf(text=open(obj.filename), output=output_pdf) + with open(obj.filename) as f: + self.pdfcreator.createPdf(text=f, output=output_pdf) info(u' [ok] writing %s' % output_pdf) def generate_context(self): diff --git a/pelican/readers.py b/pelican/readers.py index 814f81d2..c4c12280 100644 --- a/pelican/readers.py +++ b/pelican/readers.py @@ -121,20 +121,20 @@ class HtmlReader(Reader): def read(self, filename): """Parse content and metadata of (x)HTML files""" - content = open(filename) - metadata = {'title':'unnamed'} - for i in self._re.findall(content): - key = i.split(':')[0][5:].strip() - value = i.split(':')[-1][:-3].strip() - name = key.lower() - metadata[name] = self.process_metadata(name, value) - - return content, metadata + with open(filename) as content: + metadata = {'title': 'unnamed'} + for i in self._re.findall(content): + key = i.split(':')[0][5:].strip() + value = i.split(':')[-1][:-3].strip() + name = key.lower() + metadata[name] = self.process_metadata(name, value) + return content, metadata _EXTENSIONS = dict((cls.extension, cls) for cls in Reader.__subclasses__()) + def read_file(filename, fmt=None, settings=None): """Return a reader object using the given format.""" if not fmt: