| OLD | NEW |
| 1 # coding: utf-8 | 1 # coding: utf-8 |
| 2 | 2 |
| 3 # This file is part of the Adblock Plus web scripts, | 3 # This file is part of the Adblock Plus web scripts, |
| 4 # Copyright (C) 2006-2013 Eyeo GmbH | 4 # Copyright (C) 2006-2013 Eyeo GmbH |
| 5 # | 5 # |
| 6 # Adblock Plus is free software: you can redistribute it and/or modify | 6 # Adblock Plus is free software: you can redistribute it and/or modify |
| 7 # it under the terms of the GNU General Public License version 3 as | 7 # it under the terms of the GNU General Public License version 3 as |
| 8 # published by the Free Software Foundation. | 8 # published by the Free Software Foundation. |
| 9 # | 9 # |
| 10 # Adblock Plus is distributed in the hope that it will be useful, | 10 # Adblock Plus is distributed in the hope that it will be useful, |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 if match: | 95 if match: |
| 96 return (url, match.group(1)) | 96 return (url, match.group(1)) |
| 97 else: | 97 else: |
| 98 return (None, None) | 98 return (None, None) |
| 99 | 99 |
| 100 def getLocalLink(repo): | 100 def getLocalLink(repo): |
| 101 """ | 101 """ |
| 102 gets the link for the newest download of an add-on in the local downloads | 102 gets the link for the newest download of an add-on in the local downloads |
| 103 repository | 103 repository |
| 104 """ | 104 """ |
| 105 dir = repo.downloadsDirectory | |
| 106 url = repo.downloadsURL | 105 url = repo.downloadsURL |
| 107 | 106 |
| 108 highestURL = None | 107 highestURL = None |
| 109 highestVersion = None | 108 highestVersion = None |
| 110 prefix = os.path.basename(repo.repository) + '-' | 109 prefix = os.path.basename(repo.repository) + '-' |
| 111 suffix = repo.packageSuffix | 110 suffix = repo.packageSuffix |
| 112 | 111 |
| 113 # go through the downloads directory looking for downloads matching this exten
sion | 112 # go through the downloads repository looking for downloads matching this exte
nsion |
| 114 for fileName in os.listdir(dir): | 113 command = ['hg', 'locate', '-R', repo.downloadsRepo, '-r', 'default'] |
| 114 result, dummy = subprocess.Popen(command, stdout=subprocess.PIPE).communicate(
) |
| 115 for fileName in result.splitlines(): |
| 115 if fileName.startswith(prefix) and fileName.endswith(suffix): | 116 if fileName.startswith(prefix) and fileName.endswith(suffix): |
| 116 version = fileName[len(prefix):len(fileName) - len(suffix)] | 117 version = fileName[len(prefix):len(fileName) - len(suffix)] |
| 117 if highestVersion == None or compareVersions(version, highestVersion) > 0: | 118 if highestVersion == None or compareVersions(version, highestVersion) > 0: |
| 118 highestURL = urlparse.urljoin(url, fileName) | 119 highestURL = urlparse.urljoin(url, fileName) |
| 119 highestVersion = version | 120 highestVersion = version |
| 120 return (highestURL, highestVersion) | 121 return (highestURL, highestVersion) |
| 121 | 122 |
| 122 def getDownloadLink(repo): | 123 def getDownloadLink(repo): |
| 123 """ | 124 """ |
| 124 gets the download link to the most current version of an extension | 125 gets the download link to the most current version of an extension |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 for repoType in extensions.iterkeys(): | 231 for repoType in extensions.iterkeys(): |
| 231 manifestPath = get_config().get('extensions', '%sUpdateManifestPath' % repoT
ype) | 232 manifestPath = get_config().get('extensions', '%sUpdateManifestPath' % repoT
ype) |
| 232 template = get_template(get_config().get('extensions', '%sUpdateManifest' %
repoType)) | 233 template = get_template(get_config().get('extensions', '%sUpdateManifest' %
repoType)) |
| 233 template.stream({'extensions': extensions[repoType]}).dump(manifestPath) | 234 template.stream({'extensions': extensions[repoType]}).dump(manifestPath) |
| 234 | 235 |
| 235 def updateLinks(): | 236 def updateLinks(): |
| 236 """ | 237 """ |
| 237 writes the current extension download links to a file | 238 writes the current extension download links to a file |
| 238 """ | 239 """ |
| 239 | 240 |
| 240 # Update downloads directory first | |
| 241 downloadsRepository = get_config().get('extensions', 'downloadsDirectory') | |
| 242 subprocess.Popen(['hg', '-R', downloadsRepository, 'pull', '-u'], stdout=subp
rocess.PIPE).communicate() | |
| 243 | |
| 244 # Now get download links and save them to file | 241 # Now get download links and save them to file |
| 245 result = SafeConfigParser() | 242 result = SafeConfigParser() |
| 246 getDownloadLinks(result) | 243 getDownloadLinks(result) |
| 247 file = open(get_config().get('extensions', 'downloadLinksFile'), 'wb') | 244 file = open(get_config().get('extensions', 'downloadLinksFile'), 'wb') |
| 248 result.write(file) | 245 result.write(file) |
| 249 file.close() | 246 file.close() |
| 250 | 247 |
| 251 writeUpdateManifest(result) | 248 writeUpdateManifest(result) |
| 252 | 249 |
| 253 if __name__ == "__main__": | 250 if __name__ == "__main__": |
| 254 updateLinks() | 251 updateLinks() |
| OLD | NEW |