[Uludag-commits] r12253 - in trunk/pisi/pisi: . pxml
svn-uludag at uludag.org.tr
svn-uludag at uludag.org.tr
5 Şub 2007 Pzt 23:46:54 EET
Author: baris
Date: Mon Feb 5 23:46:54 2007
New Revision: 12253
Modified:
trunk/pisi/pisi/file.py
trunk/pisi/pisi/pxml/autoxml.py
trunk/pisi/pisi/pxml/xmlfile.py
Log:
Hardcoding paths is evil!
baris at evliya ~ $ pisi info dbus
[...snip...]
kde4 at 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
Modified: trunk/pisi/pisi/file.py
=================================================================
--- trunk/pisi/pisi/file.py (original)
+++ trunk/pisi/pisi/file.py Mon Feb 5 23:46:54 2007
@@ -90,11 +90,14 @@
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 @@
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
Modified: trunk/pisi/pisi/pxml/autoxml.py
=================================================================
--- trunk/pisi/pisi/pxml/autoxml.py (original)
+++ trunk/pisi/pisi/pxml/autoxml.py Mon Feb 5 23:46:54 2007
@@ -310,8 +310,11 @@
# 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 @@
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 @@
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 @@
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'):
Modified: trunk/pisi/pisi/pxml/xmlfile.py
=================================================================
--- trunk/pisi/pisi/pxml/xmlfile.py (original)
+++ trunk/pisi/pisi/pxml/xmlfile.py Mon Feb 5 23:46:54 2007
@@ -72,8 +72,12 @@
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 @@
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()
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi