Phase 1.1: Rebrand to Oliver Metadata Tool v3.0
- Updated application name to "Oliver Metadata Tool" - Updated version to 3.0.0 - Added App Info constants to config.py (APP_NAME, APP_VERSION, APP_DESCRIPTION) - Updated web interface (title, header, footer) - Updated README with new branding and description - Added AI configuration settings to config.py - Added ExifTool check method to config.py Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2082ea7ce7
commit
7db62e06da
4 changed files with 42 additions and 10 deletions
|
|
@ -1,6 +1,6 @@
|
|||
# Solventum Image Metadata Tool
|
||||
# Oliver Metadata Tool
|
||||
|
||||
Universal metadata processing tool for PDF, images, Office documents and video files.
|
||||
Universal metadata creation and management tool for all file types. Create, import, and manage metadata from multiple sources with an intuitive web interface.
|
||||
|
||||
## Features
|
||||
|
||||
|
|
|
|||
|
|
@ -1,15 +1,24 @@
|
|||
"""Configuration management for the metadata automation tool."""
|
||||
"""Configuration management for Oliver Metadata Tool."""
|
||||
|
||||
import os
|
||||
import shutil
|
||||
import logging
|
||||
from pathlib import Path
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Load environment variables
|
||||
load_dotenv()
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class Config:
|
||||
"""Configuration class for managing settings."""
|
||||
|
||||
# App Info
|
||||
APP_NAME = "Oliver Metadata Tool"
|
||||
APP_VERSION = "3.0.0"
|
||||
APP_DESCRIPTION = "Universal metadata creation and management tool"
|
||||
|
||||
# Paths
|
||||
PROJECT_ROOT = Path(__file__).parent.parent
|
||||
OUTPUT_DIR = PROJECT_ROOT / 'output'
|
||||
|
|
@ -28,6 +37,18 @@ class Config:
|
|||
# jpn=Japanese, kor=Korean
|
||||
OCR_LANGUAGES = os.getenv('OCR_LANGUAGES', 'eng+chi_sim+chi_tra+jpn+kor')
|
||||
|
||||
# AI Settings (for CLI and Web AI mode)
|
||||
OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')
|
||||
AI_MODEL = os.getenv('AI_MODEL', 'gpt-4o-mini') # Better than gpt-3.5-turbo
|
||||
MAX_TOKENS = int(os.getenv('MAX_TOKENS', '500'))
|
||||
TEMPERATURE = float(os.getenv('TEMPERATURE', '0.5')) # 0.5 better for factual content
|
||||
MAX_TEXT_LENGTH = int(os.getenv('MAX_TEXT_LENGTH', '4000'))
|
||||
|
||||
# API Rate Limiting & Retry (from open source analysis)
|
||||
API_TIMEOUT = int(os.getenv('API_TIMEOUT', '30'))
|
||||
API_MAX_RETRIES = int(os.getenv('API_MAX_RETRIES', '3'))
|
||||
API_RETRY_DELAY = float(os.getenv('API_RETRY_DELAY', '1.0')) # exponential backoff multiplier
|
||||
|
||||
@classmethod
|
||||
def ensure_directories(cls):
|
||||
"""Ensure required directories exist."""
|
||||
|
|
@ -35,5 +56,15 @@ class Config:
|
|||
cls.BACKUP_DIR.mkdir(exist_ok=True)
|
||||
cls.REPORTS_DIR.mkdir(exist_ok=True)
|
||||
|
||||
@classmethod
|
||||
def check_exiftool(cls):
|
||||
"""Check if ExifTool is installed."""
|
||||
exiftool_path = shutil.which('exiftool')
|
||||
if not exiftool_path:
|
||||
logger.warning("⚠️ ExifTool not found. Install with: brew install exiftool (macOS) or apt-get install libimage-exiftool-perl (Linux)")
|
||||
return False
|
||||
logger.info(f"✓ ExifTool found at {exiftool_path}")
|
||||
return True
|
||||
|
||||
# Ensure directories on import
|
||||
Config.ensure_directories()
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Universal Metadata Tool</title>
|
||||
<title>Oliver Metadata Tool</title>
|
||||
<style>
|
||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||
body {
|
||||
|
|
@ -237,8 +237,8 @@
|
|||
<body>
|
||||
<div class="container">
|
||||
<div class="header">
|
||||
<h1>🎯 Universal Metadata Tool</h1>
|
||||
<p>Update PDF metadata from Excel (Celum ID to Adobe Asset Path Mapping)</p>
|
||||
<h1>🎯 Oliver Metadata Tool</h1>
|
||||
<p>Universal metadata creation and management for all file types</p>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
|
|
@ -282,7 +282,7 @@
|
|||
</div>
|
||||
|
||||
<div class="footer">
|
||||
Universal Metadata Tool v2.0 | Metadata from Excel (Celum ID Mapping) | Batch Processing Enabled
|
||||
Oliver Metadata Tool v3.0 | Multiple metadata sources | Excel • AI • Manual • Import
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Web-based interface for Universal Metadata Tool.
|
||||
Simple Flask app that runs locally - no deployment needed.
|
||||
Uses Excel file for metadata lookup (not AI).
|
||||
Oliver Metadata Tool - Web Interface
|
||||
Universal metadata creation and management tool for files.
|
||||
Flask-based web app for local or server deployment.
|
||||
Supports multiple metadata sources: Excel, AI, manual entry, and file import.
|
||||
"""
|
||||
|
||||
from flask import Flask, render_template, request, jsonify, send_file
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue