Commit Graph

3 Commits

Author SHA1 Message Date
yusyus
58286f454a fix: Handle symlinked README.md and CHANGELOG.md in GitHub scraper
- Add _get_file_content() helper method to detect and follow symlinks
- Update _extract_readme() to use new helper
- Update _extract_changelog() to use new helper
- Add 7 comprehensive tests for symlink handling
- All 29 GitHub scraper tests passing

Fixes #225

When README.md or CHANGELOG.md are symlinks (like in vercel/ai repo),
PyGithub returns ContentFile with type='symlink' and encoding=None.
Direct access to decoded_content throws AssertionError.

Solution: Detect symlink type, follow target path, then decode actual file.
Handles edge cases: broken symlinks, missing targets, encoding errors.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-01 20:41:28 +03:00
yusyus
50e0bfd19b fix: Update test file imports to use proper package paths
Fixed import errors in test_pdf_scraper.py and test_github_scraper.py:
- Replaced absolute imports with proper package imports
- Changed 'from pdf_scraper import' to 'from skill_seekers.cli.pdf_scraper import'
- Changed 'from github_scraper import' to 'from skill_seekers.cli.github_scraper import'
- Updated all @patch() decorators to use full module paths
- Removed sys.path manipulation workarounds

This completes the fix for import issues discovered during Task 1.2 (Issue #193).

Test Results:
- test_pdf_scraper.py: 18/18 passed 
- test_github_scraper.py: 22/22 passed 
2025-11-29 21:55:46 +03:00
yusyus
53d01910f9 test: Add comprehensive test suite for GitHub scraper (22 tests)
Tests cover all C1 tasks:
- GitHubScraper initialization and authentication (5 tests)
- README extraction (C1.2) (3 tests)
- Language detection (C1.4) (2 tests)
- GitHub Issues extraction (C1.7) (3 tests)
- CHANGELOG extraction (C1.8) (3 tests)
- GitHub Releases extraction (C1.9) (2 tests)
- GitHubToSkillConverter and skill building (C1.10) (2 tests)
- Error handling and edge cases (2 tests)

All tests passing: 22/22 

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 14:30:57 +03:00