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
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
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:
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))
def get_youtube_user_channel_url(request): return Utility.get_site_url(request) + '/dataintegration/showyoutubechannel'
def get_youtube_callback_url(request): return Utility.get_site_url(request) + '/dataintegration/ytAuthCallback'
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))