Major refactoring to add robust event listing functionality with extensive debugging: - Add CalDAV event listing with timezone support and proper XML parsing - Implement comprehensive debug mode with request/response logging - Add event filtering capabilities with date range and timezone conversion - Refactor configuration to use structured TOML for better organization - Add proper timezone handling with timezone database integration - Improve error handling and logging throughout the application - Add comprehensive test suite for event listing and filtering - Create detailed testing documentation and usage examples This enables debugging of CalDAV server connections and event retrieval with proper timezone handling and detailed logging for troubleshooting.
84 lines
1.8 KiB
TOML
84 lines
1.8 KiB
TOML
[package]
|
|
name = "caldav-sync"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Your Name <your.email@example.com>"]
|
|
description = "A CalDAV calendar synchronization tool"
|
|
license = "MIT OR Apache-2.0"
|
|
repository = "https://github.com/yourusername/caldav-sync"
|
|
keywords = ["caldav", "calendar", "sync", "productivity"]
|
|
categories = ["command-line-utilities", "date-and-time"]
|
|
readme = "README.md"
|
|
rust-version = "1.70.0"
|
|
|
|
[dependencies]
|
|
# Async runtime
|
|
tokio = { version = "1.0", features = ["full"] }
|
|
|
|
# HTTP client
|
|
reqwest = { version = "0.11", features = ["json", "rustls-tls"] }
|
|
|
|
# Regular expressions
|
|
regex = "1.10"
|
|
|
|
# CalDAV client library
|
|
# minicaldav = { git = "https://github.com/julianolf/minicaldav", version = "0.8.0" }
|
|
# Using direct HTTP implementation instead of minicaldav library
|
|
|
|
# iCalendar parsing
|
|
icalendar = "0.15"
|
|
|
|
# Serialization
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
|
|
# Date and time handling
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
chrono-tz = "0.8"
|
|
|
|
# XML parsing for CalDAV
|
|
quick-xml = { version = "0.28", features = ["serialize"] }
|
|
|
|
# Error handling
|
|
thiserror = "1.0"
|
|
anyhow = "1.0"
|
|
|
|
# Configuration management
|
|
config = "0.13"
|
|
|
|
# Command line argument parsing
|
|
clap = { version = "4.0", features = ["derive"] }
|
|
|
|
# Logging and tracing
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
|
|
|
# UUID generation for calendar items
|
|
uuid = { version = "1.0", features = ["v4", "serde"] }
|
|
|
|
# Base64 encoding for authentication
|
|
base64 = "0.21"
|
|
|
|
# URL parsing
|
|
url = "2.3"
|
|
|
|
# TOML parsing
|
|
toml = "0.8"
|
|
|
|
[dev-dependencies]
|
|
tokio-test = "0.4"
|
|
tempfile = "3.0"
|
|
|
|
[[bin]]
|
|
name = "caldav-sync"
|
|
path = "src/main.rs"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
|
|
[profile.dev]
|
|
debug = true
|
|
opt-level = 0
|