summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelij <elij.mx@gmail.com>2011-04-06 19:23:42 -0700
committerLukas Fleischer <archlinux@cryptocrack.de>2011-04-12 11:56:32 +0200
commit2e444a79d55bce6cb3a908b50c115f2419913b53 (patch)
tree4fcfe4a3658806f110d3ee156be36d88415d58e3
parenteaffdc27f813a48911088994358640a069b30b7e (diff)
remove mysql dependency from gendummydata
- remove need to use mysql for escaping the sql -- removing single quote should be enough - instead of using sql to fetch categories from a live database, simply consider categories an integer range, specified to the size of that in the aur-schema. Lukas: Add "CATEGORIES_COUNT" initialization. Fix random number range used in genCategory() (AUTO_INCREMENT columns are 1-based by default, not 0-based). Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
-rwxr-xr-xsupport/schema/gendummydata.py44
1 files changed, 3 insertions, 41 deletions
diff --git a/support/schema/gendummydata.py b/support/schema/gendummydata.py
index 7b1d0cf..a0899d1 100755
--- a/support/schema/gendummydata.py
+++ b/support/schema/gendummydata.py
@@ -33,6 +33,7 @@ PKG_FILES = (8, 30) # min/max number of files in a package
PKG_DEPS = (1, 5) # min/max depends a package has
PKG_SRC = (1, 3) # min/max sources a package has
PKG_CMNTS = (1, 5) # min/max number of comments a package has
+CATEGORIES_COUNT = 17 # the number of categories from aur-schema
VOTING = (0, .30) # percentage range for package voting
RANDOM_PATHS = ( # random path locations for package files
"/usr/bin", "/usr/lib", "/etc", "/etc/rc.d", "/usr/share", "/lib",
@@ -56,33 +57,10 @@ if not os.path.exists(SEED_FILE):
sys.stderr.write("Please install the 'words' Arch package\n");
raise SystemExit
-# Make sure database access will be available
-#
-try:
- import MySQLdb
-except:
- sys.stderr.write("Please install the 'mysql-python' Arch package\n");
- raise SystemExit
-
-# try to connect to database
-#
-try:
- db = MySQLdb.connect(host = DB_HOST, user = DB_USER,
- db = DB_NAME, passwd = DB_PASS)
- dbc = db.cursor()
-except:
- sys.stderr.write("Could not connect to database\n");
- raise SystemExit
-
-esc = db.escape_string
-
-
# track what users/package names have been used
#
seen_users = {}
seen_pkgs = {}
-categories = {}
-category_keys = []
user_keys = []
# some functions to generate random data
@@ -95,7 +73,7 @@ def genVersion():
ver.append("%d" % random.randrange(0,100))
return ".".join(ver) + "-u%d" % random.randrange(1,11)
def genCategory():
- return categories[category_keys[random.randrange(0,len(category_keys))]]
+ return random.randrange(1,CATEGORIES_COUNT)
def genUID():
return seen_users[user_keys[random.randrange(0,len(user_keys))]]
@@ -149,22 +127,6 @@ while len(seen_pkgs) < MAX_PKGS:
#
contents = None
-# Load package categories from database
-#
-if DBUG: print "Loading package categories..."
-q = "SELECT * FROM PackageCategories"
-dbc.execute(q)
-row = dbc.fetchone()
-while row:
- categories[row[1]] = row[0]
- row = dbc.fetchone()
-category_keys = categories.keys()
-
-# done with the database
-#
-dbc.close()
-db.close()
-
# developer/tu IDs
#
developers = []
@@ -245,7 +207,7 @@ for p in seen_pkgs.keys():
#
num_comments = random.randrange(PKG_CMNTS[0], PKG_CMNTS[1])
for i in range(0, num_comments):
- fortune = esc(commands.getoutput(FORTUNE_CMD).replace("'",""))
+ fortune = commands.getoutput(FORTUNE_CMD).replace("'","")
now = NOW + random.randrange(400, 86400*3)
s = "INSERT INTO PackageComments (PackageID, UsersID, Comments, CommentTS) VALUES (%d, %d, '%s', %d);\n" % (seen_pkgs[p], genUID(), fortune, now)
out.write(s)