from argparse import ArgumentParser import sqlite3 import json import os def main(): parser = ArgumentParser() subparsers = parser.add_subparsers(dest='entity') dbparser = subparsers.add_parser('db') dbparser.add_argument('action') args = parser.parse_args() action = args.action with open('/etc/fourier-config.json', 'r') as fp: config = json.loads(fp.read()) device_id = config['device_id'] if action == 'stats': dbpath = '/var/fourier/{}/files.db'.format(device_id) conn = sqlite3.connect(dbpath) cursor = conn.cursor() cursor.execute("select count(*), count(uploaded) from file") total, uploaded, = cursor.fetchone() print("total: {}".format(total)) print("uploaded: {}".format(uploaded)) print("pending: {}".format(total - uploaded)) if __name__ == '__main__': main()