DepressionCenter / DepressionCenter/extractium
Guided setup for the other source types and outputs
- Dominant language
- Python
- Stars
- 1
- Forks
- 1
- Avg merge
- 1h 47m
- Merged PRs (30d)
- 46
Description
`extractium init` asks three questions and writes a settings file with one website to crawl. That is deliberate: the other source types each need something a person may not have ready (a YouTube channel has to be built on a local machine and its captions committed, a DSpace repository needs an interface address that is not guessable, a GitHub organization may want a token), and a first run should not become a reading assignment.
This issue is for the next step, once there is demand for it:
- A closing question in `init`, "Add more sources now?", defaulting to no. Answering yes asks one source type at a time (GitHub, YouTube, DSpace, a local folder) with the one or two values that type needs, writes the entry, and puts the type's caveat as a comment above it. The person can stop after any source.
- The same for outputs: SQLite and the Open Knowledge Format folder are one flag each.
- A friendlier way to do a full setup than a sequence of terminal questions: a console wizard with menus, or a small local web page that writes `config.yaml`. Either would be a thin layer over the same `init` module, so the terminal version stays the reference.
Whatever shape it takes, it must keep writing values through the YAML library so a typed value cannot become a setting, keep every credential out of the file, and keep refusing to replace an existing file without `--force`.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the existing `init` module and tracing how it writes `config.yaml` through the YAML library. Compare the proposed source and output flows with the existing terminal questions, then choose and scope the wizard approach. Done means optional sources and outputs can be added incrementally while preserving typed YAML values, credential handling, and `--force` refusal behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100