mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-04 11:00:07 +01:00
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
38 lines
1.1 KiB
Python
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
|