This commit is contained in:
@@ -1242,9 +1242,8 @@
|
||||
|
||||
<div class="doc doc-contents first">
|
||||
|
||||
<p>Message header parsing utilities for Mail Intake.</p>
|
||||
<hr />
|
||||
<h4 id="mail_intake.parsers.headers--summary">Summary</h4>
|
||||
<h3 id="mail_intake.parsers.headers--summary">Summary</h3>
|
||||
<p>Message header parsing utilities for Mail Intake.</p>
|
||||
<p>This module provides helper functions for normalizing and extracting
|
||||
useful information from provider-native message headers.</p>
|
||||
<p>The functions here are intentionally simple and tolerant of malformed
|
||||
@@ -1296,7 +1295,7 @@ or incomplete header data.</p>
|
||||
</td>
|
||||
<td>
|
||||
<div class="doc-md-description">
|
||||
<p>Normalized header dictionary as returned by :func:<code>parse_headers</code>.</p>
|
||||
<p>Normalized header dictionary as returned by <code>parse_headers()</code>.</p>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -1323,7 +1322,8 @@ or incomplete header data.</p>
|
||||
<td>
|
||||
<div class="doc-md-description">
|
||||
<p>Tuple[str, Optional[str]]:
|
||||
A tuple <code>(email, name)</code> where <code>email</code> is the sender email address and <code>name</code> is the display name, or <code>None</code> if unavailable.</p>
|
||||
A tuple <code>(email, name)</code> where <code>email</code> is the sender email address
|
||||
and <code>name</code> is the display name, or <code>None</code> if unavailable.</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1334,17 +1334,19 @@ A tuple <code>(email, name)</code> where <code>email</code> is the sender email
|
||||
<details class="notes" open>
|
||||
<summary>Notes</summary>
|
||||
<p><strong>Responsibilities:</strong></p>
|
||||
<div class="language-text highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>- This function parses the ``From`` header and attempts to extract sender email address and optional human-readable display name
|
||||
<div class="language-text highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code>- This function parses the `From` header and attempts to extract
|
||||
sender email address and optional human-readable display name.
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
|
||||
<details class="example" open>
|
||||
<summary>Example</summary>
|
||||
<p>Typical values:</p>
|
||||
<div class="language-text highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code>``"John Doe <john@example.com>"`` -> ``("john@example.com", "John Doe")``
|
||||
``"john@example.com"`` -> ``("john@example.com", None)``
|
||||
</code></pre></div></td></tr></table></div>
|
||||
<ul>
|
||||
<li><code>"John Doe <john@example.com>"</code> -> <code>("john@example.com", "John Doe")</code></li>
|
||||
<li><code>"john@example.com"</code> -> <code>("john@example.com", None)</code></li>
|
||||
</ul>
|
||||
</details>
|
||||
</div>
|
||||
|
||||
@@ -1423,36 +1425,40 @@ Dictionary mapping lowercase header names to stripped values.</p>
|
||||
<summary>Notes</summary>
|
||||
<p><strong>Guarantees:</strong></p>
|
||||
<div class="language-text highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
|
||||
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><code>- Provider payloads (such as Gmail) typically represent headers as a list of name/value mappings
|
||||
- This function normalizes them into a case-insensitive dictionary keyed by lowercase header names
|
||||
<span class="normal">2</span>
|
||||
<span class="normal">3</span>
|
||||
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code>- Provider payloads (such as Gmail) typically represent headers as a
|
||||
list of name/value mappings.
|
||||
- This function normalizes them into a case-insensitive dictionary
|
||||
keyed by lowercase header names.
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
|
||||
<details class="example" open>
|
||||
<summary>Example</summary>
|
||||
<p>Typical usage:</p>
|
||||
<div class="language-text highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
|
||||
<span class="normal"> 2</span>
|
||||
<span class="normal"> 3</span>
|
||||
<span class="normal"> 4</span>
|
||||
<span class="normal"> 5</span>
|
||||
<span class="normal"> 6</span>
|
||||
<span class="normal"> 7</span>
|
||||
<span class="normal"> 8</span>
|
||||
<span class="normal"> 9</span>
|
||||
<span class="normal">10</span>
|
||||
<span class="normal">11</span></pre></div></td><td class="code"><div><pre><span></span><code>Input:
|
||||
[
|
||||
{"name": "From", "value": "John Doe <john@example.com>"},
|
||||
{"name": "Subject", "value": "Re: Interview Update"},
|
||||
]
|
||||
|
||||
Output:
|
||||
{
|
||||
"from": "John Doe <john@example.com>",
|
||||
"subject": "Re: Interview Update",
|
||||
}
|
||||
</code></pre></div></td></tr></table></div>
|
||||
<div class="language-python highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1"> 1</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-2"> 2</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-3"> 3</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-4"> 4</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-5"> 5</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-6"> 6</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-7"> 7</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-8"> 8</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-9"> 9</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-10">10</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-11">11</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1"></a><span class="n">Input</span><span class="p">:</span>
|
||||
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2"></a> <span class="p">[</span>
|
||||
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3"></a> <span class="p">{</span><span class="s2">"name"</span><span class="p">:</span> <span class="s2">"From"</span><span class="p">,</span> <span class="s2">"value"</span><span class="p">:</span> <span class="s2">"John Doe <john@example.com>"</span><span class="p">},</span>
|
||||
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4"></a> <span class="p">{</span><span class="s2">"name"</span><span class="p">:</span> <span class="s2">"Subject"</span><span class="p">,</span> <span class="s2">"value"</span><span class="p">:</span> <span class="s2">"Re: Interview Update"</span><span class="p">},</span>
|
||||
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5"></a> <span class="p">]</span>
|
||||
</span><span id="__span-0-6"><a id="__codelineno-0-6" name="__codelineno-0-6"></a>
|
||||
</span><span id="__span-0-7"><a id="__codelineno-0-7" name="__codelineno-0-7"></a><span class="n">Output</span><span class="p">:</span>
|
||||
</span><span id="__span-0-8"><a id="__codelineno-0-8" name="__codelineno-0-8"></a> <span class="p">{</span>
|
||||
</span><span id="__span-0-9"><a id="__codelineno-0-9" name="__codelineno-0-9"></a> <span class="s2">"from"</span><span class="p">:</span> <span class="s2">"John Doe <john@example.com>"</span><span class="p">,</span>
|
||||
</span><span id="__span-0-10"><a id="__codelineno-0-10" name="__codelineno-0-10"></a> <span class="s2">"subject"</span><span class="p">:</span> <span class="s2">"Re: Interview Update"</span><span class="p">,</span>
|
||||
</span><span id="__span-0-11"><a id="__codelineno-0-11" name="__codelineno-0-11"></a> <span class="p">}</span>
|
||||
</span></code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user