diff --git a/pisi/api.py b/pisi/api.py index b2515393..aba70acf 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -298,6 +298,7 @@ def index(dirs, output = 'pisi-index.xml', skip_sources=False): if not dirs: dirs = ['.'] for repo_dir in dirs: + repo_dir = str(repo_dir) ctx.ui.info(_('* Building index of PISI files under %s') % repo_dir) index.index(repo_dir, skip_sources) index.write(output, sha1sum=True, compress=File.xmill) diff --git a/pisi/file.py b/pisi/file.py index 5f08e9bc..0f600da1 100644 --- a/pisi/file.py +++ b/pisi/file.py @@ -119,8 +119,9 @@ class File: else: raise Error(_("Remote write not implemented")) else: - localfile = uri.get_uri() #TODO: use a special function here? - localfile = File.decompress(localfile, self.compress) + localfile = uri.get_uri() + if self.mode == File.read: + localfile = File.decompress(localfile, self.compress) if self.mode == File.read: access = 'r' diff --git a/pisi/index.py b/pisi/index.py index ab9d2d95..dc920b3f 100644 --- a/pisi/index.py +++ b/pisi/index.py @@ -98,7 +98,7 @@ class Index(XmlFile): errs = md.errors() if md.errors(): ctx.ui.error(_('Package %s: metadata corrupt') % md.package.name) - ctx.ui.error(str(Error(*errs))) + ctx.ui.error(unicode(Error(*errs))) else: self.packages.append(md.package)