Skip to content

Conversation

@Najeeb-Shams
Copy link
Collaborator

Refactor ORCID Source Module to BaseSource Pattern

Summary

Refactor sources/orcid.py to follow the BaseSource architecture pattern

Changes

  • Created ORCID class inheriting from BaseSource
  • Implemented fetch(), extract_hits(), map_hit(), search() methods
  • Added type hints and docstrings
  • Removed unused code (get_orcid_access_token(), old_search())
  • Preserved module-level search() for backward compatibility

Functionality

All existing functionality preserved - no breaking changes.

Testing

Verify ORCID search returns Author objects in results['researchers'] with expected fields populated.

Refactor orcid.py to match the architecture of base.py and core.py by
implementing the BaseSource abstract class pattern.

- Create ORCID class with fetch(), extract_hits(), map_hit(), search() methods
- Add type hints and docstrings
- Remove unused code (get_orcid_access_token, old_search)
- Preserve module-level search() for backward compatibility

All functionality preserved. No breaking changes.
@Najeeb-Shams Najeeb-Shams requested a review from huntila December 23, 2025 15:05
I want to delete this file because it was committed unintentionally and was not ignored by .gitignore
Copy link
Collaborator

@DavidBlavid DavidBlavid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@huntila huntila merged commit e445a8c into develop Jan 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants