mirror of https://github.com/borgbase/vorta
41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
import sys
|
|
import os
|
|
import peewee
|
|
|
|
from vorta.models import init_db, SettingsModel
|
|
from vorta.application import VortaApp
|
|
from vorta.config import SETTINGS_DIR
|
|
from vorta.updater import get_updater
|
|
import vorta.sentry
|
|
import vorta.log
|
|
from vorta.utils import parse_args
|
|
|
|
|
|
def main():
|
|
args = parse_args()
|
|
|
|
frozen_binary = getattr(sys, 'frozen', False)
|
|
need_foreground = frozen_binary and sys.platform in ('darwin', 'linux')
|
|
want_foreground = getattr(args, 'foreground', False)
|
|
if not (want_foreground or need_foreground):
|
|
print('Forking to background (see system tray).')
|
|
if os.fork():
|
|
sys.exit()
|
|
|
|
# Init database
|
|
sqlite_db = peewee.SqliteDatabase(os.path.join(SETTINGS_DIR, 'settings.db'))
|
|
init_db(sqlite_db)
|
|
|
|
# Send crashes to Sentry.
|
|
if SettingsModel.get(key='send_sentry_reports').value:
|
|
vorta.sentry.init()
|
|
|
|
app = VortaApp(sys.argv, single_app=True)
|
|
app.updater = get_updater()
|
|
|
|
sys.exit(app.exec_())
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|