[Uludag-commits] r16923 - trunk/pisi/pisi/db
uludag-commits at pardus.org.tr
uludag-commits at pardus.org.tr
1 Şub 2008 Cum 23:43:24 EET
Author: cartman
Date: Fri Feb 1 23:43:23 2008
New Revision: 16923
Modified:
trunk/pisi/pisi/db/filesdb.py
Log:
Escape the search string before passing it to re module, fixes :
[~]> pisi -d sf "/etc/env.d/99libstdc++"
/etc/env.d/99libstdc++'i arıyor
DEBUG: InstallDB initialized in 0.275934934616.
Sistem Hatası: Program Sonlandırıldı.
<class 'sre_constants.error'>: multiple repeat
Genel yardım için lütfen 'pisi help' komutunu kullanınız.
Geri-iz:
File "/usr/bin/pisi", line 85, in <module>
cli.run_command()
File "/usr/lib/pardus/pisi/cli/pisicli.py", line 135, in run_command
self.command.run()
File "/usr/lib/pardus/pisi/cli/searchfile.py", line 69, in run
self.search_file(path)
File "/usr/lib/pardus/pisi/cli/searchfile.py", line 46, in search_file
found = pisi.api.search_file(path)
File "/usr/lib/pardus/pisi/api.py", line 261, in search_file
return filesdb.search_file(term)
File "/usr/lib/pardus/pisi/db/filesdb.py", line 48, in search_file
paths = re.compile("<Path>(.*?'%s'.*?)</Path>" % term, re.I).findall(files_xml)
File "/usr/lib/python2.5/re.py", line 180, in compile
return _compile(pattern, flags)
File "/usr/lib/python2.5/re.py", line 233, in _compile
raise error, v # invalid expression
Modified: trunk/pisi/pisi/db/filesdb.py
=================================================================
--- trunk/pisi/pisi/db/filesdb.py (original)
+++ trunk/pisi/pisi/db/filesdb.py Fri Feb 1 23:43:23 2008
@@ -45,7 +45,7 @@
found = []
for pkg in installdb.list_installed():
files_xml = open(os.path.join(installdb.package_path(pkg), ctx.const.files_xml)).read()
- paths = re.compile('<Path>(.*?%s.*?)</Path>' % term, re.I).findall(files_xml)
+ paths = re.compile('<Path>(.*?%s.*?)</Path>' % re.escape(term), re.I).findall(files_xml)
if paths:
found.append((pkg, paths))
return found
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi