You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.7 KiB

#!/usr/bin/env python3
# Copyright (C) 2020 Simon Quigley <tsimonq2@lubuntu.me>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
import sqlite3
from modules.jenkins import JenkinsModule
ENABLED_MODULES = [JenkinsModule]
def sqlite_run(command, db=":memory:", return_output=False):
"""Run the given SQLite command on our db
command must be a command that SQLite can run
db must be a valid path to a db, or it's done in memory
"""
conn = sqlite3.connect(db)
c = conn.cursor()
for cmd in command:
c.execute(cmd)
conn.commit()
# Make sure we return an output if requested
try:
if return_output:
rows = c.fetchall()
return rows
except Exception as e:
print(e)
finally:
conn.close()
def main(module):
"""Given a specific module, set it up and insert recent values"""
module = module()
run = []
run.append(module.sqlite_setup())
run.append(module.sqlite_add())
run.append(module.sqlite_time_range(days=10))
print(sqlite_run(run, return_output=True))
if __name__ == "__main__":
for module in ENABLED_MODULES:
main(module)