Files
Phoenix/wx/py/document.py
Per A. Brodtkorb 426258b7b7 Adding missing close for open and replaced "fid=open(filename) fid.close()"
statements with the safer "with open(filename) as fid:" blocks.

Also removed unnecessary "try: ... finally: pass" statements
and refactored code from img2py function into _write_image and _replace_non_alphanumeric_with_underscore

Fixes #1574
2020-03-25 10:36:38 +01:00

38 lines
1.1 KiB
Python

"""Document class."""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
import os
class Document:
"""Document class."""
def __init__(self, filename=None):
"""Create a Document instance."""
self.filename = filename
self.filepath = None
self.filedir = None
self.filebase = None
self.fileext = None
if self.filename:
self.filepath = os.path.realpath(self.filename)
self.filedir, self.filename = os.path.split(self.filepath)
self.filebase, self.fileext = os.path.splitext(self.filename)
def read(self):
"""Return contents of file."""
if self.filepath and os.path.exists(self.filepath):
with open(self.filepath, 'rb') as f:
return f.read().decode('utf-8')
return ''
def write(self, text):
"""Write text to file."""
with open(self.filepath, 'wb') as f:
try: # Convert from unicode to bytes
text = text.encode('utf-8')
f.write(text)
except AttributeError:
pass