fix: rename TranscriptorIO to Transcriptarr

This commit is contained in:
2026-01-16 17:07:04 +01:00
parent b7628ab316
commit ac7241b1b9
22 changed files with 45 additions and 45 deletions

View File

@@ -1,5 +1,5 @@
# ============================================ # ============================================
# TranscriptorIO Configuration # Transcriptarr Configuration
# ============================================ # ============================================
# #
# IMPORTANT: Most configuration is now stored in the database # IMPORTANT: Most configuration is now stored in the database

View File

@@ -1,4 +1,4 @@
# 🎬 TranscriptorIO # 🎬 Transcriptarr
**AI-powered subtitle transcription service with REST API and Web UI** **AI-powered subtitle transcription service with REST API and Web UI**
@@ -7,7 +7,7 @@
[![Vue.js](https://img.shields.io/badge/Vue.js-3.x-brightgreen.svg)](https://vuejs.org/) [![Vue.js](https://img.shields.io/badge/Vue.js-3.x-brightgreen.svg)](https://vuejs.org/)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
TranscriptorIO is an AI-powered subtitle transcription service based on [Subgen](https://github.com/McCloudS/subgen), featuring a modern FastAPI backend with 45+ REST endpoints, a Vue 3 web interface, and a distributed worker pool architecture. Transcriptarr is an AI-powered subtitle transcription service based on [Subgen](https://github.com/McCloudS/subgen), featuring a modern FastAPI backend with 45+ REST endpoints, a Vue 3 web interface, and a distributed worker pool architecture.
--- ---

View File

@@ -1,6 +1,6 @@
# TranscriptorIO REST API # Transcriptarr REST API
Documentación completa de las APIs REST del backend de TranscriptorIO. Documentación completa de las APIs REST del backend de Transcriptarr.
## 🚀 Inicio Rápido ## 🚀 Inicio Rápido
@@ -33,7 +33,7 @@ Información básica de la API.
**Response:** **Response:**
```json ```json
{ {
"name": "TranscriptorIO API", "name": "Transcriptarr API",
"version": "1.0.0", "version": "1.0.0",
"status": "running" "status": "running"
} }

View File

@@ -1 +1 @@
"""TranscriptorIO Backend Package.""" """Transcriptarr Backend Package."""

View File

@@ -1,4 +1,4 @@
"""API module for TranscriptorIO backend.""" """API module for Transcriptarr backend."""
from backend.api.workers import router as workers_router from backend.api.workers import router as workers_router
from backend.api.jobs import router as jobs_router from backend.api.jobs import router as jobs_router
from backend.api.scan_rules import router as scan_rules_router from backend.api.scan_rules import router as scan_rules_router

View File

@@ -1,4 +1,4 @@
"""Main FastAPI application for TranscriptorIO backend.""" """Main FastAPI application for Transcriptarr backend."""
import logging import logging
import os import os
from contextlib import asynccontextmanager from contextlib import asynccontextmanager
@@ -47,7 +47,7 @@ async def lifespan(app: FastAPI):
- Graceful shutdown - Graceful shutdown
""" """
# === STARTUP === # === STARTUP ===
logger.info("=== TranscriptorIO Backend Starting ===") logger.info("=== Transcriptarr Backend Starting ===")
# Initialize database # Initialize database
logger.info("Initializing database...") logger.info("Initializing database...")
@@ -158,12 +158,12 @@ async def lifespan(app: FastAPI):
else: else:
logger.info("File watcher enabled but no library paths configured") logger.info("File watcher enabled but no library paths configured")
logger.info("=== TranscriptorIO Backend Started ===") logger.info("=== Transcriptarr Backend Started ===")
yield yield
# === SHUTDOWN === # === SHUTDOWN ===
logger.info("=== TranscriptorIO Backend Shutting Down ===") logger.info("=== Transcriptarr Backend Shutting Down ===")
# Stop library scanner first (quick operations) # Stop library scanner first (quick operations)
logger.info("Stopping library scanner...") logger.info("Stopping library scanner...")
@@ -180,12 +180,12 @@ async def lifespan(app: FastAPI):
except Exception as e: except Exception as e:
logger.warning(f"Error stopping worker pool: {e}") logger.warning(f"Error stopping worker pool: {e}")
logger.info("=== TranscriptorIO Backend Stopped ===") logger.info("=== Transcriptarr Backend Stopped ===")
# Create FastAPI app # Create FastAPI app
app = FastAPI( app = FastAPI(
title="TranscriptorIO API", title="Transcriptarr API",
description="AI-powered subtitle transcription service", description="AI-powered subtitle transcription service",
version="1.0.0", version="1.0.0",
lifespan=lifespan lifespan=lifespan
@@ -278,7 +278,7 @@ else:
async def root(): async def root():
"""Root endpoint - API info.""" """Root endpoint - API info."""
return { return {
"name": "TranscriptorIO API", "name": "Transcriptarr API",
"version": "1.0.0", "version": "1.0.0",
"status": "running", "status": "running",
"message": "Frontend not built. Access API docs at /docs" "message": "Frontend not built. Access API docs at /docs"

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
"""CLI entry point for TranscriptorIO backend.""" """CLI entry point for Transcriptarr backend."""
import argparse import argparse
import logging import logging
import sys import sys
@@ -15,7 +15,7 @@ def main():
"""Main CLI entry point.""" """Main CLI entry point."""
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="TranscriptorIO - AI-powered subtitle transcription service" description="Transcriptarr - AI-powered subtitle transcription service"
) )
# Subcommands # Subcommands
@@ -113,7 +113,7 @@ def main():
def run_server(args): def run_server(args):
"""Run FastAPI server.""" """Run FastAPI server."""
print(f"🚀 Starting TranscriptorIO server on {args.host}:{args.port}") print(f"🚀 Starting Transcriptarr server on {args.host}:{args.port}")
print(f"📖 API docs available at: http://{args.host}:{args.port}/docs") print(f"📖 API docs available at: http://{args.host}:{args.port}/docs")
uvicorn.run( uvicorn.run(

View File

@@ -1,4 +1,4 @@
"""Configuration management for TranscriptorIO. """Configuration management for Transcriptarr.
Most configuration is now stored in the database and managed through the Most configuration is now stored in the database and managed through the
Settings service. Only DATABASE_URL is loaded from environment variables. Settings service. Only DATABASE_URL is loaded from environment variables.

View File

@@ -1 +1 @@
"""TranscriptorIO Core Module.""" """Transcriptarr Core Module."""

View File

@@ -1,4 +1,4 @@
"""Database models for TranscriptorIO.""" """Database models for Transcriptarr."""
import uuid import uuid
from datetime import datetime, timezone from datetime import datetime, timezone
from enum import Enum from enum import Enum

View File

@@ -36,7 +36,7 @@ class SetupWizard:
True if setup completed successfully True if setup completed successfully
""" """
print("\n" + "=" * 70) print("\n" + "=" * 70)
print(" 🎬 TranscriptorIO - First Run Setup Wizard") print(" 🎬 Transcriptarr - First Run Setup Wizard")
print("=" * 70 + "\n") print("=" * 70 + "\n")
# Step 1: Select mode # Step 1: Select mode

View File

@@ -1,6 +1,6 @@
# TranscriptorIO REST API # Transcriptarr REST API
Complete documentation for the TranscriptorIO backend REST API. Complete documentation for the Transcriptarr backend REST API.
## Table of Contents ## Table of Contents
@@ -52,7 +52,7 @@ Root endpoint - API info or frontend (if built).
**Response (API mode):** **Response (API mode):**
```json ```json
{ {
"name": "TranscriptorIO API", "name": "Transcriptarr API",
"version": "1.0.0", "version": "1.0.0",
"status": "running", "status": "running",
"message": "Frontend not built. Access API docs at /docs" "message": "Frontend not built. Access API docs at /docs"

View File

@@ -1,4 +1,4 @@
# TranscriptorIO Backend Architecture # Transcriptarr Backend Architecture
Technical documentation of the backend architecture, components, and data flow. Technical documentation of the backend architecture, components, and data flow.
@@ -22,7 +22,7 @@ Technical documentation of the backend architecture, components, and data flow.
## Overview ## Overview
TranscriptorIO is built with a modular architecture consisting of: Transcriptarr is built with a modular architecture consisting of:
- **FastAPI Server**: REST API with 45+ endpoints - **FastAPI Server**: REST API with 45+ endpoints
- **Worker Pool**: Multiprocessing-based transcription workers (CPU/GPU) - **Worker Pool**: Multiprocessing-based transcription workers (CPU/GPU)

View File

@@ -1,4 +1,4 @@
# TranscriptorIO Configuration # Transcriptarr Configuration
Complete documentation for the configuration system. Complete documentation for the configuration system.
@@ -16,7 +16,7 @@ Complete documentation for the configuration system.
## Overview ## Overview
TranscriptorIO uses a **database-backed configuration system**. All settings are stored in the `system_settings` table and can be managed through: Transcriptarr uses a **database-backed configuration system**. All settings are stored in the `system_settings` table and can be managed through:
1. **Setup Wizard** (first run) 1. **Setup Wizard** (first run)
2. **Web UI** (Settings page) 2. **Web UI** (Settings page)

View File

@@ -1,4 +1,4 @@
# TranscriptorIO Frontend # Transcriptarr Frontend
Technical documentation for the Vue 3 frontend application. Technical documentation for the Vue 3 frontend application.
@@ -20,7 +20,7 @@ Technical documentation for the Vue 3 frontend application.
## Overview ## Overview
The TranscriptorIO frontend is a Single Page Application (SPA) built with Vue 3, featuring: The Transcriptarr frontend is a Single Page Application (SPA) built with Vue 3, featuring:
- **6 Complete Views**: Dashboard, Queue, Scanner, Rules, Workers, Settings - **6 Complete Views**: Dashboard, Queue, Scanner, Rules, Workers, Settings
- **Real-time Updates**: Polling-based status updates - **Real-time Updates**: Polling-based status updates

View File

@@ -1,6 +1,6 @@
# TranscriptorIO Frontend # Transcriptarr Frontend
Vue 3 + TypeScript + Vite frontend for TranscriptorIO. Vue 3 + TypeScript + Vite frontend for Transcriptarr.
## 🚀 Quick Start ## 🚀 Quick Start

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8"> <meta charset="UTF-8">
<link rel="icon" href="/favicon.ico"> <link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TranscriptorIO</title> <title>Transcriptarr</title>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

View File

@@ -1,7 +1,7 @@
{ {
"name": "transcriptorio-ui", "name": "transcriptorio-ui",
"version": "1.0.0", "version": "1.0.0",
"description": "TranscriptorIO Web UI - Vue 3 Frontend", "description": "Transcriptarr Web UI - Vue 3 Frontend",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
echo "🎬 TranscriptorIO Frontend - Setup Script" echo "🎬 Transcriptarr Frontend - Setup Script"
echo "==========================================" echo "=========================================="
echo "" echo ""

View File

@@ -10,7 +10,7 @@
<div class="container"> <div class="container">
<div class="header-content"> <div class="header-content">
<div class="logo"> <div class="logo">
<h1>🎬 TranscriptorIO</h1> <h1>🎬 Transcriptarr</h1>
<span class="subtitle">AI-Powered Subtitle Transcription</span> <span class="subtitle">AI-Powered Subtitle Transcription</span>
</div> </div>
<nav class="main-nav"> <nav class="main-nav">
@@ -41,7 +41,7 @@
<footer class="app-footer"> <footer class="app-footer">
<div class="container"> <div class="container">
<p>&copy; 2026 TranscriptorIO | Powered by Whisper AI</p> <p>&copy; 2026 Transcriptarr | Powered by Whisper AI</p>
</div> </div>
</footer> </footer>
</div> </div>

View File

@@ -2,14 +2,14 @@
<div class="setup-wizard-overlay"> <div class="setup-wizard-overlay">
<div class="wizard-container"> <div class="wizard-container">
<div class="wizard-header"> <div class="wizard-header">
<h1>🎬 Welcome to TranscriptorIO</h1> <h1>🎬 Welcome to Transcriptarr</h1>
<p>Let's get you set up in just a few steps</p> <p>Let's get you set up in just a few steps</p>
</div> </div>
<!-- Step 1: Choose Mode --> <!-- Step 1: Choose Mode -->
<div v-if="currentStep === 1" class="wizard-step"> <div v-if="currentStep === 1" class="wizard-step">
<h2>Choose Operation Mode</h2> <h2>Choose Operation Mode</h2>
<p class="step-description">How would you like to use TranscriptorIO?</p> <p class="step-description">How would you like to use Transcriptarr?</p>
<div class="mode-cards"> <div class="mode-cards">
<div <div
@@ -150,7 +150,7 @@
<!-- Scanner Configuration --> <!-- Scanner Configuration -->
<div class="config-section"> <div class="config-section">
<h3 class="section-title">⏰ Automatic Scanning</h3> <h3 class="section-title">⏰ Automatic Scanning</h3>
<p class="section-description">How often should TranscriptorIO scan your libraries for new content?</p> <p class="section-description">How often should Transcriptarr scan your libraries for new content?</p>
<div class="scanner-config"> <div class="scanner-config">
<div class="form-group"> <div class="form-group">
@@ -298,7 +298,7 @@
<!-- Step 2b: Bazarr Slave Configuration --> <!-- Step 2b: Bazarr Slave Configuration -->
<div v-if="currentStep === 2 && selectedMode === 'bazarr_slave'" class="wizard-step"> <div v-if="currentStep === 2 && selectedMode === 'bazarr_slave'" class="wizard-step">
<h2>Bazarr Provider Configuration</h2> <h2>Bazarr Provider Configuration</h2>
<p class="step-description">Use these details to add TranscriptorIO as a provider in Bazarr</p> <p class="step-description">Use these details to add Transcriptarr as a provider in Bazarr</p>
<div v-if="bazarrInfo" class="bazarr-info-card"> <div v-if="bazarrInfo" class="bazarr-info-card">
<div class="info-section"> <div class="info-section">
@@ -319,7 +319,7 @@
<div class="info-section"> <div class="info-section">
<h3>Provider Type</h3> <h3>Provider Type</h3>
<code>TranscriptorIO (Whisper AI)</code> <code>Transcriptarr (Whisper AI)</code>
</div> </div>
<div class="info-instructions"> <div class="info-instructions">
@@ -346,7 +346,7 @@
<div v-if="currentStep === 5" class="wizard-step completion"> <div v-if="currentStep === 5" class="wizard-step completion">
<div class="completion-icon">✅</div> <div class="completion-icon">✅</div>
<h2>Setup Complete!</h2> <h2>Setup Complete!</h2>
<p>TranscriptorIO is ready to use</p> <p>Transcriptarr is ready to use</p>
<button @click="finishSetup" class="btn btn-primary btn-lg"> <button @click="finishSetup" class="btn btn-primary btn-lg">
Go to Dashboard → Go to Dashboard →
</button> </button>

View File

@@ -46,7 +46,7 @@ const router = createRouter({
}) })
router.beforeEach((to, _from, next) => { router.beforeEach((to, _from, next) => {
document.title = `${to.meta.title || 'TranscriptorIO'} - TranscriptorIO` document.title = `${to.meta.title || 'Transcriptarr'} - Transcriptarr`
next() next()
}) })