bazarr/init_db.py

47 lines
1.2 KiB
Python
Raw Normal View History

2017-10-20 12:59:21 +00:00
import os
2017-09-16 00:49:46 +00:00
import sqlite3
2017-12-06 04:07:37 +00:00
import logging
2017-09-16 00:49:46 +00:00
# Check if database exist
2017-10-22 00:02:25 +00:00
if os.path.exists(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db')) == True:
2017-09-16 00:49:46 +00:00
pass
else:
2017-10-22 02:51:15 +00:00
# Create data directory tree
2017-10-22 03:01:24 +00:00
try:
os.mkdir(os.path.join(os.path.dirname(__file__), 'data'))
except OSError:
pass
try:
os.mkdir(os.path.join(os.path.dirname(__file__), 'data/cache'))
except OSError:
pass
try:
os.mkdir(os.path.join(os.path.dirname(__file__), 'data/db'))
except OSError:
pass
try:
os.mkdir(os.path.join(os.path.dirname(__file__), 'data/log'))
except OSError:
pass
2017-10-22 02:51:15 +00:00
2017-09-16 00:49:46 +00:00
# Get SQL script from file
2017-10-22 00:02:25 +00:00
fd = open(os.path.join(os.path.dirname(__file__), 'create_db.sql'), 'r')
2017-09-16 00:49:46 +00:00
script = fd.read()
# Close SQL script file
fd.close()
2017-09-16 00:49:46 +00:00
# Open database connection
2017-12-05 00:01:10 +00:00
db = sqlite3.connect(os.path.join(os.path.dirname(__file__), 'data/db/bazarr.db'), timeout=30)
2017-09-16 00:49:46 +00:00
c = db.cursor()
# Execute script and commit change to database
c.executescript(script)
# Close database connection
2017-12-06 04:07:37 +00:00
db.close()
logging.info('Database created successfully')