2019-09-03 03:22:38 +00:00
|
|
|
# coding=utf-8
|
|
|
|
|
2020-02-13 04:16:22 +00:00
|
|
|
import pickle
|
2019-09-03 03:22:38 +00:00
|
|
|
import random
|
|
|
|
import platform
|
|
|
|
import os
|
2019-12-03 04:54:31 +00:00
|
|
|
import logging
|
|
|
|
import codecs
|
2019-09-03 03:22:38 +00:00
|
|
|
|
2022-01-03 03:59:30 +00:00
|
|
|
from pyga.requests import Event, Tracker, Session, Visitor, Config
|
2019-09-03 03:22:38 +00:00
|
|
|
from pyga.entities import CustomVariable
|
|
|
|
|
2022-05-01 12:00:20 +00:00
|
|
|
from app.get_args import args
|
|
|
|
from app.config import settings
|
|
|
|
from radarr.info import get_radarr_info
|
|
|
|
from sonarr.info import get_sonarr_info
|
2019-09-03 03:22:38 +00:00
|
|
|
|
2021-08-04 19:29:37 +00:00
|
|
|
sonarr_version = get_sonarr_info.version()
|
|
|
|
radarr_version = get_radarr_info.version()
|
2019-09-03 03:22:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
def track_event(category=None, action=None, label=None):
|
|
|
|
if not settings.analytics.getboolean('enabled'):
|
|
|
|
return
|
|
|
|
|
|
|
|
anonymousConfig = Config()
|
|
|
|
anonymousConfig.anonimize_ip_address = True
|
|
|
|
|
|
|
|
tracker = Tracker('UA-138214134-3', 'none', conf=anonymousConfig)
|
|
|
|
|
|
|
|
try:
|
2021-01-31 13:39:10 +00:00
|
|
|
if os.path.isfile(os.path.normpath(os.path.join(args.config_dir, 'config', 'analytics.dat'))):
|
|
|
|
with open(os.path.normpath(os.path.join(args.config_dir, 'config', 'analytics.dat')), 'r') as handle:
|
|
|
|
visitor_text = handle.read()
|
|
|
|
visitor = pickle.loads(codecs.decode(visitor_text.encode(), "base64"))
|
2019-12-03 04:54:31 +00:00
|
|
|
if visitor.user_agent is None:
|
|
|
|
visitor.user_agent = os.environ.get("SZ_USER_AGENT")
|
|
|
|
if visitor.unique_id > int(0x7fffffff):
|
|
|
|
visitor.unique_id = random.randint(0, 0x7fffffff)
|
2020-06-16 18:33:39 +00:00
|
|
|
else:
|
|
|
|
visitor = Visitor()
|
|
|
|
visitor.unique_id = random.randint(0, 0x7fffffff)
|
2022-01-03 03:59:30 +00:00
|
|
|
except Exception:
|
2019-09-03 03:22:38 +00:00
|
|
|
visitor = Visitor()
|
2019-09-19 01:50:20 +00:00
|
|
|
visitor.unique_id = random.randint(0, 0x7fffffff)
|
2019-09-03 03:22:38 +00:00
|
|
|
|
|
|
|
session = Session()
|
|
|
|
event = Event(category=category, action=action, label=label, value=1)
|
|
|
|
|
2021-05-06 23:30:40 +00:00
|
|
|
tracker.add_custom_variable(CustomVariable(index=1, name='BazarrVersion',
|
|
|
|
value=os.environ["BAZARR_VERSION"].lstrip('v'), scope=1))
|
2019-09-03 03:22:38 +00:00
|
|
|
tracker.add_custom_variable(CustomVariable(index=2, name='PythonVersion', value=platform.python_version(), scope=1))
|
2019-09-04 11:29:37 +00:00
|
|
|
if settings.general.getboolean('use_sonarr'):
|
|
|
|
tracker.add_custom_variable(CustomVariable(index=3, name='SonarrVersion', value=sonarr_version, scope=1))
|
2019-11-29 04:08:12 +00:00
|
|
|
else:
|
|
|
|
tracker.add_custom_variable(CustomVariable(index=3, name='SonarrVersion', value='unused', scope=1))
|
2019-09-04 11:29:37 +00:00
|
|
|
if settings.general.getboolean('use_radarr'):
|
|
|
|
tracker.add_custom_variable(CustomVariable(index=4, name='RadarrVersion', value=radarr_version, scope=1))
|
2019-11-29 04:08:12 +00:00
|
|
|
else:
|
|
|
|
tracker.add_custom_variable(CustomVariable(index=4, name='RadarrVersion', value='unused', scope=1))
|
2019-09-03 03:22:38 +00:00
|
|
|
tracker.add_custom_variable(CustomVariable(index=5, name='OSVersion', value=platform.platform(), scope=1))
|
|
|
|
|
2019-09-05 00:48:10 +00:00
|
|
|
try:
|
|
|
|
tracker.track_event(event, session, visitor)
|
2022-01-03 03:59:30 +00:00
|
|
|
except Exception:
|
2019-12-03 04:54:31 +00:00
|
|
|
logging.debug("BAZARR unable to track event.")
|
2019-09-05 00:48:10 +00:00
|
|
|
pass
|
|
|
|
else:
|
2021-01-31 13:39:10 +00:00
|
|
|
with open(os.path.normpath(os.path.join(args.config_dir, 'config', 'analytics.dat')), 'w+') as handle:
|
|
|
|
handle.write(codecs.encode(pickle.dumps(visitor), "base64").decode())
|