예제 #1
0
def loadClasses(username, password):
    user_data = plugin.get_storage(username, file_format='json')

    cookies_raw = user_data.get('cookies')

    did_login = False
    if cookies_raw is None:
        plugin.log.info("Logging in")
        cookies_raw = login(username, password)
        user_data['cookies'] = cookies_raw
        did_login = True
    else:
        plugin.log.debug("Loading data from store")


#	plugin.log.debug("Cookies:\n%s" % '\n'.join([str(x) for x in cookies_raw]))

    opener = getOpenerFromRawCookies(cookies_raw=cookies_raw)

    try:
        classes = getClasses(opener)
    except urllib2.HTTPError, ex:
        if ex.code not in [403, 401]:
            raise ex

        if did_login:
            raise ex

        plugin.log.info("Maybe cookies is old? Logging in")
        cookies_raw = login(username, password)
        user_data['cookies'] = cookies_raw

        opener = getOpenerFromRawCookies(cookies_raw=cookies_raw)
        classes = getClasses(opener)
예제 #2
0
def loadClasses(username, password):
	user_data = plugin.get_storage(username, file_format='json')
	
	cookies_raw = user_data.get('cookies')
	
	did_login = False
	if cookies_raw is None:
		plugin.log.info("Logging in")
		cookies_raw = login(username, password)
		user_data['cookies'] = cookies_raw
		did_login = True
	else:
		plugin.log.debug("Loading data from store")

#	plugin.log.debug("Cookies:\n%s" % '\n'.join([str(x) for x in cookies_raw]))
	
	opener = getOpenerFromRawCookies(cookies_raw=cookies_raw)
	
	try:
		classes = getClasses(opener)
	except urllib2.HTTPError, ex:
		if ex.code != 403:
			raise ex
		
		if did_login:
			raise ex
		
		plugin.log.info("Maybe cookies is old? Logging in")
		cookies_raw = login(username, password)
		user_data['cookies'] = cookies_raw

		opener = getOpenerFromRawCookies(cookies_raw=cookies_raw)
		classes = getClasses(opener)
예제 #3
0
def getClassCookies(className, username, password):
	user_data = plugin.get_storage(username, file_format='json')
	if user_data is None:
		return None
	
	cookies_raw = user_data.get('cookies')
	if cookies_raw is None:
		external_id, public_id, cookies_raw = login(username, password)
		if cookies_raw is None:
			return None
		user_data['cookies'] = cookies_raw
		user_data['external_id'] = external_id
		user_data['public_id'] = public_id

	cj = loadSavedCookies(cookies_raw=cookies_raw)
	
	opener = getOpener(cj=cj)
	
	plugin.log.debug("Logging in to class: %s" % className)
	logged_in = login_to_class(className, opener, username, password)
	
	if logged_in == False:
		return None
	
	CSRFT_TOKEN_COOKIE_NAME = "csrf_token"
	cj.clear(domain="class.coursera.org", path="/%s" % className, name=CSRFT_TOKEN_COOKIE_NAME)
	#cj.clear(domain="class.coursera.org", path="/%s" % className, name="session")
	cj.clear(domain="www.coursera.org", path="/" , name="maestro_login")
	cj.clear(domain="www.coursera.org", path="/" , name="sessionid")
	
	return saveCJ(cj)
예제 #4
0
def getClassCookies(className, username, password):
    user_data = plugin.get_storage(username, file_format='json')
    if user_data is None:
        return None

    cookies_raw = user_data.get('cookies')
    if cookies_raw is None:
        cookies_raw = login(username, password)
        if cookies_raw is None:
            return None
        user_data['cookies'] = cookies_raw

    cj = loadSavedCookies(cookies_raw=cookies_raw)

    opener = getOpener(cj=cj)

    plugin.log.debug("Logging in to class: %s" % className)
    logged_in = login_to_class(className, opener, username, password)

    if logged_in == False:
        return None

    CSRFT_TOKEN_COOKIE_NAME = "csrf_token"
    cj.clear(domain="class.coursera.org",
             path="/%s" % className,
             name=CSRFT_TOKEN_COOKIE_NAME)
    #cj.clear(domain="class.coursera.org", path="/%s" % className, name="session")
    # 	cj.clear(domain="www.coursera.org", path="/" , name="maestro_login")
    # 	cj.clear(domain="www.coursera.org", path="/" , name="sessionid")

    return saveCJ(cj)
예제 #5
0
def getMyDamnCookies(username, password):
    user_data = plugin.get_storage(username, file_format='json')

    cookies_raw = user_data.get('cookies')

    if cookies_raw is None:
        plugin.log.info("Logging in")
        external_id, public_id, cookies_raw = login(username, password)
        user_data['cookies'] = cookies_raw

    return cookies_raw
예제 #6
0
def loadClasses(username, password):
    user_data = plugin.get_storage(username, file_format='json')

    cookies_raw = user_data.get('cookies')
    external_id = user_data.get('external_id')
    public_id = user_data.get('public_id')

    did_login = False
    if cookies_raw is None or external_id is None or public_id is None:
        plugin.log.info("Logging in")
        external_id, public_id, cookies_raw = login(username, password)
        user_data['cookies'] = cookies_raw
        user_data['external_id'] = external_id
        user_data['public_id'] = public_id
        did_login = True
    else:
        plugin.log.debug("Loading data from store")

    plugin.log.debug("external_id=%s, public_id=%s" % (external_id, public_id))
    #	plugin.log.debug("Cookies:\n%s" % '\n'.join([str(x) for x in cookies_raw]))

    opener = getOpenerFromRawCookies(cookies_raw=cookies_raw)

    try:
        classes = getClasses(public_id, opener)
    except urllib2.HTTPError, ex:
        if ex.code != 403:
            raise ex

        if did_login:
            raise ex

        plugin.log.info("Maybe cookies is old? Logging in")
        external_id, public_id, cookies_raw = login(username, password)
        user_data['cookies'] = cookies_raw
        user_data['external_id'] = external_id
        user_data['public_id'] = public_id

        opener = getOpenerFromRawCookies(cookies_raw=cookies_raw)
        classes = getClasses(public_id, opener)