diff --git a/server.py b/server.py index 5641287..d81a645 100755 --- a/server.py +++ b/server.py @@ -100,10 +100,13 @@ def getZrange(keyCateg, date, topNum): # max lvl is 16 def getRankLevel(points): - return float("{:.2f}".format(math.log(points, 2))) + if points == 0: + return 0 + else: + return float("{:.2f}".format(math.log(points, cfg.getint('CONTRIB' ,'rankMultiplier')))) def getRemainingPoints(points): prev = 0 - for i in [2**x for x in range(1,17)]: + for i in [cfg.getint('CONTRIB' ,'rankMultiplier')**x for x in range(1,17)]: if prev <= points < i: return i-points prev = i @@ -141,7 +144,8 @@ def geo(): @app.route("/contrib") def contrib(): return render_template('contrib.html', - currOrg="" + currOrg="", + rankMultiplier=cfg.getint('CONTRIB' ,'rankMultiplier') ) @app.route("/_getLastContributor") @@ -269,6 +273,7 @@ def getOrgRank(): except: org = '' points = random.randint(1,2**16) + #FIXME put 0 if org has no points data = {'org': org, 'points': points, 'rank': getRankLevel(points), 'remainingPts': getRemainingPoints(points)} return jsonify(data) diff --git a/static/js/contrib.js b/static/js/contrib.js index 26287dd..7a7a412 100644 --- a/static/js/contrib.js +++ b/static/js/contrib.js @@ -125,7 +125,7 @@ function generateRankingSheet(rank) { td.style.padding = "2px"; tr.appendChild(td); var td = document.createElement('td'); - td.innerHTML = i+" pnts"; + td.innerHTML = Math.pow(rankMultiplier, i)+" pnts"; td.style.padding = "2px"; tr.style.textAlign = "center"; if (i == rank) { // current org rank diff --git a/templates/contrib.html b/templates/contrib.html index d1c9387..56913e1 100644 --- a/templates/contrib.html +++ b/templates/contrib.html @@ -240,6 +240,7 @@ /* DATA FROM CONF */ var currOrg = "{{ currOrg }}"; + var rankMultiplier = {{ rankMultiplier }};