summaryrefslogtreecommitdiffstats
path: root/scripts/popupdate.py
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@archlinux.org>2015-06-11 18:33:32 +0200
committerLukas Fleischer <lfleischer@archlinux.org>2015-06-11 18:59:46 +0200
commit0345914c5ce5e8ecafe3e90280bd58c0255fd9e0 (patch)
tree046a2b86e3131967572849462e08912cb3a472ca /scripts/popupdate.py
parent5225dfef4840de147aed261366df5426d1ea5301 (diff)
downloadaur-0345914c5ce5e8ecafe3e90280bd58c0255fd9e0.tar.gz
aur-0345914c5ce5e8ecafe3e90280bd58c0255fd9e0.tar.xz
Add popupdate script
This adds a simple script that can be used to recalculate the number of votes per package. It can be used in a cronjob. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
Diffstat (limited to 'scripts/popupdate.py')
-rwxr-xr-xscripts/popupdate.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/popupdate.py b/scripts/popupdate.py
new file mode 100755
index 00000000..489cd419
--- /dev/null
+++ b/scripts/popupdate.py
@@ -0,0 +1,27 @@
+#!/usr/bin/python3
+
+import configparser
+import mysql.connector
+import os
+
+docroot = os.path.dirname(os.path.realpath(__file__)) + "/../web/html/"
+
+config = configparser.RawConfigParser()
+config.read(os.path.dirname(os.path.realpath(__file__)) + "/../conf/config")
+
+aur_db_host = config.get('database', 'host')
+aur_db_name = config.get('database', 'name')
+aur_db_user = config.get('database', 'user')
+aur_db_pass = config.get('database', 'password')
+aur_db_socket = config.get('database', 'socket')
+
+db = mysql.connector.connect(host=aur_db_host, user=aur_db_user,
+ passwd=aur_db_pass, db=aur_db_name,
+ unix_socket=aur_db_socket, buffered=True)
+cur = db.cursor()
+
+cur.execute("UPDATE PackageBases SET NumVotes = (SELECT COUNT(*) FROM " +
+ "PackageVotes WHERE PackageVotes.PackageBaseID = PackageBases.ID)")
+
+db.commit()
+db.close()