equal
deleted
inserted
replaced
1 from __future__ import absolute_import |
|
2 |
|
3 from mercurial.i18n import _ |
|
4 from mercurial import ( |
|
5 demandimport, |
|
6 error, |
|
7 util, |
|
8 ) |
|
9 if util.safehasattr(demandimport, 'IGNORES'): |
|
10 # Since 670eb4fa1b86 |
|
11 demandimport.IGNORES.update(['pkgutil', 'pkg_resources', '__main__']) |
|
12 else: |
|
13 demandimport.ignore.extend(['pkgutil', 'pkg_resources', '__main__']) |
|
14 |
|
15 def missing(*args, **kwargs): |
|
16 raise error.Abort(_('remotefilelog extension requires lz4 support')) |
|
17 |
|
18 lz4compress = lzcompresshc = lz4decompress = missing |
|
19 |
|
20 with demandimport.deactivated(): |
|
21 import lz4 |
|
22 |
|
23 try: |
|
24 # newer python-lz4 has these functions deprecated as top-level ones, |
|
25 # so we are trying to import from lz4.block first |
|
26 def _compressHC(*args, **kwargs): |
|
27 return lz4.block.compress(*args, mode='high_compression', **kwargs) |
|
28 lzcompresshc = _compressHC |
|
29 lz4compress = lz4.block.compress |
|
30 lz4decompress = lz4.block.decompress |
|
31 except AttributeError: |
|
32 try: |
|
33 lzcompresshc = lz4.compressHC |
|
34 lz4compress = lz4.compress |
|
35 lz4decompress = lz4.decompress |
|
36 except AttributeError: |
|
37 pass |
|