Docs for strangers: real quick start, own-shelves guide, clone-safe stub guard
README rewritten for a fresh clone: working status, quick start with env-var table and per-stage commands, photo-taking guidance, a bring-your-own-shelves section (this repo carries the author's live data), tokenless workflows, and a dev section. New committed data/STUB_DATA.marker closes a real gap: the cache marker is gitignored, so a fresh clone had stub-derived to_add.csv with no guard — upload now refuses on either marker. Username docs: BGG_USERNAME in .env is the one place it's needed; config.toml is a fallback. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -290,3 +290,13 @@ def test_verify_checks_version_on_adds_and_updates():
|
||||
def test_verify_ignores_failed_rows():
|
||||
log = [_log_row(action="add", bgg_id="5", status="failed")]
|
||||
assert verify_uploads(log, []) == []
|
||||
|
||||
|
||||
def test_fresh_clone_marker_blocks_upload_without_cache_dir(tmp_path):
|
||||
# A fresh clone has the committed data/STUB_DATA.marker but no
|
||||
# gitignored bgg_cache/ at all — upload must still refuse.
|
||||
cfg = _cfg(tmp_path)
|
||||
(tmp_path / "STUB_DATA.marker").write_text("stub-derived CSVs")
|
||||
_seed_data(tmp_path, to_add=[_add_row()])
|
||||
with pytest.raises(typer.Exit):
|
||||
run_upload(cfg, uploader=FakeUploader(), sleep=lambda s: None, now=NOW)
|
||||
|
||||
Reference in New Issue
Block a user