Mercurial > public > mercurial-scm > hg
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) |