CoolFace
Apppublic

Shivaaaahdjdnd/code_analysis

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
test_batch.py85 linesDownload Raw Back to root
1import requests2import json3 4API_URL = "https://shivaaaahdjdnd-code-analysis.hf.space/api/batch-analysis"5 6# Batch request with 4 submissions7batch_data = {8    "submissions": [9        {10            "question": "Find two numbers that add up to target",11            "user_code": "def two_sum(nums, target):\n    for i in range(len(nums)):\n        for j in range(i+1, len(nums)):\n            if nums[i] + nums[j] == target:\n                return [i, j]\n    return []",12            "correct_solution": "def two_sum(nums, target):\n    seen = {}\n    for i, num in enumerate(nums):\n        if target - num in seen:\n            return [seen[target - num], i]\n        seen[num] = i\n    return []",13            "language": "python",14            "difficulty": "easy"15        },16        {17            "question": "Check if string is palindrome",18            "user_code": "def is_palindrome(s):\n    return s == s[::-1]",19            "correct_solution": "def is_palindrome(s):\n    s = s.lower().replace(' ', '')\n    return s == s[::-1]",20            "language": "python",21            "difficulty": "easy"22        },23        {24            "question": "Reverse a string",25            "user_code": "def reverse(s):\n    return s[::-1]",26            "correct_solution": "def reverse(s):\n    return s[::-1]",27            "language": "python",28            "difficulty": "easy"29        },30        {31            "question": "Find maximum in array",32            "user_code": "def find_max(arr):\n    max_val = arr[0]\n    for num in arr:\n        if num > max_val:\n            max_val = num\n    return max_val",33            "correct_solution": "def find_max(arr):\n    return max(arr)",34            "language": "python",35            "difficulty": "easy"36        }37    ]38}39 40print("=" * 70)41print("BATCH CODING ANALYSIS TEST")42print("=" * 70)43print(f"API: {API_URL}")44print(f"Submissions: {len(batch_data['submissions'])}")45print("=" * 70)46 47try:48    print("\nSending request... (may take 30-60 seconds for first request)")49    response = requests.post(API_URL, json=batch_data, timeout=120)50    result = response.json()51    52    print("\n" + "=" * 70)53    print("RESULTS")54    print("=" * 70)55    print(f"Status: {result['status']}")56    print(f"Total Submissions: {result['total_submissions']}")57    print(f"Average Score: {result['average_score']}/100")58    print("=" * 70)59    60    for submission in result['results']:61        print(f"\n[Submission #{submission['submission_id']}]")62        print(f"Question: {submission['question_title']}")63        print(f"Overall Score: {submission['overall_score']}/100")64        print(f"  - Correctness: {submission['analysis']['correctness']['score']}/40")65        print(f"  - Code Quality: {submission['analysis']['code_quality']['score']}/25")66        print(f"  - Efficiency: {submission['analysis']['efficiency']['score']}/20")67        print(f"  - Time Complexity: {submission['analysis']['efficiency']['time_complexity']}")68        print(f"  - AI Penalty: -{submission['analysis']['ai_detection']['penalty']}")69        print(f"  - Similarity Penalty: -{submission['analysis']['similarity']['penalty']}")70        71        if submission.get('recommendations'):72            print(f"  Recommendations:")73            for rec in submission['recommendations'][:3]:74                print(f"    * {rec}")75    76    print("\n" + "=" * 70)77    print("TEST COMPLETED SUCCESSFULLY!")78    print("=" * 70)79    80except requests.exceptions.Timeout:81    print("\nError: Request timed out. Space might be sleeping.")82    print("Try again in a few seconds or visit the space URL first.")83except Exception as e:84    print(f"\nError: {e}")85    print(f"Response: {response.text if 'response' in locals() else 'No response'}")