Hardcoding paths is evil!
baris@evliya ~ $ pisi info dbus
[...snip...]
kde4@evliya ~ $ pisi info dbus -d
DEBUG: PiSi API initialized
Sistem Hatası: Program Sonlandırıldı.
exceptions.IOError: [Errno 13] Erişim engellendi: '/tmp/files.xml'
Genel yardım için lütfen 'pisi help' komutunu kullanınız.
Geri-iz:
File "/usr/bin/pisi", line 89, in ?
cli.run_command()
File "/usr/lib/pardus/pisi/cli/pisicli.py", line 111, in run_command
self.command.run()
File "/usr/lib/pardus/pisi/cli/commands.py", line 866, in run
self.info_package(arg)
File "/usr/lib/pardus/pisi/cli/commands.py", line 884, in info_package
metadata, files = pisi.api.info_name(arg, True)
File "/usr/lib/pardus/pisi/api.py", line 336, in info_name
files = ctx.installdb.files(package.name)
File "/usr/lib/pardus/pisi/installdb.py", line 91, in files
files.read(self.files_name(pkg,pkginfo.version,pkginfo.release))
File "/usr/lib/pardus/pisi/pxml/autoxml.py", line 439, in read
compress=compress, sign=sign, copylocal=copylocal)
File "/usr/lib/pardus/pisi/pxml/xmlfile.py", line 80, in readxml
compress=compress,sign=sign, copylocal=copylocal)
File "/usr/lib/pardus/pisi/file.py", line 131, in download
shutil.copy(oldfn, localfile)
File "/usr/lib/python2.4/shutil.py", line 81, in copy
copyfile(src, dst)
File "/usr/lib/python2.4/shutil.py", line 48, in copyfile
fdst = open(dst, 'wb')
DEBUG: PiSi API finalized
This commit is contained in:
+9
-3
@@ -90,11 +90,14 @@ class File:
|
||||
return localfile
|
||||
|
||||
@staticmethod
|
||||
def download(uri, transfer_dir = "/tmp", sha1sum = False,
|
||||
def download(uri, transfer_dir = None, sha1sum = False,
|
||||
compress = None, sign = None, copylocal = False):
|
||||
|
||||
assert isinstance(uri, URI)
|
||||
|
||||
if not transfer_dir:
|
||||
transfer_dir = ctx.config.tmp_dir()
|
||||
|
||||
if sha1sum:
|
||||
sha1filename = File.download(URI(uri.get_uri() + '.sha1sum'), transfer_dir)
|
||||
sha1f = file(sha1filename)
|
||||
@@ -139,11 +142,14 @@ class File:
|
||||
return localfile
|
||||
|
||||
|
||||
def __init__(self, uri, mode, transfer_dir = "/tmp",
|
||||
def __init__(self, uri, mode, transfer_dir = None,
|
||||
sha1sum = False, compress = None, sign = None):
|
||||
"it is pointless to open a file without a URI and a mode"
|
||||
|
||||
self.transfer_dir = transfer_dir
|
||||
if trasfer_dir:
|
||||
self.transfer_dir = transfer_dir
|
||||
else:
|
||||
self.trasfer_dir = ctx.config.tmp_dir()
|
||||
self.sha1sum = sha1sum
|
||||
self.compress = compress
|
||||
self.sign = sign
|
||||
|
||||
+14
-3
@@ -310,8 +310,11 @@ class autoxml(oo.autosuper, oo.autoprop):
|
||||
|
||||
# generate top-level helper functions
|
||||
cls.initializers = inits
|
||||
def initialize(self, uri = None, keepDoc = False, tmpDir = '/tmp',
|
||||
def initialize(self, uri = None, keepDoc = False, tmpDir = None,
|
||||
**args):
|
||||
if not tmpDir:
|
||||
tmpDir = ctx.config.tmp_dir()
|
||||
|
||||
if xmlfile_support:
|
||||
if args.has_key('tag'):
|
||||
XmlFile.__init__(self, tag = args['tag'])
|
||||
@@ -432,9 +435,13 @@ class autoxml(oo.autosuper, oo.autoprop):
|
||||
if errs:
|
||||
errs.append(_("autoxml.parse: String '%s' has errors") % xml)
|
||||
|
||||
def read(self, uri, keepDoc = False, tmpDir = '/tmp',
|
||||
def read(self, uri, keepDoc = False, tmpDir = None,
|
||||
sha1sum = False, compress = None, sign = None, copylocal = False):
|
||||
"read XML file and decode it into a python object"
|
||||
|
||||
if not tmpDir:
|
||||
tmpDir = ctx.config.tmp_dir()
|
||||
|
||||
self.readxml(uri, tmpDir, sha1sum=sha1sum,
|
||||
compress=compress, sign=sign, copylocal=copylocal)
|
||||
errs = []
|
||||
@@ -453,7 +460,7 @@ class autoxml(oo.autosuper, oo.autoprop):
|
||||
errs.append(_("autoxml.read: File '%s' has errors") % uri)
|
||||
raise Error(*errs)
|
||||
|
||||
def write(self, uri, keepDoc = False, tmpDir = '/tmp',
|
||||
def write(self, uri, keepDoc = False, tmpDir = None,
|
||||
sha1sum = False, compress = None, sign = None):
|
||||
"encode the contents of the python object into an XML file"
|
||||
errs = self.errors()
|
||||
@@ -461,6 +468,10 @@ class autoxml(oo.autosuper, oo.autoprop):
|
||||
errs.append(_("autoxml.write: object validation has failed"))
|
||||
raise Error(*errs)
|
||||
errs = []
|
||||
|
||||
if not tmpDir:
|
||||
tmpDir = ctx.config.tmp_dir()
|
||||
|
||||
self.newDocument()
|
||||
self.encode(self.rootNode(), errs)
|
||||
if hasattr(self, 'write_hook'):
|
||||
|
||||
@@ -72,8 +72,12 @@ class XmlFile(object):
|
||||
raise Error(_("File '%s' has invalid XML") % (f) )
|
||||
|
||||
|
||||
def readxml(self, uri, tmpDir='/tmp', sha1sum=False,
|
||||
def readxml(self, uri, tmpDir=None, sha1sum=False,
|
||||
compress=None, sign=None, copylocal = False):
|
||||
|
||||
if not tmpDir:
|
||||
tmpDir = ctx.config.tmp_dir()
|
||||
|
||||
uri = File.make_uri(uri)
|
||||
#try:
|
||||
localpath = File.download(uri, tmpDir, sha1sum=sha1sum,
|
||||
@@ -86,7 +90,7 @@ class XmlFile(object):
|
||||
except Exception, e:
|
||||
raise Error(_("File '%s' has invalid XML") % (localpath) )
|
||||
|
||||
def writexml(self, uri, tmpDir = '/tmp', sha1sum=False, compress=None, sign=None):
|
||||
def writexml(self, uri, tmpDir = None, sha1sum=False, compress=None, sign=None):
|
||||
f = File(uri, File.write, sha1sum=sha1sum, compress=compress, sign=sign)
|
||||
f.write(self.doc.toPrettyString())
|
||||
f.close()
|
||||
|
||||
Reference in New Issue
Block a user