def furkJsonRequest(method,
                    req,
                    args={},
                    returnStatus=False,
                    anon=False,
                    conn=False,
                    silent=False,
                    passVersions=False):
    if settings.getSetting("proxy") == 'true':
        http_proxy = settings.getSetting("proxyurl")
        https_proxy = settings.getSetting("proxyurl")
        proxyDict = {"http": http_proxy, "https": https_proxy}
    else:
        proxyDict = {}

    apikey = settings.getSetting('furk_apikey')
    req = 'https://www.furk.net/api/' + req
    req = req.replace("%%API_KEY%%", apikey)
    if method == 'POST':
        if not anon:
            args['username'] = username
            args['password'] = pwd
            args['hide_watchlisted'] = 'true'

        jdata = json.dumps(args)
        print(req)
        print(jdata)
        request = requests.post(req, data=jdata, proxies=proxyDict)
    elif method == 'GET':
        jdata = json.dumps(args)
        request = requests.post(req, params=jdata, proxies=proxyDict)
        #print(req)
        #print("trakt json url: "+req)
    #conn.go()

    #print request.json()
    try:
        data = request.json()
    except:
        data = None
    if data == None:
        return None
    if 'status' in data:
        if data['status'] == 'error':
            print("traktQuery: Error: " + str(data['error']))
            if returnStatus:
                return data
            if not silent: print("Furk Library", str(data['error']))  # Error
        #login(settings.getSetting('furk_login'),settings.getSetting('furk_password'))
        return data

    return data
def furkJsonRequest(method, req, args={}, returnStatus=False, anon=False, conn=False, silent=False, passVersions=False):
    if settings.getSetting("proxy") == 'true':
        http_proxy = settings.getSetting("proxyurl")
        https_proxy = settings.getSetting("proxyurl")
        proxyDict = {
              "http"  : http_proxy,
              "https" : https_proxy
            }
    else:
        proxyDict = {}

    apikey = settings.getSetting('furk_apikey')
    req = 'https://www.furk.net/api/' + req
    req = req.replace("%%API_KEY%%",apikey)
    if method == 'POST':
            if not anon:
                args['username'] = username
                args['password'] = pwd
                args['hide_watchlisted']= 'true'

            jdata = json.dumps(args)
            print(req)
            print(jdata)
            request = requests.post(req, data=jdata , proxies=proxyDict)
    elif method == 'GET':
            jdata = json.dumps(args)
            request = requests.post(req, params=jdata , proxies=proxyDict)
            #print(req)
            #print("trakt json url: "+req)
    #conn.go()

    #print request.json()
    try:
       data = request.json()
    except:
       data = None
    if data == None:
       return None
    if 'status' in data:
        if data['status'] == 'error':
            print("traktQuery: Error: " + str(data['error']))
            if returnStatus:
                return data
            if not silent: print ("Furk Library", str(data['error'])) # Error
        #login(settings.getSetting('furk_login'),settings.getSetting('furk_password'))
        return data

    return data
def traktJsonRequest(method,
                     req,
                     args={},
                     returnStatus=False,
                     anon=False,
                     conn=False,
                     silent=False,
                     passVersions=False):
    if settings.getSetting("proxy") == 'true':
        http_proxy = settings.getSetting("proxyurl")
        https_proxy = settings.getSetting("proxyurl")
        proxyDict = {"http": http_proxy, "https": https_proxy}
    else:
        proxyDict = {}
    req = 'http://api.trakt.tv' + req
    req = req.replace("%%API_KEY%%", apikey)
    req = req.replace("%%USERNAME%%", settings.getSetting('trakt_login'))
    print req
    if method == 'POST':
        if not anon:
            args['username'] = settings.getSetting('trakt_login')
            args['password'] = settings.getSetting('trakt_password')
        if passVersions:
            args['plugin_version'] = __settings__.getAddonInfo("version")
            args['media_center'] = 'xbmc'
            args['media_center_version'] = xbmc.getInfoLabel(
                "system.buildversion")
            args['media_center_date'] = xbmc.getInfoLabel("system.builddate")
        jdata = json.dumps(args)
        # print(req)
        # print(jdata)
        request = requests.post(req, data=jdata, proxies=proxyDict)

    elif method == 'GET':
        args['username'] = settings.getSetting('trakt_login')
        args['password'] = settings.getSetting('trakt_password')
        request = requests.get(req, params=args, proxies=proxyDict)
        print request.encoding

    print 'Response: ' + request.content
    #data = response.json()
    try:
        #response = conn.getresponse()
        data = request.json()

    except:
        return None

    if 'status' in data:
        if data['status'] == 'failure':
            print("traktQuery: Error: " + str(data['error']))
            if returnStatus:
                return data
            return None

    return data
def traktJsonRequest(method, req, args={}, returnStatus=False, anon=False, conn=False, silent=False, passVersions=False):
	if settings.getSetting("proxy") == 'true':
		http_proxy = settings.getSetting("proxyurl")
		https_proxy = settings.getSetting("proxyurl")
		proxyDict = {
              "http"  : http_proxy,
              "https" : https_proxy
            }
	else:
		proxyDict = {}
	req = 'http://api.trakt.tv' + req
	req = req.replace("%%API_KEY%%", apikey)
	req = req.replace("%%USERNAME%%", settings.getSetting('trakt_login'))
	print req
	if method == 'POST':
            if not anon:
                args['username'] = settings.getSetting('trakt_login')
                args['password'] = settings.getSetting('trakt_password')
            if passVersions:
                args['plugin_version'] = __settings__.getAddonInfo("version")
                args['media_center'] = 'xbmc'
                args['media_center_version'] = xbmc.getInfoLabel("system.buildversion")
                args['media_center_date'	] = xbmc.getInfoLabel("system.builddate")
            jdata = json.dumps(args)
            # print(req)
            # print(jdata)
            request = requests.post(req, data=jdata , proxies=proxyDict)

	elif method == 'GET':
            args['username'] = settings.getSetting('trakt_login')
            args['password'] = settings.getSetting('trakt_password')
            request = requests.get(req, params=args, proxies=proxyDict)
            print request.encoding

	print 'Response: ' + request.content
	#data = response.json()
	try:
		#response = conn.getresponse()
		data = request.json()


	except:
		return None

	if 'status' in data:
		if data['status'] == 'failure':
			print("traktQuery: Error: " + str(data['error']))
			if returnStatus:
				return data
			return None

	return data