wrolpi/wrolpi
Roland 68880463eb
repos: write sanitized git configs directly; one place formats a Repo's directory
* The sanitized config is written as INI by WROLPi (values quoted), so
  no kept value is ever passed to `git config` as an argument.
* origin's url and fetch refspec are set with --replace-all (a planted
  duplicate made `git config key value` fail), in both modes.
* format_repo_destination formats a Repo's directory from its name, Tag,
  owner and host, so a directory can be known before the Repo exists
  (Import shows it); Collection.format_destination uses it for repos.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 17:59:32 -06:00
..
blobs zim: ship a default fallback Zim and honor the configured Zim directory 2026-07-20 19:09:57 -06:00
collections repos: write sanitized git configs directly; one place formats a Repo's directory 2026-10-06 17:59:32 -06:00
files Save playlists config when a playlist's file is renamed or moved (#781) 2026-10-05 15:03:45 -06:00
scripts zim: address PR review — config race, YAML null, path traversal, pinned build 2026-07-20 19:10:09 -06:00
static/extensions Bump extension to v0.2.4 2026-06-01 19:23:39 -06:00
test tests: bookmark config import tests set up the app's shared context 2026-10-06 17:31:36 -06:00
__init__.py Removing WROLPi admin functionality that is now in Controller. 2025-12-19 18:41:27 -07:00
api_utils.py db: serializers read only loaded data (#777) 2026-10-04 18:28:08 -06:00
bookmarks.py Bookmarks: a nav menu of user links, stored in bookmarks.yaml (#729) 2026-09-26 13:11:36 -06:00
bookmarks_api.py Bookmarks: a nav menu of user links, stored in bookmarks.yaml (#729) 2026-09-26 13:11:36 -06:00
captions.py videos: address review — atomic caption write + strict YouTube host gate 2026-07-16 18:51:51 -06:00
cmd.py Add a Repos module that mirrors git repositories (backend) 2026-10-06 16:56:09 -06:00
common.py repos: ignore the repos destination's own directory, and validate it 2026-10-06 17:45:05 -06:00
config_api.py Fixing bug where configs could be overwritten with empty configs on first refresh. Fixing bug where configs were displayed as JSON in admin settings. 2026-03-22 12:56:37 -06:00
config_schema.py Backup configs can be restored in the UI. User can choose between Merge or Overwrite, the UI displays a comparison. Configs are compared when user opens the restore modal, configs which won't cause changes are marked. 2026-03-10 20:30:46 -06:00
conftest.py db: serializers read only loaded data (#777) 2026-10-04 18:28:08 -06:00
contexts.py Add a Repos module that mirrors git repositories (backend) 2026-10-06 16:56:09 -06:00
dates.py Postgres -> SQLite hard cutover: the database moves into the media directory. 2026-07-12 14:09:37 -06:00
db.py db: serializers read only loaded data (#777) 2026-10-04 18:28:08 -06:00
db_bootstrap.py db: address review — confirm WAL was applied; refuse fuseblk mounts 2026-07-22 18:54:30 -06:00
downloader.py Add a Repos module that mirrors git repositories (backend) 2026-10-06 16:56:09 -06:00
errors.py Jobs queue, video Edit dropdown: transcode/remux, edit title & description (#711) 2026-09-16 19:25:23 -06:00
events.py Map search added to global search. Preview cards are displayed for all results in new Map tab. 2026-04-13 12:17:08 -06:00
flags.py perpetual: clear in-progress flags after a crash, downloads only in the perpetual process, KillMode=mixed (#726) 2026-09-26 11:22:58 -06:00
fts.py repos: search Repos by name and README 2026-10-06 16:56:09 -06:00
jobs.py api: run the perpetual loops in one Sanic-managed process (#718) 2026-09-23 07:53:53 -06:00
lang.py Including Country/Region codes in caption file names. 2024-10-16 18:56:31 -06:00
log_levels.py Reworking and unifying log levels. 2025-12-16 19:20:04 -07:00
logging_extra.py Not throwing error when checking for empty message. 2026-06-28 13:23:42 -06:00
media_path.py FileGroups in Collections can be reorganized in the Collection's directory. 2026-01-31 18:08:41 -07:00
perpetual.py perpetual: clear in-progress flags after a crash, downloads only in the perpetual process, KillMode=mixed (#726) 2026-09-26 11:22:58 -06:00
roland@learningselfreliance.com.gpg Updating git signing gpg key. 2024-10-16 18:57:06 -06:00
root_api.py repos: ignore the repos destination's own directory, and validate it 2026-10-06 17:45:05 -06:00
schema.py repos: search Repos by name and README 2026-10-06 16:56:09 -06:00
schema_ddl.py repos: search Repos by name and README 2026-10-06 16:56:09 -06:00
scrape_downloader.py Migrating FileDownloader. 2026-05-07 15:54:53 -06:00
speedtest.py Speed Test calculator: ping, download, and upload against the API (#708) 2026-09-13 18:47:18 -06:00
switches.py Fix API stalls: non-blocking switch worker, threaded searches, indexed Videos page (#678) 2026-08-29 16:17:53 -06:00
tags.py db: serializers read only loaded data (#777) 2026-10-04 18:28:08 -06:00
test_media_path.py Add Docs module for searching and organizing PDFs and EPUBs 2026-03-20 14:17:06 -06:00
upgrade.py api: run the perpetual loops in one Sanic-managed process (#718) 2026-09-23 07:53:53 -06:00
vars.py Add a Repos module that mirrors git repositories (backend) 2026-10-06 16:56:09 -06:00
version.py upgrade: report git branch via --show-current so a stale release tag can't break upgrades 2026-07-29 16:03:33 -06:00
version.txt Bump version to 0.29.0-beta 2026-10-03 11:53:21 -06:00