Skip to content

Convert simple/medium importers to BaseImporter classes #77

Description

@aquarion

Convert the remaining straightforward imports/ scripts to class-based importers using BaseImporter in src/lifestream/importers/.

These have API key or simple login auth — no OAuth flows to untangle.

Files

File Auth Notes
imports/ffxiv.py API key (xivapi) Already has good structure
imports/atproto_posts.py username/password login Already refactored in #62
imports/instagram.py username/password login Uses unofficial InstagramAPI
imports/gw2.py API key Already has run_import()/main() structure
imports/oyster.py None (mechanize scraping) Takes args from CLI
imports/oyster_csv.py None (CSV) Trivial

Pattern

Each conversion should:

  1. Create src/lifestream/importers/<name>.py with a class XImporter(BaseImporter)
  2. Move config loading to get_config() calls
  3. Replace sys.exit() with ConfigurationError
  4. Add a main() entry point and wire up pyproject.toml
  5. Delete the old imports/<name>.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions