comparison mercurial/changelog.py @ 35962:fa15a70f88de

changelog: implement context manager method for 'appender' object This object mimics a file and was missing the context manager API.
author Boris Feld <boris.feld@octobus.net>
date Mon, 05 Feb 2018 20:36:51 +0100
parents 5a6e0eee7781
children 69aaad59dc02
comparison
equal deleted inserted replaced
35961:0ff41ced4c12 35962:fa15a70f88de
125 def write(self, s): 125 def write(self, s):
126 self.data.append(bytes(s)) 126 self.data.append(bytes(s))
127 self.offset += len(s) 127 self.offset += len(s)
128 self._end += len(s) 128 self._end += len(s)
129 129
130 def __enter__(self):
131 self.fp.__enter__()
132 return self
133
134 def __exit__(self, *args):
135 return self.fp.__exit__(*args)
136
130 def _divertopener(opener, target): 137 def _divertopener(opener, target):
131 """build an opener that writes in 'target.a' instead of 'target'""" 138 """build an opener that writes in 'target.a' instead of 'target'"""
132 def _divert(name, mode='r', checkambig=False): 139 def _divert(name, mode='r', checkambig=False):
133 if name != target: 140 if name != target:
134 return opener(name, mode) 141 return opener(name, mode)