content: # -*- coding: utf-8 -*-
  import os
  from ffsubsync.constants import SUBSYNC_RESOURCES_ENV_MAGIC
  from ffsubsync._version import get_versions
  
  __version__ = get_versions()["version"]
  del get_versions
  
  
  def get_version():
      if "unknown" in __version__.lower():
          with open(
              os.path.join(os.environ[SUBSYNC_RESOURCES_ENV_MAGIC], "__version__")
          ) as f:
              return f.read().strip()
      else:
          return __version__
  
  
  def make_version_tuple(vstr=None):
      if vstr is None:
          vstr = __version__
      if vstr[0] == "v":
          vstr = vstr[1:]
      components = []
      for component in vstr.split("+")[0].split("."):
          try:
              components.append(int(component))
          except ValueError:
              break
      return tuple(components)
  
  
  def update_available():
      import requests
      from requests.exceptions import Timeout
      from .constants import API_RELEASE_URL
  
      try:
          resp = requests.get(API_RELEASE_URL, timeout=1)
          latest_vstr = resp.json()["tag_name"]
      except Timeout:
          return False
      except KeyError:
          return False
      if not resp.ok:
          return False
      return make_version_tuple(get_version()) < make_version_tuple(latest_vstr)
  