def generate_report(title, log_url=None, trace=None, connection_info={}): """Build our formatted GitHub issue string""" try: # os.uname() is not available on Windows uname = platform.uname() os_string = ' (%s %s %s)' % (uname[0], uname[2], uname[4]) except AttributeError: os_string = '' content = [ "*Automatic bug report from end-user.*", "\n## Environment\n", "**Add-on Name:** %s" % utils.get_addon_name(), "**Add-on ID:** %s" % utils.get_addon_id(), "**Add-on Version:** %s" % utils.get_addon_version(), "**Add-on URL:** %s" % sys.argv[2], "**Kodi Version:** %s" % utils.get_kodi_version(), "**Python Version:** %s" % sys.version.replace('\n', ''), "**IP Address:** %s" % connection_info.get('ip', 'N/A'), "**Hostname:** %s" % connection_info.get('hostname', 'N/A'), "**Country:** %s" % connection_info.get('country', 'N/A'), "**ISP:** %s" % connection_info.get('org', 'N/A'), "**Operating System:** %s %s" % (sys.platform, os_string), "**Platform:** %s" % utils.get_platform(), "**Python Path:**\n```\n%s\n```" % '\n'.join(sys.path), ] if trace: content.append("\n## Traceback\n```\n%s\n```" % trace) if log_url: content.append("\n[Full log](%s)" % log_url) short_id = utils.get_addon_id().split('.')[-1] title = '[%s] %s' % (short_id, title) # Github throws HTTP 422 if title is too long report = { 'title': title[:255], 'body': '\n'.join(content) } return report
import urllib import xbmcaddon import xbmcgui import telstra_auth from aussieaddonscommon.exceptions import AussieAddonsException from aussieaddonscommon import session from aussieaddonscommon import utils try: import StorageServer except ImportError: import storageserverdummy as StorageServer cache = StorageServer.StorageServer(utils.get_addon_id(), 1) addon = xbmcaddon.Addon() subscription_type = int(addon.getSetting('SUBSCRIPTION_TYPE')) sess = session.Session() def clear_token(): """Remove stored token from cache storage""" try: cache.delete('AFLTOKEN') utils.dialog_message('Login token removed') except AttributeError: pass def fetch_session_id(url, data):
import requests import threading import time import urllib from aussieaddonscommon import exceptions from aussieaddonscommon import session from aussieaddonscommon import utils try: import StorageServer except ImportError: utils.log('script.common.plugin.cache not found!') import storageserverdummy as StorageServer cache = StorageServer.StorageServer(utils.get_addon_id(), 1) def fetch_url(url, headers=None): """Simple function that fetches a URL using requests.""" with session.Session() as sess: if headers: sess.headers.update(headers) request = sess.get(url) try: request.raise_for_status() except Exception as e: # Just re-raise for now raise e data = request.text return data
def test_get_addon_id(self): addon_id = utils.get_addon_id() self.assertEqual('test.addon', addon_id)
def is_supported_addon(): if utils.get_addon_id() in get_org_repos(): return True