equal
deleted
inserted
replaced
4 # based on bundleheads extension by Gregory Szorc <gps@mozilla.com> |
4 # based on bundleheads extension by Gregory Szorc <gps@mozilla.com> |
5 |
5 |
6 from __future__ import absolute_import |
6 from __future__ import absolute_import |
7 |
7 |
8 import abc |
8 import abc |
9 import hashlib |
|
10 import os |
9 import os |
11 import subprocess |
10 import subprocess |
12 import tempfile |
11 import tempfile |
13 |
12 |
14 from mercurial.pycompat import open |
13 from mercurial.pycompat import open |
15 from mercurial import ( |
14 from mercurial import ( |
16 node, |
15 node, |
17 pycompat, |
16 pycompat, |
18 ) |
17 ) |
19 from mercurial.utils import procutil |
18 from mercurial.utils import ( |
|
19 hashutil, |
|
20 procutil, |
|
21 ) |
20 |
22 |
21 NamedTemporaryFile = tempfile.NamedTemporaryFile |
23 NamedTemporaryFile = tempfile.NamedTemporaryFile |
22 |
24 |
23 |
25 |
24 class BundleWriteException(Exception): |
26 class BundleWriteException(Exception): |
85 |
87 |
86 def _filepath(self, filename): |
88 def _filepath(self, filename): |
87 return os.path.join(self._dirpath(filename), filename) |
89 return os.path.join(self._dirpath(filename), filename) |
88 |
90 |
89 def write(self, data): |
91 def write(self, data): |
90 filename = node.hex(hashlib.sha1(data).digest()) |
92 filename = node.hex(hashutil.sha1(data).digest()) |
91 dirpath = self._dirpath(filename) |
93 dirpath = self._dirpath(filename) |
92 |
94 |
93 if not os.path.exists(dirpath): |
95 if not os.path.exists(dirpath): |
94 os.makedirs(dirpath) |
96 os.makedirs(dirpath) |
95 |
97 |