aboutsummaryrefslogtreecommitdiff
path: root/src/main.py
blob: 2cf60751dbac1081d5cc70702fee2210a1d2cae6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import sys
import argparse
import os
import logging

from src.application import Application
import src.db as db

def parse_arguments():
    arg_parser = argparse.ArgumentParser(prog = 'Books', description = 'Manage book library')
    arg_parser.add_argument('--library', help='path to book library')
    arg_parser.add_argument('--ereader', help='path to ereader')
    return arg_parser.parse_args()

def main(resources):
    # Args
    args = parse_arguments()
    library = args.library or f'{os.getcwd()}/library'
    ereader = args.ereader

    # logging
    logging.basicConfig(level=logging.INFO)

    # Create library directory if missing
    os.makedirs(library, exist_ok=True)

    # Get connection
    conn = db.get_connection(library)
    db.migrate(resources, conn)

    # Start application
    app = Application(resources, library, ereader, conn, application_id='fr.jorisg.books')
    app.run()

if __name__ == '__main__':
    main()