diff options
author | Valerie R Young <spectranaut@riseup.net> | 2016-11-03 16:30:23 -0400 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2016-12-19 12:05:17 +0100 |
commit | d2327059dd0d1c3887e0cbb7dd2cdafa9b565dc2 (patch) | |
tree | fd37fd523cf7c0d2be1dba572cced31440c451d5 | |
parent | 95585e3dac27ffb9089fb5dafeb7b831d466743c (diff) | |
download | jenkins.debian.net-d2327059dd0d1c3887e0cbb7dd2cdafa9b565dc2.tar.xz |
reproducible Debian: switch python scripts to postgres
Signed-off-by: Holger Levsen <holger@layer-acht.org>
-rwxr-xr-x | bin/reproducible_common.py | 23 | ||||
-rwxr-xr-x | bin/reproducible_html_pkg_sets.py | 3 |
2 files changed, 9 insertions, 17 deletions
diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py index 1879a52c..94075595 100755 --- a/bin/reproducible_common.py +++ b/bin/reproducible_common.py @@ -19,7 +19,6 @@ import errno import atexit import hashlib import logging -import sqlite3 import argparse import pystache import psycopg2 @@ -56,7 +55,6 @@ TEMP_PATH="/tmp/reproducible" REPRODUCIBLE_JSON = BASE + '/reproducible.json' REPRODUCIBLE_TRACKER_JSON = BASE + '/reproducible-tracker.json' -REPRODUCIBLE_DB = '/var/lib/jenkins/reproducible.db' REPRODUCIBLE_STYLES = BASE +'/static/style.css' DEBIAN_URI = '/debian' @@ -94,6 +92,9 @@ with open(os.path.join(BIN_PATH, './reproducible_pkgsets.csv'), newline='') as f for line in csv.reader(f): META_PKGSET.append((line[1], line[0])) +# DATABSE CONSTANT +PGDATABASE = 'reproducibledb' + parser = argparse.ArgumentParser() group = parser.add_mutually_exclusive_group() group.add_argument("-d", "--debug", action="store_true") @@ -120,9 +121,9 @@ log.info('Starting at %s', started_at) # init the database data and connection if not args.skip_database_connection: - DB_ENGINE = create_engine("sqlite:///" + REPRODUCIBLE_DB, connect_args={'timeout': 60}) + DB_ENGINE = create_engine("postgresql:///%s" % PGDATABASE) DB_METADATA = MetaData(DB_ENGINE) # Get all table definitions - conn_db = DB_ENGINE.connect() # the local sqlite3 reproducible db + conn_db = DB_ENGINE.connect() # the local postgres reproducible db log.debug("BIN_PATH:\t" + BIN_PATH) log.debug("BASE:\t\t" + BASE) @@ -146,7 +147,6 @@ log.debug("HISTORY_URI:\t" + HISTORY_URI) log.debug("HISTORY_PATH:\t" + HISTORY_PATH) log.debug("BUILDINFO_URI:\t" + BUILDINFO_URI) log.debug("BUILDINFO_PATH:\t" + BUILDINFO_PATH) -log.debug("REPRODUCIBLE_DB:\t" + REPRODUCIBLE_DB) log.debug("REPRODUCIBLE_JSON:\t" + REPRODUCIBLE_JSON) log.debug("JENKINS_URL:\t\t" + JENKINS_URL) log.debug("REPRODUCIBLE_URL:\t" + REPRODUCIBLE_URL) @@ -371,7 +371,7 @@ def db_table(table_name): return Table(table_name, DB_METADATA, autoload=True) except NoSuchTableError: log.error("Table %s does not exist or schema for %s could not be loaded", - table_name, REPRODUCIBLE_DB) + table_name, PGDATABASE) raise @@ -389,15 +389,8 @@ def query_db(query): try: result = conn_db.execute(query) except OperationalError as ex: - # if this sqlalchemy.exc.OperationalError was caused by a sqlite3 - # database locking error, the error will have the following format: - if ex.orig and ex.orig.args and ex.orig.args[0] == "database is locked": - print_critical_message('SQLite database locked, could not execute ' + - 'query:\n"%s"\nExiting script.' % query) - sys.exit(1) - else: - print_critical_message('Error executing this query:\n' + query) - raise + print_critical_message('Error executing this query:\n' + query) + raise if result.returns_rows: return result.fetchall() diff --git a/bin/reproducible_html_pkg_sets.py b/bin/reproducible_html_pkg_sets.py index 0f4dc945..607da4ac 100755 --- a/bin/reproducible_html_pkg_sets.py +++ b/bin/reproducible_html_pkg_sets.py @@ -7,7 +7,7 @@ # © 2015 Mattia Rizzolo <mattia@debian.org> # Licensed under GPL-2 # -# Depends: python3, reproducible_common, time, sqlite3, pystache, csv +# Depends: python3, reproducible_common, time, pystache, csv # # Build rb-pkg pages (the pages that describe the package status) @@ -15,7 +15,6 @@ from reproducible_common import * import csv import time -import sqlite3 import pystache from collections import OrderedDict |