Advertisement
Woobinda

Патерн Фасад

May 11th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.64 KB | None | 0 0
  1. class Archive:
  2.     def __init__(self, filename):
  3.         self._names = None
  4.         self._unpack = None
  5.         self._file = None
  6.         self.filename = filename
  7.     @property
  8.     def filename(self):
  9.         return self.__filename
  10.     @filename.setter
  11.     def filename(self, name):
  12.         self.close()
  13.         self.__filename = name
  14.     def close(self):
  15.         print('1')
  16.         if self._file is not None:
  17.             self._file.close()
  18.         self._names = self._unpack = self._file = None
  19.     def __enter__(self):
  20.         return self
  21.     def __exit__(self, exc_type, exc_value, traceback):
  22.         print('Error - %s' % traceback)
  23.         self.close()
  24.     def names(self):
  25.         if self._file is None:
  26.             self._prepare()
  27.         return self._names()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement