Created
November 14, 2012 04:56
-
-
Save kaiix/4070333 to your computer and use it in GitHub Desktop.
interesting_repos_plist
This file contains hidden or 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
| #!/bin/env python | |
| fixtures = [{'forks': u'159', 'lang': u'Objective-C', 'name': u'nu', 'stars': u'1,671'}, | |
| {'forks': u'299', | |
| 'lang': u'JavaScript', | |
| 'name': u'prototype', | |
| 'stars': u'2,504'}, | |
| {'forks': u'197', 'lang': u'C++', 'name': u'passenger', 'stars': u'1,413'}, | |
| {'forks': u'464', | |
| 'lang': u'JavaScript', | |
| 'name': u'scriptaculous', | |
| 'stars': u'2,316'}, | |
| {'forks': u'4,209', 'lang': u'Ruby', 'name': u'rails', 'stars': u'16,453'}, | |
| {'forks': u'299', | |
| 'lang': u'JavaScript', | |
| 'name': u'mootools-core', | |
| 'stars': u'1,817'}, | |
| {'forks': u'59', | |
| 'lang': u'ActionScript', | |
| 'name': u'restfulx_framework', | |
| 'stars': u'338'}, | |
| {'forks': u'338', 'lang': u'Objective-C', 'name': u'gitx', 'stars': u'1,662'}, | |
| {'forks': u'762', | |
| 'lang': u'Objective-C', | |
| 'name': u'asi-http-request', | |
| 'stars': u'4,203'}, | |
| {'forks': u'934', 'lang': u'C', 'name': u'git', 'stars': u'3,145'}, | |
| {'forks': u'476', | |
| 'lang': u'JavaScript', | |
| 'name': u'raphael', | |
| 'stars': u'4,472'}, | |
| {'forks': u'261', | |
| 'lang': u'Objective-J', | |
| 'name': u'cappuccino', | |
| 'stars': u'1,723'}, | |
| {'forks': u'59', 'lang': u'Ruby', 'name': u'turn', 'stars': u'334'}, | |
| {'forks': u'164', 'lang': u'C', 'name': u'rhodes', 'stars': u'790'}, | |
| {'forks': u'281', 'lang': u'Python', 'name': u'webpy', 'stars': u'1,932'}, | |
| {'forks': u'169', 'lang': u'JavaScript', 'name': u'cufon', 'stars': u'1,969'}, | |
| {'forks': u'97', 'lang': u'Perl', 'name': u'perl', 'stars': u'409'}, | |
| {'forks': u'874', | |
| 'lang': u'Emacs Lisp', | |
| 'name': u'emacs-starter-kit', | |
| 'stars': u'2,161'}, | |
| {'forks': u'448', 'lang': u'JavaScript', 'name': u'yui3', 'stars': u'1,975'}, | |
| {'forks': u'127', 'lang': u'C', 'name': u'yajl', 'stars': u'851'}, | |
| {'forks': u'583', 'lang': u'C++', 'name': u'mongo', 'stars': u'3,534'}, | |
| {'forks': u'116', 'lang': u'Perl', 'name': u'rakudo', 'stars': u'465'}, | |
| {'forks': u'1,239', | |
| 'lang': u'Objective-C', | |
| 'name': u'three20', | |
| 'stars': u'7,057'}, | |
| {'forks': u'89', 'lang': u'Erlang', 'name': u'yaws', 'stars': u'441'}, | |
| {'forks': u'92', 'lang': u'Perl', 'name': u'ack', 'stars': u'753'}, | |
| {'forks': u'930', 'lang': u'C', 'name': u'redis', 'stars': u'5,347'}, | |
| {'forks': u'25', 'lang': u'Java', 'name': u'solr', 'stars': u'328'}, | |
| {'forks': u'301', 'lang': u'Python', 'name': u'pinax', 'stars': u'1,799'}, | |
| {'forks': u'13', | |
| 'lang': u'Emacs Lisp', | |
| 'name': u'aquamacs-emacs', | |
| 'stars': u'187'}, | |
| {'forks': u'2,538', | |
| 'lang': u'JavaScript', | |
| 'name': u'jquery', | |
| 'stars': u'17,470'}, | |
| {'forks': u'345', 'lang': u'C', 'name': u'memcached', 'stars': u'1,998'}, | |
| {'forks': u'34', | |
| 'lang': u'Objective-C', | |
| 'name': u'ElementParser', | |
| 'stars': u'426'}, | |
| {'forks': u'106', | |
| 'lang': u'Objective-C', | |
| 'name': u'SimFinger', | |
| 'stars': u'975'}, | |
| {'forks': u'91', 'lang': u'C', 'name': u'httpd', 'stars': u'651'}, | |
| {'forks': u'4,901', 'lang': u'Ruby', 'name': u'homebrew', 'stars': u'10,538'}, | |
| {'forks': u'237', 'lang': u'Erlang', 'name': u'couchdb', 'stars': u'1,233'}, | |
| {'forks': u'229', 'lang': u'Java', 'name': u'cassandra', 'stars': u'1,118'}, | |
| {'forks': u'2,728', | |
| 'lang': u'JavaScript', | |
| 'name': u'node', | |
| 'stars': u'18,560'}, | |
| {'forks': u'243', 'lang': u'Java', 'name': u'voldemort', 'stars': u'980'}, | |
| {'forks': u'98', 'lang': u'Scala', 'name': u'scalatra', 'stars': u'910'}, | |
| {'forks': u'96', 'lang': u'C#', 'name': u'GitSharp', 'stars': u'542'}, | |
| {'forks': u'88', 'lang': u'Shell', 'name': u'z', 'stars': u'1,157'}, | |
| {'forks': u'75', 'lang': u'C', 'name': u'wax', 'stars': u'1,011'}, | |
| {'forks': u'239', | |
| 'lang': u'Objective-C', | |
| 'name': u'AppSales-Mobile', | |
| 'stars': u'1,470'}, | |
| {'forks': u'95', | |
| 'lang': u'JavaScript', | |
| 'name': u'greasemonkey', | |
| 'stars': u'699'}, | |
| {'forks': u'119', | |
| 'lang': u'ActionScript', | |
| 'name': u'web-socket-js', | |
| 'stars': u'1,453'}, | |
| {'forks': u'67', | |
| 'lang': u'C', | |
| 'name': u'nginx_http_push_module', | |
| 'stars': u'808'}, | |
| {'forks': u'179', | |
| 'lang': u'Objective-C', | |
| 'name': u'Sparkle', | |
| 'stars': u'968'}, | |
| {'forks': u'181', 'lang': u'C++', 'name': u'v8', 'stars': u'1,017'}, | |
| {'forks': u'447', 'lang': u'Shell', 'name': u'rvm', 'stars': u'2,052'}, | |
| {'forks': u'48', 'lang': u'Ruby', 'name': u'cloud-crowd', 'stars': u'822'}, | |
| {'forks': u'854', 'lang': u'Python', 'name': u'tornado', 'stars': u'4,621'}, | |
| {'forks': u'86', 'lang': u'Python', 'name': u'bup', 'stars': u'1,610'}, | |
| {'forks': u'830', | |
| 'lang': u'JavaScript', | |
| 'name': u'underscore', | |
| 'stars': u'6,533'}, | |
| {'forks': u'462', 'lang': u'Erlang', 'name': u'otp', 'stars': u'1,652'}, | |
| {'forks': u'25', 'lang': u'C', 'name': u'memprof', 'stars': u'493'}, | |
| {'forks': u'629', | |
| 'lang': u'CoffeeScript', | |
| 'name': u'coffee-script', | |
| 'stars': u'6,498'}, | |
| {'forks': u'82', 'lang': u'JavaScript', 'name': u'gordon', 'stars': u'1,712'}, | |
| {'forks': u'476', 'lang': u'C++', 'name': u'hiphop-php', 'stars': u'4,281'}, | |
| {'forks': u'1,718', 'lang': u'PHP', 'name': u'symfony', 'stars': u'5,728'}, | |
| {'forks': u'61', 'lang': u'PHP', 'name': u'phpbb', 'stars': u'609'}, | |
| {'forks': u'279', | |
| 'lang': u'JavaScript', | |
| 'name': u'tinymce', | |
| 'stars': u'1,383'}, | |
| {'forks': u'139', 'lang': u'Erlang', 'name': u'ejabberd', 'stars': u'523'}, | |
| {'forks': u'657', 'lang': u'Ruby', 'name': u'ruby', 'stars': u'3,334'}, | |
| {'forks': u'942', 'lang': u'PHP', 'name': u'cakephp', 'stars': u'3,339'}, | |
| {'forks': u'333', 'lang': u'Java', 'name': u'clojure', 'stars': u'1,892'}, | |
| {'forks': u'286', 'lang': u'Python', 'name': u'buildbot', 'stars': u'405'}, | |
| {'forks': u'134', 'lang': u'C', 'name': u'postgres', 'stars': u'646'}, | |
| {'forks': u'114', 'lang': u'Scala', 'name': u'framework', 'stars': u'601'}, | |
| {'forks': u'1,444', 'lang': u'C', 'name': u'linux', 'stars': u'6,648'}, | |
| {'forks': u'1,136', 'lang': u'Python', 'name': u'django', 'stars': u'4,611'}] | |
| def fetch_interesting_repos(force=True): | |
| if not force: | |
| return fixtures | |
| import urllib2 | |
| from BeautifulSoup import BeautifulSoup | |
| html = urllib2.urlopen('http://github.com/repositories').read() | |
| soup = BeautifulSoup(html) | |
| rl = soup.find('ul', attrs={'class': 'repolist js-repo-list'}) | |
| results = [] | |
| for x in rl.findAll('li', attrs={'class': | |
| lambda kls: kls and kls.find('source') != -1}): | |
| if not x: continue | |
| try: | |
| name = x.h3.find('a').text | |
| lang = x.find('ul').li.text | |
| stars = x.find('ul').find('li', attrs={'class': 'stargazers'}).text | |
| forks = x.find('ul').find('li', attrs={'class': 'forks'}).text | |
| except: | |
| raise | |
| results.append({ | |
| 'name': name, | |
| 'lang': lang, | |
| 'stars': stars, | |
| 'forks': forks, | |
| }) | |
| return results | |
| def make_plist(result, filename="fixtures.plist"): | |
| import plistlib | |
| plistlib.writePlist(result, filename) | |
| if __name__ == '__main__': | |
| result = fetch_interesting_repos(False) | |
| make_plist(result) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment