Pursottam
Add scripts for fetching and downloading questions from API
958e3df
|
Raw
History Blame Contribute Delete
1.89 kB
# Scripts Directory
This directory contains utility scripts for the AI Agents Final Assignment.
## fetch_questions.py
A script to fetch all questions from the API and store them in JSON format.
### Features
- Fetches all questions from the default API endpoint
- Stores questions in JSON format with metadata
- Creates timestamped files for version tracking
- Maintains a `questions_latest.json` file with the most recent fetch
- Displays sample questions for verification
- Handles errors gracefully
### Usage
```bash
# Run from the project root directory
python3 scripts/fetch_questions.py
```
### Output
The script creates JSON files in the `data/` directory:
- `questions_YYYYMMDD_HHMMSS.json` - Timestamped version
- `questions_latest.json` - Always contains the most recent fetch
### JSON Structure
```json
{
"metadata": {
"fetch_timestamp": "2026-02-18T06:57:43.123456",
"api_url": "https://agents-course-unit4-scoring.hf.space",
"total_questions": 20
},
"questions": [
{
"task_id": "unique-task-id",
"question": "The question text...",
"Level": "1",
"file_name": "optional-file.png"
}
]
}
```
### Question Properties
Each question object contains:
- **task_id**: Unique identifier for the question
- **question**: The question text
- **Level**: Difficulty level (e.g., "1")
- **file_name**: Associated file (if any) - could be images (.png), audio (.mp3), Python files (.py), or Excel files (.xlsx)
### API Configuration
The script uses the following API configuration:
- **Base URL**: `https://agents-course-unit4-scoring.hf.space`
- **Endpoint**: `/questions`
- **Method**: GET
- **Response Format**: JSON (application/json)
### Error Handling
The script handles:
- Network errors
- JSON decoding errors
- Empty responses
- File system errors
All errors are logged to the console with descriptive messages.