-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
priority/mediumMedium priority - Important but not urgentMedium priority - Important but not urgenttype/sustainabilityTechnical debt and maintenanceTechnical debt and maintenance
Description
Problem
database.py is 1279 lines with 50+ methods - difficult to maintain and test.
Refactor Proposal
Split into focused modules:
wikiaccess/database/
βββ __init__.py
βββ connection.py # Database connection management
βββ schema.py # Schema creation and migrations
βββ pages.py # Page operations
βββ images.py # Image operations
βββ links.py # Link operations
βββ discovery.py # Discovery operations
βββ accessibility.py # Accessibility operations
βββ queries.py # Complex query builders
Benefits
- Easier to test in isolation
- Better code organization
- Easier to understand and modify
- Can use dependency injection
Tasks
- Create database/ subpackage
- Extract connection management
- Split page operations
- Split image operations
- Split link operations
- Split discovery operations
- Update imports throughout codebase
- Add integration tests
Metadata
Metadata
Assignees
Labels
priority/mediumMedium priority - Important but not urgentMedium priority - Important but not urgenttype/sustainabilityTechnical debt and maintenanceTechnical debt and maintenance