def pull_paths(paths, auth=config.auth_, ignore_cache=False): mean_stars_per_issue = repo_util.get_mean_stars_per_issue() repo_dicts = [] min_score, max_score = None, None stars_per_issue_list = [] for path in paths: try: repo_dict = pull_repo(path, mean_stars_per_issue, auth=auth, ignore_cache=ignore_cache) if min_score is None or repo_dict["score"] < min_score: min_score = repo_dict["score"] if max_score is None or repo_dict["score"] > max_score: max_score = repo_dict["score"] stars_per_issue = ( float(repo_dict["stargazers_count"] / repo_dict["issue_count"]) if repo_dict["issue_count"] != 0 else repo_dict["stargazers_count"] ) stars_per_issue_list.append(stars_per_issue) if not repo_dict: print "null repo:", path, repo_dict repo_dicts.append(repo_dict) except Exception as e: print "error reading:", path print (u"exception: {}; {}".format(type(e).__name__, e.message)).encode("utf8") traceback.print_exc() continue mean_stars_per_issue = ( sum(stars_per_issue_list) / float(len(stars_per_issue_list)) if stars_per_issue_list else config.default_stars_per_issue ) requests.patch( "https://repo-quality.firebaseio.com/.json?auth=" + secrets.firebase_token, data=json.dumps({"mean_stars_per_issue": mean_stars_per_issue, "min_score": min_score, "max_score": max_score}), ) for repo_dict in sorted(repo_dicts, key=lambda d: -d["score"]): print " path:", repo_dict["path"] print " stars:", repo_dict["stargazers_count"] print " issues:", repo_dict["open_issues_count"] print " has_issues:", repo_dict["has_issues"] print " age:", repo_dict["age"] print "stars/issues:", repo_dict["stargazers_count"] / (repo_dict["open_issues_count"] or 1) print " stars/age:", repo_dict["stargazers_count"] / (repo_dict["age"].days or 1) print " score:", repo_dict["score"] print printed_suck_line = False for repo_dict in sorted(repo_dicts, key=lambda d: -d["score"]): if repo_dict["score"] < 180 and not printed_suck_line: printed_suck_line = True print "------- suck line -------" print repo_dict["path"] print " ", repo_dict["score"]
def pull_paths(paths, auth=config.auth_, ignore_cache=False): mean_stars_per_issue = repo_util.get_mean_stars_per_issue() repo_dicts = [] min_score, max_score = None, None stars_per_issue_list = [] for path in paths: try: repo_dict = pull_repo( path, mean_stars_per_issue, auth=auth, ignore_cache=ignore_cache) if min_score is None or repo_dict['score'] < min_score: min_score = repo_dict['score'] if max_score is None or repo_dict['score'] > max_score: max_score = repo_dict['score'] stars_per_issue = ( float(repo_dict['stargazers_count'] / repo_dict['issue_count']) if repo_dict['issue_count'] != 0 else repo_dict['stargazers_count']) stars_per_issue_list.append(stars_per_issue) if not repo_dict: print 'null repo:', path, repo_dict repo_dicts.append(repo_dict) except Exception as e: print 'error reading:', path print (u'exception: {}; {}'.format(type(e).__name__, e.message)).encode('utf8') traceback.print_exc() continue mean_stars_per_issue = ( sum(stars_per_issue_list) / float(len(stars_per_issue_list)) if stars_per_issue_list else config.default_stars_per_issue) requests.patch( 'https://repo-quality.firebaseio.com/.json?auth=' + secrets.firebase_token, data=json.dumps({ 'mean_stars_per_issue': mean_stars_per_issue, 'min_score': min_score, 'max_score': max_score })) for repo_dict in sorted(repo_dicts, key=lambda d: -d['score']): print ' path:', repo_dict['path'] print ' stars:', repo_dict['stargazers_count'] print ' issues:', repo_dict['open_issues_count'] print ' has_issues:', repo_dict['has_issues'] print ' age:', repo_dict['age'] print 'stars/issues:', repo_dict['stargazers_count'] / (repo_dict['open_issues_count'] or 1) print ' stars/age:', repo_dict['stargazers_count'] / (repo_dict['age'].days or 1) print ' score:', repo_dict['score'] print printed_suck_line = False for repo_dict in sorted(repo_dicts, key=lambda d: -d['score']): if repo_dict['score'] < 180 and not printed_suck_line: printed_suck_line = True print '------- suck line -------' print repo_dict['path'] print ' ', repo_dict['score']
import flask from flask import request from werkzeug import exceptions import github_quality import config import repo_util app = flask.Flask(__name__) app.jinja_env.variable_start_string = '(((' app.jinja_env.variable_end_string = ')))' app.comment_start_string = '((#' app.comment_end_string = '#))' mean_stars_per_issue = repo_util.get_mean_stars_per_issue() repo_lists = { 'connect_middleware': set([ 'expressjs/body-parser', 'Raynos/body', 'cojs/co-body', 'stream-utils/raw-body', 'expressjs/compression', 'expressjs/timeout', 'expressjs/cookie-parser', 'expressjs/cookie-session', 'expressjs/csurf', 'expressjs/errorhandler', 'expressjs/session', 'expressjs/method-override',
import flask from flask import request from werkzeug import exceptions import github_quality import config import repo_util app = flask.Flask(__name__) app.jinja_env.variable_start_string = '(((' app.jinja_env.variable_end_string = ')))' app.comment_start_string = '((#' app.comment_end_string = '#))' mean_stars_per_issue = repo_util.get_mean_stars_per_issue() repo_lists = { 'connect_middleware': set([ 'expressjs/body-parser', 'Raynos/body', 'cojs/co-body', 'stream-utils/raw-body', 'expressjs/compression', 'expressjs/timeout', 'expressjs/cookie-parser', 'expressjs/cookie-session', 'expressjs/csurf', 'expressjs/errorhandler', 'expressjs/session',