DepressionCenter / DepressionCenter/extractium

Guided setup for the other source types and outputs

Open
#42 0 comments 0 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.