Don't just assume that the metadata files will be found
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -42,24 +42,38 @@ COMMON_FILES = [ '/usr/local/bin/*',
|
|||||||
class AccessError(Exception):
|
class AccessError(Exception):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class ReceiptError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class InstalledReceipt(object):
|
class InstalledReceipt(object):
|
||||||
def __init__(self, rcptPath):
|
def __init__(self, rcptPath):
|
||||||
self.rcptPath = rcptPath
|
self.rcptPath = rcptPath
|
||||||
self.rsrcPath = os.path.join(rcptPath, RSRCDIR)
|
self.rsrcPath = os.path.join(rcptPath, RSRCDIR)
|
||||||
self.bomFile = glob.glob(os.path.join(self.rsrcPath, "*.bom"))[0]
|
bf = glob.glob(os.path.join(self.rsrcPath, "*.bom"))
|
||||||
|
if bf:
|
||||||
|
self.bomFile = bf[0]
|
||||||
|
else:
|
||||||
|
print "WARNING: Unable to find %s/*.bom" % self.rsrcPath
|
||||||
|
raise ReceiptError
|
||||||
self.findMetaData()
|
self.findMetaData()
|
||||||
|
|
||||||
|
|
||||||
def findMetaData(self):
|
def findMetaData(self):
|
||||||
# TODO: Make this be able to also look at Info.plist files
|
# TODO: Make this be able to also look at Info.plist files
|
||||||
infoFile = glob.glob(os.path.join(self.rsrcPath, "*.info"))[0]
|
infoFiles = glob.glob(os.path.join(self.rsrcPath, "*.info"))
|
||||||
|
if infoFiles:
|
||||||
|
# there should be only one
|
||||||
|
infoFile = infoFiles[0]
|
||||||
self.mdata = {}
|
self.mdata = {}
|
||||||
for line in open(infoFile, "r").readlines():
|
for line in open(infoFile, "r").readlines():
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
if line and line[0] != '#':
|
if line and line[0] != '#':
|
||||||
ls = line.split()
|
ls = line.split()
|
||||||
self.mdata[ls[0]] = line[len(ls[0])+1:]
|
self.mdata[ls[0]] = line[len(ls[0])+1:]
|
||||||
|
else:
|
||||||
|
print "WARNING: Unable to find %s/*.info" % self.rsrcPath
|
||||||
|
raise ReceiptError
|
||||||
|
|
||||||
|
|
||||||
def getFileList(self):
|
def getFileList(self):
|
||||||
@@ -155,8 +169,11 @@ class InstalledReceipt(object):
|
|||||||
def findInstalled():
|
def findInstalled():
|
||||||
installed = []
|
installed = []
|
||||||
for name in glob.glob(os.path.join(RCPTDIR, "wxPython*")):
|
for name in glob.glob(os.path.join(RCPTDIR, "wxPython*")):
|
||||||
|
try:
|
||||||
ir = InstalledReceipt(name)
|
ir = InstalledReceipt(name)
|
||||||
installed.append(ir)
|
installed.append(ir)
|
||||||
|
except ReceiptError:
|
||||||
|
pass # just skip it...
|
||||||
|
|
||||||
return installed
|
return installed
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user