summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Weimer <fw@deneb.enyo.de>2010-05-08 14:49:37 +0000
committerFlorian Weimer <fw@deneb.enyo.de>2010-05-08 14:49:37 +0000
commite6c2915ef0d658b8ecdbe38d6a2bade81bde5667 (patch)
tree96191168438cd4d26f86fa16e20f08c14e05a401
parentbb935afbfae34b00e9d6776d49efcfe00d241b97 (diff)
sectracker.repo: export public API only
git-svn-id: svn+ssh://svn.debian.org/svn/secure-testing@14642 e39458fd-73e7-0310-bf30-c45bca0a0e42
-rw-r--r--lib/python/sectracker/repo.py72
-rw-r--r--lib/python/sectracker_test/test_repo.py1
2 files changed, 37 insertions, 36 deletions
diff --git a/lib/python/sectracker/repo.py b/lib/python/sectracker/repo.py
index 7318ed8b3d..2b9c9d5fc0 100644
--- a/lib/python/sectracker/repo.py
+++ b/lib/python/sectracker/repo.py
@@ -17,22 +17,22 @@
from __future__ import with_statement
-import bz2
-import hashlib
-import gzip
-import os
-import re
-import tempfile
-import urllib
-
-import debian_support
+import bz2 as _bz2
+import hashlib as _hashlib
+import gzip as _gzip
+import os as _os
+import re as _re
+import tempfile as _tempfile
+import urllib as _urllib
+
+import debian_support as _debian_support
import sectracker.xpickle as _xpickle
import sectracker.parsers as _parsers
MARKER_NAME = "DEBIAN_REPO_MIRROR"
-_re_name = re.compile(r'^[a-z0-9-]+$')
-_re_hashentry = re.compile('^\s*([0-9a-fA-F]{20,})\s+(\d+)\s+(\S+)$')
+_re_name = _re.compile(r'^[a-z0-9-]+$')
+_re_hashentry = _re.compile('^\s*([0-9a-fA-F]{20,})\s+(\d+)\s+(\S+)$')
def _splitfield(data, field):
tup = tuple(data[field].strip().split())
@@ -53,9 +53,9 @@ def _splithashes(path, data, field):
result[name] = digest
data[field] = result
-def parserelease(path, f):
+def _parserelease(path, f):
data = {}
- for p in debian_support.PackageFile(path, f):
+ for p in _debian_support.PackageFile(path, f):
for k, v in p:
data[k.lower()] = v
break # file contains only one record
@@ -66,9 +66,9 @@ def parserelease(path, f):
_splithashes(path, data, "sha256")
return data
-def unbzip2hash(src, dst):
- dec = bz2.BZ2Decompressor()
- digest = hashlib.sha256()
+def _unbzip2hash(src, dst):
+ dec = _bz2.BZ2Decompressor()
+ digest = _hashlib.sha256()
while True:
data = src.read(8192)
if data == '':
@@ -78,12 +78,12 @@ def unbzip2hash(src, dst):
digest.update(data)
return digest.hexdigest()
-def downloadbz2(url, target, expecteddigest):
+def _downloadbz2(url, target, expecteddigest):
try:
- bz2src = urllib.urlopen(url)
+ bz2src = _urllib.urlopen(url)
try:
dgst = _xpickle.replacefile(
- target, lambda fname, f: unbzip2hash(bz2src, f))
+ target, lambda fname, f: _unbzip2hash(bz2src, f))
if dgst == expecteddigest:
return True
return False
@@ -92,16 +92,16 @@ def downloadbz2(url, target, expecteddigest):
except IOError:
return False
-def downloadgz(url, target, expecteddigest):
- with tempfile.NamedTemporaryFile() as t:
+def _downloadgz(url, target, expecteddigest):
+ with _tempfile.NamedTemporaryFile() as t:
try:
- (filename, headers) = urllib.urlretrieve(url, t.name)
+ (filename, headers) = _urllib.urlretrieve(url, t.name)
except IOError:
return False
- gfile = gzip.GzipFile(t.name)
+ gfile = _gzip.GzipFile(t.name)
try:
def copy(fname, f):
- digest = hashlib.sha256()
+ digest = _hashlib.sha256()
while True:
data = gfile.read(8192)
if data == "":
@@ -116,7 +116,7 @@ def downloadgz(url, target, expecteddigest):
gfile.close()
return True
-class RepoCollection:
+class RepoCollection(object):
def __init__(self, root):
"""Creates a new repository mirror.
@@ -127,9 +127,9 @@ class RepoCollection:
self.releases = None
self.verbose = False
- if not os.path.exists(root):
- os.makedirs(root)
- l = os.listdir(root)
+ if not _os.path.exists(root):
+ _os.makedirs(root)
+ l = _os.listdir(root)
if len(l) == 0:
file(root + "/" + MARKER_NAME, "w").close()
elif MARKER_NAME not in l:
@@ -163,11 +163,11 @@ class RepoCollection:
continue
uncompressed_digest = hashes[plainpath]
listname = self._listname(uncompressed_digest)
- if os.path.exists(listname):
+ if _os.path.exists(listname):
continue
success = False
- for suffix, method in ((".bz2", downloadbz2),
- (".gz", downloadgz)):
+ for suffix, method in ((".bz2", _downloadbz2),
+ (".gz", _downloadgz)):
if method(plainurl + suffix, listname,
uncompressed_digest):
success = True
@@ -181,7 +181,7 @@ class RepoCollection:
self._markused(relname)
try:
def download(fname, f):
- urllib.urlretrieve(url + 'Release', fname)
+ _urllib.urlretrieve(url + 'Release', fname)
_xpickle.replacefile(relname, download)
return True
except IOError:
@@ -191,13 +191,13 @@ class RepoCollection:
def hasrelease(self, name):
if name not in self.repos:
raise ValueError("name not registered: " + repr(name))
- return os.path.exists(self._relname(name))
+ return _os.path.exists(self._relname(name))
def release(self, name):
if name not in self.repos:
raise ValueError("name not registered: " + repr(name))
with file(self._relname(name)) as f:
- return parserelease(name, f)
+ return _parserelease(name, f)
def filemap(self):
d = {}
@@ -212,7 +212,7 @@ class RepoCollection:
continue
digest = hashes[plainpath]
listname = self._listname(digest)
- if not os.path.exists(listname):
+ if not _os.path.exists(listname):
self.warn("file %s for %s/%s not present" %
(listname, name, comp))
continue
@@ -240,7 +240,7 @@ class RepoCollection:
self.used.add(name + _xpickle.EXTENSION)
def _haslist(self, digest):
- return os.path.exists(self._listname(digest))
+ return _os.path.exists(self._listname(digest))
def warn(self, msg):
if self.verbose:
diff --git a/lib/python/sectracker_test/test_repo.py b/lib/python/sectracker_test/test_repo.py
index 076d2bbd86..4ffe523388 100644
--- a/lib/python/sectracker_test/test_repo.py
+++ b/lib/python/sectracker_test/test_repo.py
@@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
import shutil
+import tempfile
from sectracker.repo import *
import sectracker.parsers as p

© 2014-2024 Faster IT GmbH | imprint | privacy policy