2820c61a |
import re
class StringUtils(object):
|
45c9260c |
# Opens conditional brackets from
# (aaa <= 3.1 or bbb) ccc (ddd or fff > 4.5.6)
# into
# aaa <= 3.1 ccc ddd |
87815216 |
def getStringInConditionalBrackets(self, inputstring):
inputstring = inputstring.strip()
items = re.findall(r"([(][A-Za-z0-9 %{?}_\.\-<>=]+[)])", inputstring) |
45c9260c |
for m in items:
out = m[m.find("(")+1 : m.find(" or ")].strip() |
87815216 |
inputstring = inputstring.replace(m, out) |
45c9260c |
return inputstring |
2820c61a |
|
87815216 |
def getFileNameFromURL(self, inputstring):
index = inputstring.rfind("/") |
4184f836 |
return inputstring[index+1:]
|
87815216 |
def getPackageNameFromURL(self, inputstring):
filename = self.getFileNameFromURL(inputstring)
m = re.search(r"(zip|mozjs|.+-)([0-9_.]+)(\.source|\.tar|-src|\.zip|\+md|\.tgz).*",
filename) |
4184f836 |
if m is None: |
87815216 |
print("Unable to parse " + filename) |
4184f836 |
return inputstring
name = m.group(1)
if name.endswith("-"):
name = name[:-1]
return name
|
87815216 |
def getPackageVersionFromURL(self, inputstring):
filename = self.getFileNameFromURL(inputstring)
m = re.search(r"(zip|mozjs|.*-)([0-9_.]+)(\.source|\.tar|-src|\.zip|\+md|\.tgz).*",
filename) |
4184f836 |
if m is None: |
87815216 |
print("Unable to parse " + filename) |
4184f836 |
return inputstring
name = m.group(2)
return name.replace("_", ".") |