summaryrefslogtreecommitdiff
path: root/gitdb/util.py
diff options
context:
space:
mode:
authorKevin Brown <kevin@kevinbrown.in>2014-07-16 20:15:31 -0400
committerKevin Brown <kevin@kevinbrown.in>2014-07-16 20:15:31 -0400
commit0465cf327d232101b2de69d714a468b7e1a66a74 (patch)
tree91cc5e78c8c065321ccf23e048deb7403ec54c59 /gitdb/util.py
parent0cf09d3310cba7f33b9ebc9badf61ab721d12857 (diff)
downloadgitdb-0465cf327d232101b2de69d714a468b7e1a66a74.tar.gz
Start up compat and encoding files
There were a few things which were being reused consistently for compatibility purposes, such as the `buffer`/`memoryview` functions as well as the `izip` method which needed to be aliased for Python 3. The `buffer` function was taken from `smmap` [1] and reworked slightly to handle the optional third parameter. This also adds a compatibility file dedicated entirely to encoding issues, which seem to be the biggest problem. The main functions were taken in part from the Django project [2] and rewritten slightly because our needs are a bit more narrow. A constants file has been added to consistently handle the constants which are required for the gitdb project in the core and the tests. This is part of a greater plan to reorganize the `util.py` file included in this project. This points the async extension back at the original repository and points it to the latest commit. [1]: https://github.com/Byron/smmap/blob/1af4b42a2354acbb53c7956d647655922658fd80/smmap/util.py#L20-L26 [2]: https://github.com/django/django/blob/b8d255071ead897cf68120cd2fae7c91326ca2cc/django/utils/encoding.py
Diffstat (limited to 'gitdb/util.py')
-rw-r--r--gitdb/util.py10
1 files changed, 3 insertions, 7 deletions
diff --git a/gitdb/util.py b/gitdb/util.py
index 30c7008..5a82c55 100644
--- a/gitdb/util.py
+++ b/gitdb/util.py
@@ -30,10 +30,7 @@ else:
mman = SlidingWindowMapManager()
#END handle mman
-try:
- import hashlib
-except ImportError:
- import sha
+import hashlib
try:
from struct import unpack_from
@@ -84,9 +81,8 @@ write = os.write
close = os.close
fsync = os.fsync
-# constants
-NULL_HEX_SHA = "0"*40
-NULL_BIN_SHA = "\0"*20
+# Backwards compatibility imports
+from gitdb.const import NULL_BIN_SHA, NULL_HEX_SHA
#} END Aliases