In the last session, we:
- [x] Created and run a Python package command
- [x] Created and modify a dictionary data structure
- [x] Used an external library to read BibTeX records (as dicts)
In this session (2x90 min), we will:
- [ ] Refactor to object-oriented code
- [ ] Switch to a real CoLRev project and load the records using the CoLRev classes
- [ ] Save changes and create commit
Important: try to program using objects (instead of procedural programming)
if record["journal"] == "MIS Quarterly":
KeyError: 'journal'
-> if statement (better: if "jounal" not in record: return)
Notice: when creating the run() method, the jif_labeler_instance switches to "self".
go to API reference
navigate through the classes / dataset
-> switch to review_manager ()
run the pre-commit hooks a few times to illustrate the typing information
TBD:
- search: run an api-search example, examine the commit message (settings changed! -> reference implementation)
-> we add a query -> docs: interface definitions: searchsource.add_endpoint(), run_search()
-> see interfaces (standardized function parameters/names)
- where to find the built_in reference implementation (docs/architecture and directories), how to add/remove in the settings
-> see package_endpoint definitions (package_manager, docs)
continue: prep/validation
continue to data: show advice?
later: show debugging
add resources on learning/practicing Python (introductory, advanced)
check:
Pair-programming
which CoLRev-objects or libraries will be needed, which steps are required
- Create a fork for the team, give access to team members, and add a note to the issue feed
- All team members: clone the fork (using `git clone git@github.com:CoLRev-Environment/colrev.git`)
- Check the resources provided with the issue, discuss the project, and make plans