|
123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- """check builtin data descriptors such as mode and name attributes
- on a file are correctly handled
-
- bug notified by Pierre Rouleau on 2005-04-24
- """
- from __future__ import print_function
- __revision__ = None
-
- class File(file): # pylint: disable=file-builtin
- """ Testing new-style class inheritance from file"""
-
- #
- def __init__(self, name, mode="r", buffering=-1, verbose=False):
- """Constructor"""
-
- self.was_modified = False
- self.verbose = verbose
- super(File, self).__init__(name, mode, buffering)
- if self.verbose:
- print("File %s is opened. The mode is: %s" % (self.name,
- self.mode))
-
- #
- def write(self, a_string):
- """ Write a string to the file."""
-
- super(File, self).write(a_string)
- self.was_modified = True
-
- #
- def writelines(self, sequence):
- """ Write a sequence of strings to the file. """
-
- super(File, self).writelines(sequence)
- self.was_modified = True
-
- #
- def close(self):
- """Close the file."""
-
- if self.verbose:
- print("Closing file %s" % self.name)
-
- super(File, self).close()
- self.was_modified = False
|