chiark / gitweb /
Nongreedy matches for retrieve_string
authorDaniel Martí <mvdan@mvdan.cc>
Wed, 4 Dec 2013 19:17:49 +0000 (20:17 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Wed, 4 Dec 2013 19:17:49 +0000 (20:17 +0100)
fdroidserver/common.py

index b82f7742ef8830fd234c61094daa37c8ac446585..8db69d5772b9a4779fe9809db9a094a3e15ba504 100644 (file)
@@ -470,14 +470,14 @@ class vcs_bzr(vcs):
 
 def retrieve_string(xml_dir, string):
     if string.startswith('@string/'):
-        string_search = re.compile(r'.*"'+string[8:]+'".*>([^<]+?)<.*').search
+        string_search = re.compile(r'.*"'+string[8:]+'".*?>([^<]+?)<.*').search
         for xmlfile in glob.glob(os.path.join(xml_dir, '*.xml')):
             for line in file(xmlfile):
                 matches = string_search(line)
                 if matches:
                     return retrieve_string(xml_dir, matches.group(1))
     elif string.startswith('&') and string.endswith(';'):
-        string_search = re.compile(r'.*<!ENTITY.*'+string[1:-1]+'.*"([^"]+?)".*>').search
+        string_search = re.compile(r'.*<!ENTITY.*'+string[1:-1]+'.*?"([^"]+?)".*>').search
         for xmlfile in glob.glob(os.path.join(xml_dir, '*.xml')):
             for line in file(xmlfile):
                 matches = string_search(line)