23 lines
1.6 KiB
JSON
23 lines
1.6 KiB
JSON
{
|
|
"module": "mail_intake.parsers.subject",
|
|
"content": {
|
|
"path": "mail_intake.parsers.subject",
|
|
"docstring": "Subject line normalization utilities for Mail Intake.\n\n---\n\n## Summary\n\nThis module provides helper functions for normalizing email subject lines\nto enable reliable thread-level comparison and grouping.\n\nNormalization is intentionally conservative to avoid altering semantic\nmeaning while removing common reply and forward prefixes.",
|
|
"objects": {
|
|
"re": {
|
|
"name": "re",
|
|
"kind": "alias",
|
|
"path": "mail_intake.parsers.subject.re",
|
|
"signature": "<bound method Alias.signature of Alias('re', 're')>",
|
|
"docstring": null
|
|
},
|
|
"normalize_subject": {
|
|
"name": "normalize_subject",
|
|
"kind": "function",
|
|
"path": "mail_intake.parsers.subject.normalize_subject",
|
|
"signature": "<bound method Function.signature of Function('normalize_subject', 24, 63)>",
|
|
"docstring": "Normalize an email subject for thread-level comparison.\n\nArgs:\n subject (str):\n Raw subject line from a message header.\n\nReturns:\n str:\n Normalized subject string suitable for thread grouping.\n\nNotes:\n **Responsibilities:**\n\n - Strips common prefixes such as ``Re:``, ``Fwd:``, and ``FW:``\n - Repeats prefix stripping to handle stacked prefixes\n - Collapses excessive whitespace\n - Preserves original casing (no lowercasing)\n\n **Guarantees:**\n\n - This function is intentionally conservative and avoids aggressive transformations that could alter the semantic meaning of the subject"
|
|
}
|
|
}
|
|
}
|
|
} |