spiegel-keyman/linux/keyman-config/keyman_config/__init__.py
Darcy 1bf3fe936b fix(linux): Remove version.sh
Remove version.sh and determine version/tier from the .md files
2020-10-09 13:55:18 +07:00

69 lines
2.3 KiB
Python

import gettext
import importlib
import os.path
import platform
import sys
from .version import __version__
from .version import __versionwithtag__
from .version import __majorversion__
from .version import __releaseversion__
from .version import __tier__
def _(txt):
translation = gettext.dgettext('keyman-config', txt)
if translation == txt:
translation = gettext.gettext(txt)
return translation
gettext.bindtextdomain('keyman-config', '/usr/share/locale')
gettext.textdomain('keyman-config')
if __tier__ == 'alpha':
# Alpha versions will work against the staging server so that they
# can access new APIs etc that will only be available there. The staging
# servers have resource constraints but should be okay for limited use.
KeymanComUrl = 'https://keyman-staging.com'
KeymanApiUrl = 'https://api.keyman-staging.com'
else:
KeymanComUrl = 'https://keyman.com'
KeymanApiUrl = 'https://api.keyman.com'
# There's no staging site for downloads
KeymanDownloadsUrl = 'https://downloads.keyman.com'
try:
# Try new sentry-sdk first
sentry_sdk = importlib.import_module('sentry_sdk')
from sentry_sdk import configure_scope
HaveSentryNewSdk = True
SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357@sentry.keyman.com/12"
sentry_sdk.init(
dsn=SentryUrl,
environment=__tier__,
release=__version__,
)
with configure_scope() as scope:
scope.set_tag("app", os.path.basename(sys.argv[0]))
scope.set_tag("platform", platform.platform())
scope.set_tag("system", platform.system())
except ImportError:
try:
# sentry-sdk is not available, so use older raven
raven = importlib.import_module('raven')
from raven import Client
HaveSentryNewSdk = False
SentryUrl = "https://1d0edbf2d0dc411b87119b6e92e2c357:e6d5a81ee6944fc79bd9f0cbb1f2c2a4@sentry.keyman.com/12"
client = Client(SentryUrl, environment=__tier__, release=__version__)
client.tags_context({
'app': os.path.basename(sys.argv[0]),
'platform': platform.platform(),
'system': platform.system(),
})
except ImportError:
# even raven is not available. This is the case on Ubuntu 16.04. Just ignore.
print(_('Neither sentry-sdk nor raven is available. Not enabling Sentry error reporting.'))