Skip to content

Latest commit

 

History

History
122 lines (108 loc) · 4 KB

File metadata and controls

122 lines (108 loc) · 4 KB

ACRCloud CLI Project Structure

acrcloud-cli/
├── acrcloud_cli/              # Main package
│   ├── __init__.py            # Package initialization
│   ├── __main__.py            # Entry point for python -m acrcloud_cli
│   ├── main.py                # CLI main entry point with command groups
│   ├── api.py                 # ACRCloud API client
│   ├── config.py              # Configuration management
│   ├── utils.py               # Utility functions
│   └── commands/              # Command modules
│       ├── __init__.py
│       ├── billing.py         # Billing & Pricing commands
│       ├── buckets.py         # Bucket management commands
│       ├── channels.py        # Channel management commands
│       ├── config_cmd.py      # Configuration commands
│       ├── files.py           # File management commands
│       ├── projects.py        # Project management commands
│       ├── filescan.py        # File Scanning commands
│       ├── bm_cs_projects.py      # BM Projects commands (Custom Streams)
│       ├── bm_bd_projects.py      # BM Projects commands (Database)
│       └── ucf_projects.py        # User Custom Content (UCF) Projects commands
├── docs/                      # Documentation
│   └── billing_doc.md         # Billing API reference
├── tests/                     # Test suite
│   ├── __init__.py
│   └── test_config.py         # Configuration tests
├── examples/                  # Usage examples
│   └── basic_usage.sh         # Basic usage examples
├── pyproject.toml             # Project configuration (PEP 517/518)
├── Makefile                   # Build automation
├── README.md                  # Documentation
├── LICENSE                    # MIT License
└── .gitignore                 # Git ignore rules

Module Descriptions

Core Modules

  • main.py: CLI entry point, command group registration, authentication handling
  • api.py: ACRCloud API client with methods for all API endpoints
  • config.py: Configuration management (load/save config files)
  • utils.py: Helper functions for output formatting and validation

Command Modules

  • billing.py: Commands for billing, invoices, and pricing queries
  • buckets.py: Commands for bucket CRUD operations
  • files.py: Commands for file upload, download, and management
  • channels.py: Commands for live channel management
  • projects.py: Commands for recognition project management
  • config_cmd.py: Commands for CLI configuration

API Coverage

Buckets API

  • List buckets
  • Get bucket
  • Create bucket
  • Update bucket
  • Delete bucket

Audio Files API

  • List files
  • Get file
  • Upload file (audio, fingerprint, URL, ACRID)
  • Update file
  • Delete file
  • Batch delete files
  • Move files between buckets
  • Dump files information

Live Channels API

  • List channels
  • Get channel
  • Create channel
  • Update channel
  • Delete channel

Base Projects API

  • List projects
  • Get project
  • Create project
  • Update project
  • Delete project
  • Get project bucket status
  • Get project statistics

File Scanning API

  • List FS containers
  • Get FS container
  • Create FS container
  • Update FS container
  • Delete FS container
  • List FS files
  • Get FS file
  • Upload FS file
  • Delete FS files
  • Rescan FS files

BM Custom Streams Projects API

  • List BM CS projects
  • Get BM CS project
  • Create BM CS project
  • Update BM CS project
  • Delete BM CS project
  • Set result callback URL
  • List BM streams
  • Add BM stream
  • Update BM stream
  • Delete BM streams
  • Pause BM streams
  • Restart BM streams

Billing & Pricing API

  • Get current bill
  • Get next bill date
  • List invoices
  • Download invoice PDF
  • Get prices