Index: sitescripts/extensions/bin/updateDownloadLinks.py |
=================================================================== |
--- a/sitescripts/extensions/bin/updateDownloadLinks.py |
+++ b/sitescripts/extensions/bin/updateDownloadLinks.py |
@@ -106,17 +106,17 @@ def getLocalLink(repo): |
highestURL = None |
highestVersion = None |
prefix = os.path.basename(repo.repository) + '-' |
suffix = repo.packageSuffix |
# go through the downloads repository looking for downloads matching this extension |
command = ['hg', 'locate', '-R', repo.downloadsRepo, '-r', 'default'] |
- result, dummy = subprocess.Popen(command, stdout=subprocess.PIPE).communicate() |
+ result = subprocess.check_output(command) |
for fileName in result.splitlines(): |
if fileName.startswith(prefix) and fileName.endswith(suffix): |
version = fileName[len(prefix):len(fileName) - len(suffix)] |
if highestVersion == None or compareVersions(version, highestVersion) > 0: |
highestURL = urlparse.urljoin(url, fileName) |
highestVersion = version |
return (highestURL, highestVersion) |
@@ -172,36 +172,36 @@ def getDownloadLinks(result): |
def readMetadata(repo, version): |
""" |
reads extension ID and compatibility information from metadata file in the |
extension's repository |
""" |
if repo.type == 'android': |
command = ['hg', '-R', repo.repository, 'id', '-r', version, '-n'] |
- (result, dummy) = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() |
+ result = subprocess.check_output(command) |
revision = re.sub(r'\D', '', result) |
command = ['hg', '-R', repo.repository, 'cat', '-r', version, os.path.join(repo.repository, 'AndroidManifest.xml')] |
- (result, dummy) = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() |
+ result = subprocess.check_output(command) |
manifest = dom.parseString(result) |
usesSdk = manifest.getElementsByTagName('uses-sdk')[0] |
return { |
'revision': revision, |
'minSdkVersion': usesSdk.attributes["android:minSdkVersion"].value, |
} |
else: |
- command = ['hg', '-R', repo.repository, 'cat', '-r', version, os.path.join(repo.repository, 'metadata.%s' % repo.type)] |
- (result, dummy) = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() |
- |
- # Fall back to platform-independent metadata file for now |
- if not result: |
+ try: |
+ command = ['hg', '-R', repo.repository, 'cat', '-r', version, os.path.join(repo.repository, 'metadata.%s' % repo.type)] |
+ result = subprocess.check_output(command) |
+ except: |
+ # Fall back to platform-independent metadata file for now |
command = ['hg', '-R', repo.repository, 'cat', '-r', version, os.path.join(repo.repository, 'metadata')] |
- (result, dummy) = subprocess.Popen(command, stdout=subprocess.PIPE).communicate() |
+ result = subprocess.check_output(command) |
parser = SafeConfigParser() |
parser.readfp(StringIO(result)) |
result = { |
'extensionID': parser.get('general', 'id'), |
'version': version, |
'compat': [] |