move and rename module

This commit is contained in:
Bendt
2025-12-18 14:00:54 -05:00
parent 37be42884f
commit fe65183fb7
33 changed files with 26 additions and 24 deletions

BIN
.coverage

Binary file not shown.

View File

@@ -37,7 +37,7 @@ from textual.widgets.option_list import Option
from src.utils.file_icons import get_file_icon
# Import our DocumentViewerScreen
sys.path.append(os.path.join(os.path.dirname(__file__), "src", "maildir_gtd"))
sys.path.append(os.path.join(os.path.dirname(__file__), "src", "mail"))
from screens.DocumentViewer import DocumentViewerScreen

View File

@@ -25,6 +25,8 @@ cli.add_command(ticktick)
cli.add_command(godspeed)
cli.add_command(gitlab_monitor)
# Add 'mail' as an alias for email
cli.add_command(email, name="mail")
# Add 'tt' as a short alias for ticktick
cli.add_command(ticktick, name="tt")
# Add 'gs' as a short alias for godspeed

View File

@@ -1,5 +1,5 @@
import click
from src.maildir_gtd.app import launch_email_viewer
from src.mail.app import launch_email_viewer
@click.command()

1
src/mail/__init__.py Normal file
View File

@@ -0,0 +1 @@
# Initialize the mail package

View File

@@ -1,4 +1,4 @@
from .config import get_config, MaildirGTDConfig
from .config import get_config, MailAppConfig
from .message_store import MessageStore
from .widgets.ContentContainer import ContentContainer
from .widgets.EnvelopeListItem import EnvelopeListItem, GroupHeader

View File

@@ -1,4 +1,4 @@
"""Configuration system for MaildirGTD email reader using Pydantic."""
"""Configuration system for Mail email reader using Pydantic."""
import logging
import os
@@ -90,7 +90,7 @@ class LinkPanelConfig(BaseModel):
close_on_open: bool = False
class MailConfig(BaseModel):
class MailOperationsConfig(BaseModel):
"""Configuration for mail operations."""
# Folder to move messages to when archiving
@@ -103,8 +103,8 @@ class ThemeConfig(BaseModel):
theme_name: str = "monokai"
class MaildirGTDConfig(BaseModel):
"""Main configuration for MaildirGTD email reader."""
class MailAppConfig(BaseModel):
"""Main configuration for Mail email reader."""
task: TaskBackendConfig = Field(default_factory=TaskBackendConfig)
envelope_display: EnvelopeDisplayConfig = Field(
@@ -112,7 +112,7 @@ class MaildirGTDConfig(BaseModel):
)
content_display: ContentDisplayConfig = Field(default_factory=ContentDisplayConfig)
link_panel: LinkPanelConfig = Field(default_factory=LinkPanelConfig)
mail: MailConfig = Field(default_factory=MailConfig)
mail: MailOperationsConfig = Field(default_factory=MailOperationsConfig)
keybindings: KeybindingsConfig = Field(default_factory=KeybindingsConfig)
theme: ThemeConfig = Field(default_factory=ThemeConfig)
@@ -120,15 +120,15 @@ class MaildirGTDConfig(BaseModel):
def get_config_path(cls) -> Path:
"""Get the path to the config file."""
# Check environment variable first
env_path = os.getenv("MAILDIR_GTD_CONFIG")
env_path = os.getenv("LUK_MAIL_CONFIG")
if env_path:
return Path(env_path)
# Default to ~/.config/luk/maildir_gtd.toml
return Path.home() / ".config" / "luk" / "maildir_gtd.toml"
# Default to ~/.config/luk/mail.toml
return Path.home() / ".config" / "luk" / "mail.toml"
@classmethod
def load(cls, config_path: Optional[Path] = None) -> "MaildirGTDConfig":
def load(cls, config_path: Optional[Path] = None) -> "MailAppConfig":
"""Load config from TOML file with defaults for missing values."""
if config_path is None:
config_path = cls.get_config_path()
@@ -161,19 +161,19 @@ class MaildirGTDConfig(BaseModel):
# Global config instance (lazy-loaded)
_config: Optional[MaildirGTDConfig] = None
_config: Optional[MailAppConfig] = None
def get_config() -> MaildirGTDConfig:
def get_config() -> MailAppConfig:
"""Get the global config instance, loading it if necessary."""
global _config
if _config is None:
_config = MaildirGTDConfig.load()
_config = MailAppConfig.load()
return _config
def reload_config() -> MaildirGTDConfig:
def reload_config() -> MailAppConfig:
"""Force reload of the config from disk."""
global _config
_config = MaildirGTDConfig.load()
_config = MailAppConfig.load()
return _config

View File

@@ -13,7 +13,7 @@ from textual.containers import Container, Vertical
from textual.screen import ModalScreen
from textual.widgets import Label, ListView, ListItem, Static
from src.maildir_gtd.config import get_config
from src.mail.config import get_config
@dataclass

View File

@@ -5,8 +5,8 @@ from textual.containers import Vertical, ScrollableContainer
from textual.widgets import Static, Markdown, Label
from textual.reactive import reactive
from src.services.himalaya import client as himalaya_client
from src.maildir_gtd.config import get_config
from src.maildir_gtd.screens.LinkPanel import extract_links_from_content, LinkItem
from src.mail.config import get_config
from src.mail.screens.LinkPanel import extract_links_from_content, LinkItem
import logging
from datetime import datetime
from typing import Literal, List

View File

@@ -7,7 +7,7 @@ from textual.app import ComposeResult
from textual.containers import Horizontal, Vertical
from textual.widgets import Label, Static
from src.maildir_gtd.config import EnvelopeDisplayConfig, get_config
from src.mail.config import EnvelopeDisplayConfig, get_config
class EnvelopeListItem(Static):

View File

@@ -1 +0,0 @@
# Initialize the maildir_gtd package

View File

@@ -4,7 +4,7 @@ import json
import logging
import subprocess
from src.maildir_gtd.config import get_config
from src.mail.config import get_config
async def list_envelopes(limit: int = 9999) -> Tuple[List[Dict[str, Any]], bool]:

View File

@@ -6,7 +6,7 @@ import logging
import shlex
from typing import Tuple, List, Dict, Any, Optional
from src.maildir_gtd.config import get_config
from src.mail.config import get_config
logger = logging.getLogger(__name__)