Compare commits

...

No commits in common. "v1.0.0" and "main" have entirely different histories.
v1.0.0 ... main

12 changed files with 25 additions and 22 deletions

View File

@ -7,7 +7,7 @@ on:
branches: [main, master] branches: [main, master]
env: env:
GITEA_URL: https://git.home.ms GITEA_URL: https://git.example.com
jobs: jobs:
lint: lint:

View File

@ -6,7 +6,7 @@ resolver = "2"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
repository = "https://git.home.ms/jarianc/MovieMapper" repository = "https://git.example.com/jarianc/MovieMapper"
[workspace.dependencies] [workspace.dependencies]
# Shared dependencies across workspace # Shared dependencies across workspace

View File

@ -5,7 +5,7 @@ Scan media directories, extract metadata with FFmpeg, tag files as extras or
commentary, and move them into Jellyfin-compatible folder structures — with a commentary, and move them into Jellyfin-compatible folder structures — with a
full audit trail. full audit trail.
[![CI](https://github.com/actions/workflows/test.yml/badge.svg)](https://github.com/actions/workflows/test.yml) [![CI](https://git.jarianc.com/jarianc/MovieMapper/actions/workflows/ci.yml/badge.svg)](https://git.jarianc.com/jarianc/MovieMapper/actions)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
## Features ## Features
@ -88,7 +88,7 @@ directory scan ──▶ ffprobe metadata ──▶ tag (extra/commentary)
## Installation ## Installation
Installers are published on the [releases page](https://git.home.ms/jarianc/MovieMapper/releases) Installers are published on the [releases page](https://git.example.com/jarianc/MovieMapper/releases)
(AppImage + .deb for Linux, .dmg for macOS, .exe for Windows). (AppImage + .deb for Linux, .dmg for macOS, .exe for Windows).
### Linux — AppImage ### Linux — AppImage

View File

@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021" edition = "2021"
description = "A Rust-based version of MovieMapper for organizing and managing movie and TV show collections" description = "A Rust-based version of MovieMapper for organizing and managing movie and TV show collections"
license = "MIT" license = "MIT"
repository = "https://git.home.ms/jarianc/MovieMapper" repository = "https://git.example.com/jarianc/MovieMapper"
readme = "README.md" readme = "README.md"
keywords = ["media", "ffmpeg", "tvdb", "jellyfin", "video"] keywords = ["media", "ffmpeg", "tvdb", "jellyfin", "video"]
categories = ["command-line-utilities", "filesystem"] categories = ["command-line-utilities", "filesystem"]

View File

@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021" edition = "2021"
description = "Backend integration layer for MovieMapper" description = "Backend integration layer for MovieMapper"
license = "MIT" license = "MIT"
repository = "https://git.home.ms/jarianc/MovieMapper" repository = "https://git.example.com/jarianc/MovieMapper"
[dependencies] [dependencies]
# Use the existing Rust backend as a path dependency # Use the existing Rust backend as a path dependency

View File

@ -14,7 +14,7 @@ IOS_VERSION = "17.0"
def create_project_structure(): def create_project_structure():
"""Create the Xcode project directory structure""" """Create the Xcode project directory structure"""
base = f"/Users/jariancottingham/Projects/MovieMapper/{PROJECT_NAME}" base = f"/Users/user/Projects/MovieMapper/{PROJECT_NAME}"
# Project directory # Project directory
project_dir = os.path.join(base, f"{PROJECT_NAME}.xcodeproj") project_dir = os.path.join(base, f"{PROJECT_NAME}.xcodeproj")

View File

@ -1,7 +1,7 @@
# MovieMapper Feature Verification & Test Coverage Report # MovieMapper Feature Verification & Test Coverage Report
**Date:** February 26, 2026 **Date:** February 26, 2026
**Project:** /Users/jariancottingham/Projects/MovieMapper **Project:** /Users/user/Projects/MovieMapper
--- ---

View File

@ -157,7 +157,7 @@ test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
``` ```
$ cargo build --release $ cargo build --release
Compiling movie_mapper v0.1.0 (/Users/jariancottingham/Projects/MovieMapper/Rust) Compiling movie_mapper v0.1.0 (/Users/user/Projects/MovieMapper/Rust)
Finished `release` profile [optimized] target(s) in 13.47s Finished `release` profile [optimized] target(s) in 13.47s
$ cargo test $ cargo test

View File

@ -48,8 +48,8 @@ console.log('\n2. Testing command-line argument parsing...');
// This simulates how the actual main.js will receive args // This simulates how the actual main.js will receive args
const simulatedArgs = [ const simulatedArgs = [
'/opt/homebrew/Cellar/node/25.6.1/bin/node', '/opt/homebrew/Cellar/node/25.6.1/bin/node',
'/Users/jariancottingham/Projects/MovieMapper/main.js', '/Users/user/Projects/MovieMapper/main.js',
'--dir=/Users/jariancottingham/Projects/MovieMapper/test_directory' '--dir=/Users/user/Projects/MovieMapper/test_directory'
]; ];
const commandLineDirectory = simulatedArgs.find(arg => arg.startsWith('--dir=') || arg.startsWith('-d='))?.split('=')[1]; const commandLineDirectory = simulatedArgs.find(arg => arg.startsWith('--dir=') || arg.startsWith('-d='))?.split('=')[1];

View File

@ -4,11 +4,11 @@
"description": "A desktop application for organizing and managing movie and TV show collections", "description": "A desktop application for organizing and managing movie and TV show collections",
"author": "Jarian Cottingham <jarianc@proton.me>", "author": "Jarian Cottingham <jarianc@proton.me>",
"license": "MIT", "license": "MIT",
"homepage": "https://git.home.ms/jarianc/MovieMapper", "homepage": "https://git.example.com/jarianc/MovieMapper",
"desktopName": "MovieMapper", "desktopName": "MovieMapper",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.home.ms/jarianc/MovieMapper.git" "url": "https://git.example.com/jarianc/MovieMapper.git"
}, },
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {

View File

@ -6,14 +6,14 @@
# GITEA_PASS=... ./scripts/publish-release.sh v1.0.0 # GITEA_PASS=... ./scripts/publish-release.sh v1.0.0
# #
# Environment: # Environment:
# GITEA_URL (default: https://git.home.ms) # GITEA_URL (default: https://git.example.com)
# GITEA_USER (default: jarianc) # GITEA_USER (default: jarianc)
# GITEA_PASS (required) # GITEA_PASS (required)
# GITEA_REPO (default: jarianc/MovieMapper) # GITEA_REPO (default: jarianc/MovieMapper)
set -euo pipefail set -euo pipefail
TAG="${1:?usage: publish-release.sh <tag> (e.g. v1.0.0)}" TAG="${1:?usage: publish-release.sh <tag> (e.g. v1.0.0)}"
GITEA_URL="${GITEA_URL:-https://git.home.ms}" GITEA_URL="${GITEA_URL:-https://git.example.com}"
GITEA_USER="${GITEA_USER:-jarianc}" GITEA_USER="${GITEA_USER:-jarianc}"
GITEA_PASS="${GITEA_PASS:?GITEA_PASS is required}" GITEA_PASS="${GITEA_PASS:?GITEA_PASS is required}"
GITEA_REPO="${GITEA_REPO:-jarianc/MovieMapper}" GITEA_REPO="${GITEA_REPO:-jarianc/MovieMapper}"
@ -21,22 +21,25 @@ AUTH=("${GITEA_USER}:${GITEA_PASS}")
API="$GITEA_URL/api/v1/repos/$GITEA_REPO" API="$GITEA_URL/api/v1/repos/$GITEA_REPO"
# Create the release if it does not exist yet. # Create the release if it does not exist yet.
existing="$(curl -sf -u "${AUTH[@]}" "$API/releases/tags/$TAG" 2>/dev/null \ if ! curl -sf -u "${AUTH[@]}" "$API/releases/tags/$TAG" > /dev/null 2>&1; then
| python3 -c 'import json,sys; print(json.load(sys.stdin).get("id",""))' || true)"
if [ -z "${existing}" ]; then
curl -sf -u "${AUTH[@]}" -X POST "$API/releases" \ curl -sf -u "${AUTH[@]}" -X POST "$API/releases" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "{\"tag_name\":\"$TAG\",\"name\":\"$TAG\",\"body\":\"MovieMapper $TAG release. Linux: AppImage + deb. See README for install instructions.\"}" \ -d "{\"tag_name\":\"$TAG\",\"name\":\"$TAG\",\"body\":\"MovieMapper $TAG release. Linux: AppImage + deb. See README for install instructions.\"}" \
> /dev/null > /dev/null
echo "created release $TAG" echo "created release $TAG"
else
echo "release $TAG exists"
fi fi
# Resolve numeric release id (asset upload requires it on this Gitea build).
REL_ID="$(curl -sf -u "${AUTH[@]}" "$API/releases/tags/$TAG" \
| python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])')"
uploaded=0 uploaded=0
for f in dist/*.AppImage dist/*.deb dist/*.dmg dist/*.exe dist/*.zip; do for f in dist/*.AppImage dist/*.deb dist/*.dmg dist/*.exe dist/*.zip; do
[ -e "$f" ] || continue [ -e "$f" ] || continue
if curl -sf -u "${AUTH[@]}" -X POST "$API/releases/$TAG/assets" \ if curl -sf -u "${AUTH[@]}" -X POST "$API/releases/$REL_ID/assets" \
-H "Content-Type: application/octet-stream" \ -F "attachment=@$f;type=application/octet-stream" > /dev/null; then
--data-binary @"$f" > /dev/null; then
echo "uploaded $(basename "$f")" echo "uploaded $(basename "$f")"
uploaded=$((uploaded + 1)) uploaded=$((uploaded + 1))
else else

View File

@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021" edition = "2021"
description = "Rust UI for MovieMapper using Iced" description = "Rust UI for MovieMapper using Iced"
license = "MIT" license = "MIT"
repository = "https://git.home.ms/jarianc/MovieMapper" repository = "https://git.example.com/jarianc/MovieMapper"
[dependencies] [dependencies]
iced = { version = "0.12", features = ["debug"] } iced = { version = "0.12", features = ["debug"] }