Skip to content

feat: add WITC source, promo downloader, and user-friendly README#3

Merged
wardbryan3 merged 9 commits into
mainfrom
docs/add-readme
Jun 25, 2026
Merged

feat: add WITC source, promo downloader, and user-friendly README#3
wardbryan3 merged 9 commits into
mainfrom
docs/add-readme

Conversation

@wardbryan3

Copy link
Copy Markdown
Owner

Summary

  • Add Weekend In The Country FTP downloader with automatic segment/promo renaming
  • Add Northwest Outdoors promo-only downloader with FFmpeg tag overlay
  • Refactor NWO download into shared helper used by both full and promo downloads
  • Add WITC FTP credentials and NWO/Whittler URLs to the Settings GUI
  • Remove scheduler, file_watcher, and watchdog dependency (replaced by .bat scripts)
  • Remove Chrome/Edge browser support (Firefox-only)
  • Clean up bare except: clauses and unused imports
  • Add _touch_output_dir to surface output folder at top of Explorer
  • Add non-technical README with full button/setting/troubleshooting guide

Test Plan

  • python test_downloads.py - all pass
  • python tests/test_config_edge_cases.py - 7 passed, 0 failed
  • python tests/test_integration.py - 8 passed, 0 failed
  • python tests/test_browser_manager.py - 7 passed, 0 failed
  • python tests/test_weekend_in_the_country.py - 8 passed, 0 failed
  • python test_detection_standalone.py - all pass
  • python tests/test_sources.py - 6 passed, 2 failed (expected: placeholder URLs)
  • Import verification: create_downloader('Melinda Myers', bm, ConfigManager()) returns OK

Plain-language guide explaining every button, setting, and troubleshooting
step. Written for users with minimal computer experience.
…riendly README

Major changes:
- Add Weekend In The Country FTP downloader with segment/promo renaming
- Add Northwest Outdoors promo-only downloader with tag overlay
- Refactor NWO download into shared helper for both full and promo downloads
- Add WITC FTP credentials and NWO/Whittler URLs to Settings GUI
- Remove scheduler, file_watcher, and watchdog dependency (use .bat scripts)
- Remove Chrome/Edge support, Firefox-only
- Clean up bare except clauses and unused imports
- Add _touch_output_dir to surface output folder in Explorer
- Add non-technical README with full button/setting/troubleshooting guide
- Update tests for new source structure and removed components
The version job was running on PRs, where checkout is in detached HEAD.
The push to main failed because there was no local main branch.
Now version bump only runs on push events; build runs on both but
skips release on PRs.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the Audio Download Manager with two new download capabilities (Weekend In The Country via FTP and Northwest Outdoors promo-only with FFmpeg tag overlay), updates the GUI/config/packaging to support those features, and removes the in-app scheduler in favor of Windows Task Scheduler .bat scripts. It also adds a user-focused README and adjusts CI/build settings for the Windows executable.

Changes:

  • Added new Weekend In The Country FTP source with post-download rename logic and corresponding tests.
  • Split Northwest Outdoors into shared ZIP-download helper plus full vs promo-only downloaders (promo supports FFmpeg tag overlay) and added tests.
  • Removed scheduler/watchdog components, refreshed GUI settings (auth/URLs/paths), and updated packaging/CI + documentation to match.

Reviewed changes

Copilot reviewed 27 out of 28 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
tests/test_weekend_in_the_country.py Adds WITC rename/promo-selection tests.
tests/test_scheduler.py Removes scheduler tests (scheduler removed).
tests/test_integration.py Updates integration tests for new sources/imports and BrowserManager usage.
tests/test_download_utils.py Adds tests for FFmpeg tag overlay helper.
tests/test_config_edge_cases.py Removes scheduled_downloads expectations/tests.
tests/test_browser_manager.py Updates tests for Firefox-only and removed browser-type APIs.
test_downloads.py Removes references to deleted download monitoring helpers.
sources/whittler.py Cleans up exception handling and adjusts zip cleanup timing.
sources/weekend_in_the_country.py New FTP downloader with recursive MP3 discovery and rename processing.
sources/northwest_outdoors.py Refactors into shared ZIP download + full vs promo-only downloaders.
sources/melinda_myers.py Removes unused import.
sources/base.py Replaces bare except: with except Exception: in updated areas.
sources/__init__.py Registers new WITC and promo downloader in factory/exports.
scheduler.py Removes scheduler implementation.
requirements.txt Drops watchdog dependency.
README.md Adds detailed non-technical user guide.
main.py Adds _touch_output_dir and calls it after CLI runs.
gui.py Removes scheduler UI, adds promo button + expanded settings (auth/URLs/paths), refreshes theme.
file_watcher.py Removes watchdog-based download watcher.
download_utils.py Removes older download-monitoring helpers; keeps FFmpeg overlay logic with typing cleanup.
download_promos.bat Adds scheduled promo-only CLI runner.
download_global_features.bat Adds scheduled global-features CLI runner.
constants.py Updates comment near excluded prefixes.
config.py Adds WITC FTP creds to defaults; removes scheduled_downloads; adds WITC source to DOWNLOAD_SOURCES.
browser_manager.py Simplifies init around download-dir setup (Firefox-only).
AudioDownloader.spec Adds hiddenimport for WITC and switches to windowed build (console=False).
AGENTS.md Updates repo guidance for new scripts/tests and removed scheduler.
.github/workflows/windows_build.yml Adjusts version job/run conditions, checkout ref logic, and release gating behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +19 to +22
def _simulate_process_files(output_dir):
"""Replicate the rename logic from weekend_in_the_country.py"""
seg_re = re.compile(r'hr(\d+)_seg(\d+)', re.IGNORECASE)
date_re = re.compile(r'(\d{2}-\d{2}-\d{2})')
Comment thread sources/weekend_in_the_country.py Outdated
Comment thread sources/northwest_outdoors.py Outdated
Comment thread sources/northwest_outdoors.py
Comment thread sources/northwest_outdoors.py
Comment thread constants.py Outdated
Comment thread .github/workflows/windows_build.yml Outdated
wardbryan3 and others added 6 commits June 24, 2026 17:22
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@wardbryan3 wardbryan3 merged commit 9b2961d into main Jun 25, 2026
2 checks passed
@wardbryan3 wardbryan3 deleted the docs/add-readme branch June 25, 2026 00:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants