2018-08-15 22:01:49 -04:00
|
|
|
from get_argv import config_dir
|
|
|
|
|
2018-08-19 21:46:12 +02:00
|
|
|
from get_settings import get_general_settings
|
2017-10-27 22:18:16 -04:00
|
|
|
|
2017-11-06 23:53:31 -05:00
|
|
|
import os
|
2017-12-05 23:07:37 -05:00
|
|
|
import logging
|
2017-12-22 22:40:14 -05:00
|
|
|
import sqlite3
|
2017-11-06 23:53:31 -05:00
|
|
|
|
2017-12-30 00:09:51 -05:00
|
|
|
import git
|
2017-12-05 15:02:08 -05:00
|
|
|
|
2017-12-30 00:09:51 -05:00
|
|
|
current_working_directory = os.path.dirname(__file__)
|
2017-11-21 16:09:33 -05:00
|
|
|
|
2018-01-15 23:00:29 -05:00
|
|
|
def gitconfig():
|
|
|
|
g = git.Repo.init(current_working_directory)
|
|
|
|
config_read = g.config_reader()
|
|
|
|
config_write = g.config_writer()
|
|
|
|
|
|
|
|
try:
|
|
|
|
username = config_read.get_value("user", "name")
|
|
|
|
except:
|
|
|
|
config_write.set_value("user", "name", "Bazarr")
|
|
|
|
|
|
|
|
try:
|
|
|
|
email = config_read.get_value("user", "email")
|
|
|
|
except:
|
|
|
|
config_write.set_value("user", "email", "bazarr@fake.email")
|
|
|
|
|
2017-12-30 00:09:51 -05:00
|
|
|
def check_and_apply_update():
|
2018-01-15 23:00:29 -05:00
|
|
|
gitconfig()
|
2018-06-04 23:36:41 -04:00
|
|
|
branch = get_general_settings()[5]
|
2017-12-30 00:09:51 -05:00
|
|
|
g = git.cmd.Git(current_working_directory)
|
2018-06-04 23:56:22 -04:00
|
|
|
g.fetch('origin')
|
2018-06-04 23:25:07 -04:00
|
|
|
result = g.diff('--shortstat', 'origin/' + branch)
|
|
|
|
if len(result) == 0:
|
2017-12-30 08:33:36 -05:00
|
|
|
logging.info('No new version of Bazarr available.')
|
|
|
|
else:
|
2018-06-04 23:50:23 -04:00
|
|
|
g.reset('--hard', 'HEAD')
|
|
|
|
g.checkout(branch)
|
|
|
|
g.reset('--hard','origin/' + branch)
|
2018-06-04 23:28:16 -04:00
|
|
|
g.pull()
|
2018-06-04 23:25:07 -04:00
|
|
|
logging.info('Bazarr updated to latest version and need to be restarted. ' + result)
|
|
|
|
updated()
|
2017-12-22 22:40:14 -05:00
|
|
|
|
|
|
|
def updated():
|
2018-08-15 22:01:49 -04:00
|
|
|
conn = sqlite3.connect(os.path.join(config_dir, 'db/bazarr.db'), timeout=30)
|
2017-12-22 22:40:14 -05:00
|
|
|
c = conn.cursor()
|
2018-08-19 21:46:12 +02:00
|
|
|
c.execute("UPDATE system SET updated = 1")
|
2017-12-22 22:40:14 -05:00
|
|
|
conn.commit()
|
|
|
|
c.close()
|