Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.28 KB | None | 0 0
  1. import mysql.connector
  2. import time
  3. import random
  4. import env
  5.  
  6. DATABASE = mysql.connector.connect(
  7.     host=env.DB_HOST,
  8.     user=env.DB_USER,
  9.     passwd=env.DB_PASS,
  10.     database="db_znam"
  11. )
  12.  
  13. mycursor = DATABASE.cursor()
  14.  
  15. def sortRanks():
  16.     start_time = time.time()
  17.  
  18.     sql = "SELECT ID, Rank, Score FROM tbl_scoreboard"
  19.     mycursor.execute(sql)
  20.     myresult = mycursor.fetchall()
  21.  
  22.     myresult = sorted(myresult, key=lambda r: r[2], reverse=True) #ORDER BY Score DESC
  23.  
  24.     processed = list()
  25.  
  26.     cRank = 1
  27.     cScore = myresult[0][2]
  28.     lres = len(myresult)
  29.     for i in range(0, lres):
  30.         cList = list(myresult[i])
  31.         score = cList[2]
  32.         oldRank = cList[1]
  33.  
  34.         if (cScore == score):
  35.             cList[1] = cRank
  36.         else:
  37.             cRank += 1
  38.             cList[1] = cRank
  39.             cScore = score
  40.        
  41.         if (oldRank != cRank):
  42.             processed.append(cList)
  43.  
  44.     for i in range(0, len(processed)):
  45.         sql = "UPDATE tbl_scoreboard SET Rank = %s WHERE ID = %s"
  46.         val = (processed[i][1], processed[i][0])
  47.  
  48.         mycursor.execute(sql, val)
  49.  
  50.     DATABASE.commit()
  51.  
  52.     elapsed_time = time.time() - start_time
  53.     print("Took {:.4f} s to sort the ranks in the database".format(elapsed_time))
  54.  
  55. sortRanks()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement