feat: comprehensive asset management system and testing improvements
Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled

Asset Management System (Issue #142):
- Add complete asset management framework with deduplication
- Implement AssetManager, AssetRegistry, and AssetDeduplicator classes
- Add AssetPackager for markdown document packaging
- Create comprehensive test suite for all asset management components
- Add asset constants and custom exceptions for robust error handling

Markdown Processing Enhancements:
- Update markdown_commands.py with improved functionality
- Enhanced parsing and content aggregation capabilities
- Improved filename encoding/decoding for special characters

Test Suite Improvements:
- Add comprehensive tests for Issue #138 markdown parsing
- Enhance Issue #139 content aggregation and end-to-end testing
- Complete test coverage for new asset management features

Examples and Documentation:
- Update BildungsKanonJon.md example with enhanced content
- Generate corresponding HTML output for documentation
- Add asset registry configuration

Development Tools:
- Add install script for simplified setup

This commit represents a major enhancement to MarkiTect's asset handling
capabilities with full test coverage and improved markdown processing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-12 19:57:31 +02:00
parent 88787d903d
commit 81d3da5fe7
19 changed files with 4040 additions and 84 deletions

View File

@@ -0,0 +1,55 @@
"""
Configuration constants and defaults for the markitect assets module.
This module defines default values, file extensions, and other constants
used throughout the asset management system.
"""
# Default paths and filenames
DEFAULT_ASSETS_DIR = "assets"
DEFAULT_REGISTRY_FILENAME = "asset_registry.json"
DEFAULT_MANIFEST_FILENAME = "manifest.json"
# Package file extension
PACKAGE_EXTENSION = ".mdpkg"
# Default configuration values
DEFAULT_CONFIG = {
"enable_deduplication": True,
"default_conflict_resolution": "backup",
"max_file_size": 100 * 1024 * 1024, # 100MB
"performance_timeout_ms": 100,
"memory_limit_mb": 50
}
# File patterns to exclude from packages by default
DEFAULT_EXCLUDE_PATTERNS = [
".DS_Store",
"Thumbs.db",
"*.tmp",
"*.temp",
"*.swp",
"*.bak",
"__pycache__",
".git",
".svn",
".hg"
]
# Supported manifest format version
MANIFEST_FORMAT_VERSION = "1.0"
# Hash algorithm used for content addressing
HASH_ALGORITHM = "sha256"
# Symlink conflict resolution options
CONFLICT_RESOLUTION_OPTIONS = ["overwrite", "backup", "skip"]
# MIME type detection fallbacks
FALLBACK_MIME_TYPES = {
".md": "text/markdown",
".txt": "text/plain",
".json": "application/json",
".yaml": "application/x-yaml",
".yml": "application/x-yaml"
}