-
-
Save tazjel/5932313 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import urllib2 | |
import tempfile | |
import zipfile | |
top5 = [ | |
{ 'name': 'Microsoft .NET Framework Assistant', 'url': 'https://addons.mozilla.org/addon/9449', 'amo_id': 9449 }, | |
{ 'name': 'Adblock Plus', 'url': 'https://addons.mozilla.org/addon/1865', 'amo_id': 1865 }, | |
{ 'name': 'Yahoo! Toolbar', 'url': 'https://addons.mozilla.org/addon/2032', 'amo_id': 2032 }, | |
{ 'name': 'Video DownloadHelper', 'url': 'https://addons.mozilla.org/addon/3006', 'amo_id': 3006 }, | |
{ 'name': 'Yandex.Bar', 'url': 'https://addons.mozilla.org/addon/3495', 'amo_id': 3495 }, | |
] | |
next100 = [ | |
{ 'name': 'Sputnik', 'url': 'http://sputnik.mail.ru/' }, | |
{ 'name': 'Test Pilot', 'url': 'https://addons.mozilla.org/addon/13661', 'amo_id': 13661 }, | |
{ 'name': 'Google Toolbar', 'url': 'http://www.google.com/toolbar/ff/index.html' }, | |
{ 'name': 'Firebug', 'url': 'https://addons.mozilla.org/addon/1843', 'amo_id': 1843 }, | |
{ 'name': 'Greasemonkey', 'url': 'https://addons.mozilla.org/addon/748', 'amo_id': 748 }, | |
{ 'name': 'Personas Plus', 'url': 'https://addons.mozilla.org/addon/10900', 'amo_id': 10900 }, | |
{ 'name': 'Facemoods', 'url': 'http://facemoods.com/firefox' }, | |
{ 'name': 'Download Statusbar', 'url': 'https://addons.mozilla.org/addon/26', 'amo_id': 26 }, | |
{ 'name': 'DownThemAll!', 'url': 'https://addons.mozilla.org/addon/201', 'amo_id': 201 }, | |
{ 'name': 'FlashGot', 'url': 'https://addons.mozilla.org/addon/220', 'amo_id': 220 }, | |
{ 'name': 'NoScript', 'url': 'https://addons.mozilla.org/addon/722', 'amo_id': 722 }, | |
{ 'name': 'ICQ Toolbar', 'url': 'http://www.icq.com/download/toolbar/en' }, | |
{ 'name': 'Yontoo Client', 'url': 'http://www.yontoo.com/Download.aspx' }, | |
{ 'name': 'WOT', 'url': 'https://addons.mozilla.org/addon/3456', 'amo_id': 3456 }, | |
{ 'name': 'Flagfox', 'url': 'https://addons.mozilla.org/addon/5791', 'amo_id': 5791 }, | |
{ 'name': 'Easy YouTube Video Downloader', 'url': 'https://addons.mozilla.org/addon/10137', 'amo_id': 10137 }, | |
{ 'name': 'Tab Mix Plus', 'url': 'https://addons.mozilla.org/addon/1122', 'amo_id': 1122 }, | |
{ 'name': 'Garmin Communicator', 'url': 'https://addons.mozilla.org/addon/10278', 'amo_id': 10278 }, | |
{ 'name': 'ImTranslator', 'url': 'https://addons.mozilla.org/addon/2257', 'amo_id': 2257 }, | |
{ 'name': 'Xmarks Sync', 'url': 'https://addons.mozilla.org/addon/2410', 'amo_id': 2410 }, | |
{ 'name': 'Flashblock', 'url': 'https://addons.mozilla.org/addon/433', 'amo_id': 433 }, | |
{ 'name': 'FireFTP', 'url': 'https://addons.mozilla.org/addon/684', 'amo_id': 684 }, | |
{ 'name': 'Web Developer', 'url': 'https://addons.mozilla.org/addon/60', 'amo_id': 60 }, | |
{ 'name': 'PriceGong', 'url': 'https://addons.mozilla.org/addon/10433', 'amo_id': 10433 }, | |
{ 'name': 'English (South African) Language Pack', 'url': 'https://addons.mozilla.org/addon/6180', 'amo_id': 6180 }, | |
{ 'name': 'Web.de Toolbar', 'url': 'http://web-de-toolbar.softonic.de/download' }, | |
{ 'name': 'FoxTab', 'url': 'https://addons.mozilla.org/addon/8879', 'amo_id': 8879 }, | |
{ 'name': 'Element Hiding Helper for Adblock Plus', 'url': 'https://addons.mozilla.org/addon/4364', 'amo_id': 4364 }, | |
{ 'name': 'IE Tab V2', 'url': 'https://addons.mozilla.org/addon/92382', 'amo_id': 92382 }, | |
{ 'name': 'Stylish', 'url': 'https://addons.mozilla.org/addon/2108', 'amo_id': 2108 }, | |
{ 'name': 'Speed Dial', 'url': 'https://addons.mozilla.org/addon/4810', 'amo_id': 4810 }, | |
{ 'name': 'Forecastfox Weather', 'url': 'https://addons.mozilla.org/addon/398', 'amo_id': 398 }, | |
{ 'name': 'British English Dictionary', 'url': 'https://addons.mozilla.org/addon/3366', 'amo_id': 3366 }, | |
{ 'name': 'BetterPrivacy', 'url': 'https://addons.mozilla.org/addon/6623', 'amo_id': 6623 }, | |
{ 'name': 'IE Tab', 'url': 'https://addons.mozilla.org/addon/1419', 'amo_id': 1419 }, | |
{ 'name': 'ColorfulTabs', 'url': 'https://addons.mozilla.org/addon/1368', 'amo_id': 1368 }, | |
{ 'name': 'StumbleUpon', 'url': 'https://addons.mozilla.org/addon/138', 'amo_id': 138 }, | |
{ 'name': 'Somoto Toolbar', 'url': 'http://toolbar.somotoinc.com/' }, | |
{ 'name': 'Adblock Plus Pop-up Addon', 'url': 'https://addons.mozilla.org/addon/83098', 'amo_id': 83098 }, | |
{ 'name': 'PDF Download', 'url': 'https://addons.mozilla.org/addon/83098', 'amo_id': 83098 }, | |
{ 'name': 'United States English Spellchecker', 'url': 'https://addons.mozilla.org/addon/3497', 'amo_id': 3497 }, | |
{ 'name': 'Download Master Toolbar', 'url': 'https://addons.mozilla.org/addon/9233', 'amo_id': 9233 }, | |
{ 'name': 'FastestFox - Browse Faster', 'url': 'https://addons.mozilla.org/addon/9825', 'amo_id': 9825 }, | |
{ 'name': 'Ant Video Downloader and Helper', 'url': 'https://addons.mozilla.org/addon/8174', 'amo_id': 8174 }, | |
{ 'name': 'cacaoweb', 'url': 'http://www.cacaoweb.org/' }, | |
{ 'name': 'FoxyProxy Standard', 'url': 'https://addons.mozilla.org/addon/2464', 'amo_id': 2464 }, | |
{ 'name': 'Text Link', 'url': 'https://addons.mozilla.org/addon/1939', 'amo_id': 1939 }, | |
{ 'name': 'NASA Night Launch', 'url': 'https://addons.mozilla.org/addon/4908', 'amo_id': 4908 }, | |
{ 'name': 'Iplex to ALLPlayer', 'url': 'https://addons.mozilla.org/addon/282015', 'amo_id': 282015 }, | |
{ 'name': 'Inbox Toolbar', 'url': 'https://addons.mozilla.org/addon/14839', 'amo_id': 14839 }, | |
{ 'name': 'Amazon "Add to Wish List" Button', 'url': 'https://addons.mozilla.org/addon/257015', 'amo_id': 257015 }, | |
{ 'name': 'German Dictionary', 'url': 'https://addons.mozilla.org/addon/3077', 'amo_id': 3077 }, | |
{ 'name': 'Rambler-Assistant for Firefox', 'url': 'https://addons.mozilla.org/addon/6360', 'amo_id': 6360 }, | |
{ 'name': 'IE Tab Plus', 'url': 'https://addons.mozilla.org/addon/10909', 'amo_id': 10909 }, | |
{ 'name': 'SkipScreen', 'url': 'https://addons.mozilla.org/addon/11243', 'amo_id': 11243 }, | |
{ 'name': 'AniWeather', 'url': 'https://addons.mozilla.org/addon/12331', 'amo_id': 12331 }, | |
{ 'name': 'Flash Video Downloader', 'url': 'https://addons.mozilla.org/addon/6584', 'amo_id': 6584 }, | |
{ 'name': 'User Agent Switcher', 'url': 'https://addons.mozilla.org/addon/59', 'amo_id': 59 }, | |
{ 'name': 'Ghostery', 'url': 'https://addons.mozilla.org/addon/9609', 'amo_id': 9609 }, | |
{ 'name': 'Ask.com Toolbar', 'url': 'http://sp.ask.com/toolbar/install/web/ask/download.php' }, | |
{ 'name': 'Gmail Manager', 'url': 'https://addons.mozilla.org/addon/1320', 'amo_id': 1320 }, | |
{ 'name': 'AddThis', 'url': 'https://addons.mozilla.org/addon/4076', 'amo_id': 4076 }, | |
{ 'name': 'Add-on Compatibility Reporter', 'url': 'https://addons.mozilla.org/addon/15003', 'amo_id': 15003 }, | |
{ 'name': 'Evernote Web Clipper', 'url': 'https://addons.mozilla.org/addon/8381', 'amo_id': 8381 }, | |
{ 'name': 'Screengrab', 'url': 'https://addons.mozilla.org/addon/1146', 'amo_id': 1146 }, | |
{ 'name': 'LavaFox V1', 'url': 'https://addons.mozilla.org/addon/11861', 'amo_id': 11861 }, | |
{ 'name': 'Image Zoom', 'url': 'https://addons.mozilla.org/addon/139', 'amo_id': 139 }, | |
{ 'name': 'CoolPreviews', 'url': 'https://addons.mozilla.org/addon/2207', 'amo_id': 2207 }, | |
{ 'name': 'Google Gears Portable', 'url': 'https://addons.mozilla.org/addon/13492', 'amo_id': 13492 }, | |
{ 'name': 'FoxLingo', 'url': 'https://addons.mozilla.org/addon/2444', 'amo_id': 2444 }, | |
{ 'name': 'Download Manager Tweak', 'url': 'https://addons.mozilla.org/addon/256', 'amo_id': 256 }, | |
{ 'name': 'FT DeepDark', 'url': 'https://addons.mozilla.org/addon/295337', 'amo_id': 295337 }, | |
{ 'name': 'Read It Later', 'url': 'https://addons.mozilla.org/addon/7661', 'amo_id': 7661 }, | |
{ 'name': 'AutoComplete Pro', 'url': 'http://www.autocompletepro.com/welcome/' }, | |
{ 'name': 'WebMail Notifier', 'url': 'https://addons.mozilla.org/addon/4490', 'amo_id': 4490 }, | |
{ 'name': 'All-in-One Sidebar', 'url': 'https://addons.mozilla.org/addon/1027', 'amo_id': 1027 }, | |
{ 'name': 'Connection Manager', 'url': 'https://addons.mozilla.org/addon/1027', 'amo_id': 1027 }, | |
{ 'name': 'ScrapBook', 'url': 'https://addons.mozilla.org/addon/427', 'amo_id': 427 }, | |
{ 'name': 'MR Tech Toolkit', 'url': 'https://addons.mozilla.org/addon/421', 'amo_id': 421 }, | |
{ 'name': 'NetVideoHunter Video Downloader', 'url': 'https://addons.mozilla.org/addon/7447', 'amo_id': 7447 }, | |
{ 'name': 'SearchPreview', 'url': 'https://addons.mozilla.org/addon/189', 'amo_id': 189 }, | |
{ 'name': 'GMX Toolbar', 'url': 'http://service.gmx.net/de/cgi/g.fcgi/products/mailcheck' }, | |
{ 'name': 'Fast Video Download', 'url': 'https://addons.mozilla.org/addon/3590', 'amo_id': 3590 }, | |
{ 'name': 'Yoono', 'url': 'https://addons.mozilla.org/addon/1833', 'amo_id': 1833 }, | |
{ 'name': 'ReloadEvery', 'url': 'https://addons.mozilla.org/addon/115', 'amo_id': 115 }, | |
{ 'name': 'RightToClick', 'url': 'https://addons.mozilla.org/addon/12572', 'amo_id': 12572 }, | |
{ 'name': 'Tab Scope', 'url': 'https://addons.mozilla.org/addon/4882', 'amo_id': 4882 }, | |
{ 'name': 'Download YouTube Videos + Flash Video Downloader', 'url': 'https://addons.mozilla.org/addon/12984', 'amo_id': 12984 }, | |
{ 'name': 'Google Shortcuts', 'url': 'https://addons.mozilla.org/addon/3576', 'amo_id': 3576 }, | |
{ 'name': 'AutoPager', 'url': 'https://addons.mozilla.org/addon/4925', 'amo_id': 4925 }, | |
{ 'name': 'Shine Bright Skin', 'url': 'https://addons.mozilla.org/addon/286388', 'amo_id': 286388 }, | |
{ 'name': 'ImgLikeOpera', 'url': 'https://addons.mozilla.org/addon/1672', 'amo_id': 1672 }, | |
{ 'name': 'ReminderFox', 'url': 'https://addons.mozilla.org/addon/1191', 'amo_id': 1191 }, | |
{ 'name': 'TinEye Reverse Image Search', 'url': 'https://addons.mozilla.org/addon/8922', 'amo_id': 8922 }, | |
{ 'name': 'Diccionario de Espanol', 'url': 'https://addons.mozilla.org/addon/3554', 'amo_id': 3554 }, | |
{ 'name': 'Zotero', 'url': 'https://addons.mozilla.org/addon/3504', 'amo_id': 3504 }, | |
{ 'name': 'Fast Dial', 'url': 'https://addons.mozilla.org/addon/5721', 'amo_id': 5721 }, | |
{ 'name': 'FB Chat Sidebar Disabler', 'url': 'https://addons.mozilla.org/addon/330648', 'amo_id': 330648 }, | |
{ 'name': 'iMacros for Firefox', 'url': 'https://addons.mozilla.org/addon/3863', 'amo_id': 3863 }, | |
{ 'name': 'EPUBReader', 'url': 'https://addons.mozilla.org/addon/45281', 'amo_id': 45281 } | |
] | |
def check_addon(addon): | |
amo_id = addon.get('amo_id') | |
if not amo_id: | |
print "# Addon %s (%s) does not have an AMO id" % (addon['name'], addon['url']) | |
else: | |
addon_url = 'http://addons.mozilla.org/firefox/downloads/latest/%s/addon-%s-latest.xpi' % (amo_id, amo_id) | |
try: | |
f = urllib2.urlopen(addon_url) | |
tmpfile = tempfile.TemporaryFile() | |
tmpfile.write(f.read()) | |
zip = zipfile.ZipFile(tmpfile) | |
if not 'install.rdf' in zip.namelist(): | |
print "# Addon %s (%s) does not seem to have an install.rdf file in its xpi" | |
else: | |
print "%s: %s" % (addon['name'], addon_url) | |
except urllib2.HTTPError: | |
print "# Addon %s (%s)'s programmatic URL does not work (tried: %s)" % (addon['name'], addon['url'], addon['url']) | |
print "# Top 5\n" | |
for addon in top5: | |
check_addon(addon) | |
print "\n# Next 100\n" | |
for addon in next100: | |
check_addon(addon) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment