aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorW. Trevor King <wking@drexel.edu>2009-11-21 14:54:11 -0500
committerW. Trevor King <wking@drexel.edu>2009-11-21 14:54:11 -0500
commitbb8dd5066f730f9bb0ac0398bf9a167e9736a808 (patch)
tree23a68fb2476d40033af7f3b8d6429a315e2b0a82
parent85fd7e2681005e8b47ffc1e73fcc0cca93025921 (diff)
downloadbugseverywhere-bb8dd5066f730f9bb0ac0398bf9a167e9736a808.tar.gz
Fix libbe.vcs.VCS.get_file_contents(allow_no_vcs=True,binary=True).
In it's previous form it had ignored the binary option if self._use_vcs() returned False. Also added a few more details to the docstring, explaining the arguments.
-rw-r--r--libbe/vcs.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/libbe/vcs.py b/libbe/vcs.py
index b1fd114..57a0245 100644
--- a/libbe/vcs.py
+++ b/libbe/vcs.py
@@ -334,6 +334,10 @@ class VCS(object):
"""
Get the file as it was in a given revision.
Revision==None specifies the current revision.
+
+ allow_no_vcs==True allows direct access to files through
+ codecs.open() or open() if the vcs decides it can't handle the
+ given path.
"""
if not os.path.exists(path):
raise NoSuchFile(path)
@@ -341,7 +345,10 @@ class VCS(object):
relpath = self._u_rel_path(path)
contents = self._vcs_get_file_contents(relpath,revision,binary=binary)
else:
- f = codecs.open(path, "r", self.encoding)
+ if binary == True:
+ f = codecs.open(path, "r", self.encoding)
+ else:
+ f = open(path, "rb")
contents = f.read()
f.close()
return contents