Example #1
0
    def filter_result(self, statement_list, xapi_filters):
        # When statement ID is used as a filter, return as it is
        if xapi_filters.statement_id:
            return statement_list

        new_list = []
        for stmt in statement_list:

            if xapi_filters.platform and stmt['context'][
                    'platform'] != xapi_filters.platform:
                continue

            if xapi_filters.course:
                if stmt['context']['contextActivities']['grouping'][0][
                        'definition']['name']['en-US'] != xapi_filters.course:
                    continue

            if xapi_filters.since:
                timestamp = Utility.convert_to_datetime_object(
                    stmt['timestamp'])
                if timestamp.tzinfo is None:
                    # When timezone info is None, an error will occur (can't subtract offset-naive and offset-aware datetimes)
                    # Add temporary timezone to avoid the error
                    timestamp = Utility.convert_to_datetime_object(
                        stmt['timestamp'] + '+00:00')

                # Create a valid ISO8601 timestamp (e.g. 2017-07-16T19:20:30+01:00),
                # or LRS will reject other timestamp formats
                # Start time is set to 00:00:00 to retrieve all data on the start day
                since = Utility.convert_to_datetime_object(xapi_filters.since +
                                                           'T00:00:00+00:00')
                if timestamp < since:
                    continue

            if xapi_filters.until:
                timestamp = Utility.convert_to_datetime_object(
                    stmt['timestamp'])
                if timestamp.tzinfo is None:
                    # When timezone info is None, an error will occur (can't subtract offset-naive and offset-aware datetimes)
                    # Add temporary timezone to avoid the error
                    timestamp = Utility.convert_to_datetime_object(
                        stmt['timestamp'] + '+00:00')

                # Create a valid ISO8601 timestamp (e.g. 2017-07-16T19:20:30+01:00),
                # or LRS will reject other timestamp formats
                # End time is set to 23:59:59 to retrieve all data on the end day
                until = Utility.convert_to_datetime_object(xapi_filters.until +
                                                           'T23:59:59+00:00')
                if timestamp > until:
                    continue

            # If the statement matches all conditions, it's added to a new list
            new_list.append(stmt)

        return new_list
Example #2
0
	def filter_result(self, statement_list, xapi_filters):
		# When statement ID is used as a filter, return as it is
		if xapi_filters.statement_id:
			return statement_list

		new_list = []
		for stmt in statement_list:

			if xapi_filters.platform and stmt['context']['platform'] != xapi_filters.platform:
				continue

			if xapi_filters.course:
				if stmt['context']['contextActivities']['grouping'][0]['definition']['name']['en-US'] != xapi_filters.course:
					continue

			if xapi_filters.since:
				timestamp = Utility.convert_to_datetime_object(stmt['timestamp'])
				if timestamp.tzinfo is None:
					# When timezone info is None, an error will occur (can't subtract offset-naive and offset-aware datetimes)
					# Add temporary timezone to avoid the error
					timestamp = Utility.convert_to_datetime_object(stmt['timestamp'] + '+00:00')
					
				# Create a valid ISO8601 timestamp (e.g. 2017-07-16T19:20:30+01:00), 
				# or LRS will reject other timestamp formats
				# Start time is set to 00:00:00 to retrieve all data on the start day
				since = Utility.convert_to_datetime_object(xapi_filters.since + 'T00:00:00+00:00')
				if timestamp < since:
					continue

			if xapi_filters.until:
				timestamp = Utility.convert_to_datetime_object(stmt['timestamp'])
				if timestamp.tzinfo is None:
					# When timezone info is None, an error will occur (can't subtract offset-naive and offset-aware datetimes)
					# Add temporary timezone to avoid the error
					timestamp = Utility.convert_to_datetime_object(stmt['timestamp'] + '+00:00')
				
				# Create a valid ISO8601 timestamp (e.g. 2017-07-16T19:20:30+01:00), 
				# or LRS will reject other timestamp formats
				# End time is set to 23:59:59 to retrieve all data on the end day
				until = Utility.convert_to_datetime_object(xapi_filters.until + 'T23:59:59+00:00')
				if timestamp > until:
					continue

			# If the statement matches all conditions, it's added to a new list
			new_list.append(stmt)

		return new_list
Example #3
0
import paramunittest
import urllib.parse
import time

# 导入相应的方法
from testFile.geturlParams import geturlParams
from testFile.readConfig import ReadConfig
from testFile.readExcel import readExcel
from common.configHttp import RunMain
from common.util import Utility
from common.configDB import DB

# 实例化参数
readconfig = ReadConfig()
addProjectAudit_xls = readExcel().get_xls('userCase.xlsx', 'addProjectAudit')
util = Utility()
db = DB()
# 准备数据
# del_sql = "delete from m_project_member where p_id=673 and user_id=15"
# query_sql = "select * from m_project_member where p_id=673 and user_id=15"
file = "../testFile/sqlFile/m_project_member"
f = open(file, "r")
read_data = f.readlines()
@paramunittest.parametrized(*addProjectAudit_xls)
class addProjectAudit(unittest.TestCase):
    # 实例化Excel表中的数据
    def setParameters(self, case_no, case_name, path, parameter, method, expect_result, expect_content):
        """
               :param case_no:
               :param case_name:
               :param parameter:
Example #4
0
def get_lrs_access_token(request):
    provider_id = request.GET.get('provider_id')
    auth = LRS_Auth(provider_id = provider_id, callback = Utility.get_site_url(request))
    return HttpResponseRedirect(auth.authenticate(request.user.id))
Example #5
0
def get_youtube_user_channel_url(request):
    return Utility.get_site_url(request) + '/dataintegration/showyoutubechannel'
Example #6
0
def get_youtube_callback_url(request):
    return Utility.get_site_url(request) + '/dataintegration/ytAuthCallback'
Example #7
0
def get_lrs_access_token(request):
    provider_id = request.GET.get('provider_id')
    auth = LRS_Auth(provider_id=provider_id,
                    callback=Utility.get_site_url(request))
    return HttpResponseRedirect(auth.authenticate(request.user.id))