Example #1
0
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):
Example #3
0
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
Example #4
0
 def test_get_addon_id(self):
     addon_id = utils.get_addon_id()
     self.assertEqual('test.addon', addon_id)
Example #5
0
def is_supported_addon():
    if utils.get_addon_id() in get_org_repos():
        return True