summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/reproducible_common.py26
1 files changed, 20 insertions, 6 deletions
diff --git a/bin/reproducible_common.py b/bin/reproducible_common.py
index b25bc39f..b75d440d 100755
--- a/bin/reproducible_common.py
+++ b/bin/reproducible_common.py
@@ -420,12 +420,26 @@ conn_db = start_db_connection() # the local sqlite3 reproducible db
conn_udd = start_udd_connection()
# do the db querying
-amount = int(query_db('SELECT count(name) FROM sources')[0][0])
-count_total = int(query_db('SELECT COUNT(name) FROM source_packages')[0][0])
-count_good = int(query_db(
- 'SELECT COUNT(name) FROM source_packages WHERE status="reproducible"')[0][0])
-percent_total = round(((count_total/amount)*100), 1)
-percent_good = round(((count_good/count_total)*100), 1)
+try:
+ amount = int(query_db('SELECT count(name) FROM sources')[0][0])
+ count_total = int(query_db('SELECT COUNT(name) FROM source_packages')[0][0])
+ count_good = int(query_db('SELECT COUNT(name) FROM source_packages ' + \
+ 'WHERE status="reproducible"')[0][0])
+except sqlite3.OperationalError:
+ log.critical('Error performing basic queries. You have to setup the ' + \
+ 'database to successfully continue after this point.')
+ log.critical('Continuing anyway, hoping for the best!')
+ amount = 0
+ count_total = 0
+ count_good = 0
+try:
+ percent_total = round(((count_total/amount)*100), 1)
+ percent_good = round(((count_good/count_total)*100), 1)
+except ZeroDivisionError:
+ log.error('Looks like there are either no tested package or no packages' + \
+ ' available at all. Maybe it\'s a new database?')
+ percent_total = 0.0
+ percent_good = 0.0
log.info('Total packages in Sid:\t\t' + str(amount))
log.info('Total tested packages:\t\t' + str(count_total))
log.info('Total reproducible packages:\t' + str(count_good))