コード例 #1
0
ファイル: views.py プロジェクト: yanyang-xie/VEX-Test-UI
def insert_test_result(request):
    if request.method == 'POST':
        logger.debug("insert load test request with body:" + request.body)
        data = request.POST if request.POST else convert_request_body_to_form_validation(request.body)
        test_date = get_current_day_start_date() if data['test_date'] is None else get_current_day_start_date(data['test_date'])
        
        try:
            exist_test_result = get_object_or_404(LoadTestResult, test_date=test_date, test_type=data['test_type'], test_version=data['test_version'])
            logger.info("Test result for %s[%s][%s] is existed, just update it", data['test_type'], data['test_version'], test_date)
            
            exist_test_result.test_result_bitrate = data['test_result_bitrate']
            exist_test_result.test_result_error = data['test_result_error']
            exist_test_result.test_result_index = data['test_result_index']
            exist_test_result.save()
            return HttpResponse("Test result has been updated.")
        except:
            # 这里没有验证。如果需要验证,可以采用form验证的方式
            result = LoadTestResult()
            result.test_type = data['test_type']
            result.test_version = data['test_version']
            result.test_date = test_date
            result.test_result_index = data['test_result_index']
            result.test_result_bitrate = data['test_result_bitrate']
            result.test_result_error = data['test_result_error']
            result.save()
            return HttpResponse("Test result has been saved.")
    else:   
        return HttpResponse("Must be post with XML body", status=400)
コード例 #2
0
ファイル: froms.py プロジェクト: yanyang-xie/VEX-Test-UI
    def save(self, commit=True):
        test_result = super(VexLoadTestInsertionForm, self).save(commit=False)
        if commit:
            try:
                # self.instance可以获得clean后的数据。也可以通过self.clean_data获取数据
                current_date = (
                    get_current_day_start_date()
                    if self.instance.test_date is None
                    else get_current_day_start_date(self.instance.test_date)
                )
                exist_test_result = get_object_or_404(
                    LoadTestResult,
                    test_date=current_date,
                    test_type=test_result.test_type,
                    test_version=test_result.test_version,
                )
                logger.info(
                    "Test result for %s[%s][%s] is existed, just update it",
                    test_result.test_type,
                    test_result.test_version,
                    current_date,
                )

                exist_test_result.test_result_index = self.instance.test_result_index
                exist_test_result.test_result_bitrate = self.instance.test_result_bitrate
                exist_test_result.test_result_error = self.instance.test_result_error
                exist_test_result.save()
                # self.instance.
            except Http404:
                logger.debug(
                    "Test result for %s[%s][%s] is not existed, save it",
                    test_result.test_type,
                    test_result.test_version,
                    current_date,
                )
                test_result.save()
            except Exception, e:
                logger.error(e)