mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 09:43:03 +00:00
re-working pkgsearch, NumVotes add to Packages table
This commit is contained in:
parent
efcca46f26
commit
4b80bc34ff
7 changed files with 216 additions and 112 deletions
|
@ -110,6 +110,7 @@ CREATE TABLE Packages (
|
|||
URL CHAR(255) NOT NULL DEFAULT "http://www.archlinux.org",
|
||||
Source CHAR(255) NOT NULL DEFAULT "/dev/null",
|
||||
LocationID TINYINT UNSIGNED NOT NULL,
|
||||
NumVotes INTEGER UNSIGNED NOT NULL DEFAULT 0,
|
||||
OutOfDate TINYINT UNSIGNED DEFAULT 0,
|
||||
SubmittedTS BIGINT UNSIGNED NOT NULL,
|
||||
SubmitterUID INTEGER UNSIGNED NOT NULL DEFAULT 0,
|
||||
|
@ -119,6 +120,7 @@ CREATE TABLE Packages (
|
|||
INDEX (CategoryID),
|
||||
INDEX (LocationID),
|
||||
INDEX (OutOfDate),
|
||||
INDEX (NumVotes),
|
||||
INDEX (SubmitterUID),
|
||||
INDEX (MaintainerUID),
|
||||
FOREIGN KEY (CategoryID) REFERENCES PackageCategories(ID) ON DELETE NO ACTION,
|
||||
|
|
|
@ -15,12 +15,12 @@ DB_USER = "aur"
|
|||
DB_PASS = "aur"
|
||||
USER_ID = 5 # Users.ID of first user
|
||||
PKG_ID = 1 # Packages.ID of first package
|
||||
MAX_USERS = 200 # how many users to 'register'
|
||||
MAX_USERS = 1000 # how many users to 'register'
|
||||
MAX_DEVS = .1 # what percentage of MAX_USERS are Developers
|
||||
MAX_TUS = .2 # what percentage of MAX_USERS are Trusted Users
|
||||
MAX_PKGS = 2500 # how many packages to load
|
||||
PKG_FILES = (8, 30) # min/max number of files in a package
|
||||
VOTING = (.3, .8) # percentage range for package voting
|
||||
VOTING = (.1, .4) # percentage range for package voting
|
||||
RANDOM_PATHS = [ # random path locations for package files
|
||||
"/usr/bin", "/usr/lib", "/etc", "/etc/rc.d", "/usr/share", "/lib",
|
||||
"/var/spool", "/var/log", "/usr/sbin", "/opt", "/usr/X11R6/bin",
|
||||
|
@ -299,22 +299,32 @@ if DBUG: print "."
|
|||
|
||||
# Cast votes
|
||||
#
|
||||
track_votes = {}
|
||||
if DBUG: print "Casting votes for packages.",
|
||||
count = 0
|
||||
for u in user_keys:
|
||||
num_votes = random.randrange(len(seen_pkgs)*VOTING[0],
|
||||
len(seen_pkgs)*VOTING[1])
|
||||
num_votes = random.randrange(int(len(seen_pkgs)*VOTING[0]),
|
||||
int(len(seen_pkgs)*VOTING[1]))
|
||||
pkgvote = {}
|
||||
for v in range(num_votes):
|
||||
pkg = random.randrange(0, len(seen_pkgs))
|
||||
if not pkgvote.has_key(pkg):
|
||||
s = "INSERT INTO PackageVotes (UsersID, PackageID) VALUES (%d, %d);\n" % (seen_users[u], pkg)
|
||||
pkgvote[pkg] = 1
|
||||
if not track_votes.has_key(pkg):
|
||||
track_votes[pkg] = 0
|
||||
track_votes[pkg] += 1
|
||||
out.write(s)
|
||||
if count % 100 == 0:
|
||||
if DBUG: print ".",
|
||||
count += 1
|
||||
|
||||
# Update statements for package votes
|
||||
#
|
||||
for p in track_votes.keys():
|
||||
s = "UPDATE Packages SET NumVotes = %d WHERE ID = %d;\n" % (track_votes[p], p)
|
||||
out.write(s)
|
||||
|
||||
# close output file
|
||||
#
|
||||
out.write("\n")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue