blob: 23a30b73f1c7747015e8c21f72f64cccfbafcc4c [file] [log] [blame]
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>airflow.contrib.hooks.imap_hook &mdash; Airflow Documentation</title>
<script type="text/javascript" src="../../../../../_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../../../../../" src="../../../../../_static/documentation_options.js"></script>
<script type="text/javascript" src="../../../../../_static/jquery.js"></script>
<script type="text/javascript" src="../../../../../_static/underscore.js"></script>
<script type="text/javascript" src="../../../../../_static/doctools.js"></script>
<script type="text/javascript" src="../../../../../_static/language_data.js"></script>
<script type="text/javascript" src="../../../../../_static/js/theme.js"></script>
<link rel="stylesheet" href="../../../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../../../_static/pygments.css" type="text/css" />
<link rel="index" title="Index" href="../../../../../genindex.html" />
<link rel="search" title="Search" href="../../../../../search.html" />
<link rel="next" title="airflow.contrib.hooks.jenkins_hook" href="../jenkins_hook/index.html" />
<link rel="prev" title="airflow.contrib.hooks.grpc_hook" href="../grpc_hook/index.html" />
<script>
document.addEventListener('DOMContentLoaded', function() {
var el = document.getElementById('changelog');
if (el !== null ) {
// [AIRFLOW-...]
el.innerHTML = el.innerHTML.replace(
/\[(AIRFLOW-[\d]+)\]/g,
`<a href="https://issues.apache.org/jira/browse/$1">[$1]</a>`
);
// (#...)
el.innerHTML = el.innerHTML.replace(
/\(#([\d]+)\)/g,
`<a href="https://github.com/apache/airflow/pull/$1">(#$1)</a>`
);
};
})
</script>
<style>
.example-header {
position: relative;
background: #9AAA7A;
padding: 8px 16px;
margin-bottom: 0;
}
.example-header--with-button {
padding-right: 166px;
}
.example-header:after{
content: '';
display: table;
clear: both;
}
.example-title {
display:block;
padding: 4px;
margin-right: 16px;
color: white;
overflow-x: auto;
}
.example-header-button {
top: 8px;
right: 16px;
position: absolute;
}
.example-header + .highlight-python {
margin-top: 0 !important;
}
.viewcode-button {
display: inline-block;
padding: 8px 16px;
border: 0;
margin: 0;
outline: 0;
border-radius: 2px;
-webkit-box-shadow: 0 3px 5px 0 rgba(0,0,0,.3);
box-shadow: 0 3px 6px 0 rgba(0,0,0,.3);
color: #404040;
background-color: #e7e7e7;
cursor: pointer;
font-size: 16px;
font-weight: 500;
line-height: 1;
text-decoration: none;
text-overflow: ellipsis;
overflow: hidden;
text-transform: uppercase;
-webkit-transition: background-color .2s;
transition: background-color .2s;
vertical-align: middle;
white-space: nowrap;
}
.viewcode-button:visited {
color: #404040;
}
.viewcode-button:hover, .viewcode-button:focus {
color: #404040;
background-color: #d6d6d6;
}
</style>
<script type="application/javascript">
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga("create", "UA-140539454-1", "auto");
ga("send", "pageview");
</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../../../index.html" class="icon icon-home"> Airflow
</a>
<div class="version">
1.10.4
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../../../project.html">Project</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../license.html">License</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../start.html">Quick Start</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../installation.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../tutorial.html">Tutorial</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../howto/index.html">How-to Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../ui.html">UI / Screenshots</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../profiling.html">Data Profiling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../cli.html">Command Line Interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../scheduler.html">Scheduling &amp; Triggers</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../plugins.html">Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../security.html">Security</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../timezone.html">Time zones</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../api.html">Experimental Rest API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../integration.html">Integration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../metrics.html">Metrics</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../kubernetes.html">Kubernetes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../lineage.html">Lineage</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../changelog.html">Changelog</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../faq.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../../macros.html">Macros reference</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../../../index.html">API Reference</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#operators">Operators</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../../../../index.html#hooks">Hooks</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="../../../../index.html#hooks-packages">Hooks packages</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="../../../hooks/index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.hooks</span></code></a></li>
<li class="toctree-l4 current"><a class="reference internal" href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#executors">Executors</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#models">Models</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../../index.html#core-and-community-package">Core and community package</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../../../index.html">Airflow</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../../../index.html">Docs</a> &raquo;</li>
<li><a href="../../../../index.html">API Reference</a> &raquo;</li>
<li><a href="../index.html"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks</span></code></a> &raquo;</li>
<li><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.imap_hook</span></code></li>
<li class="wy-breadcrumbs-aside">
<a href="../../../../../_sources/_api/airflow/contrib/hooks/imap_hook/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="module-airflow.contrib.hooks.imap_hook">
<span id="airflow-contrib-hooks-imap-hook"></span><h1><a class="reference internal" href="#module-airflow.contrib.hooks.imap_hook" title="airflow.contrib.hooks.imap_hook"><code class="xref py py-mod docutils literal notranslate"><span class="pre">airflow.contrib.hooks.imap_hook</span></code></a><a class="headerlink" href="#module-airflow.contrib.hooks.imap_hook" title="Permalink to this headline"></a></h1>
<div class="section" id="module-contents">
<h2>Module Contents<a class="headerlink" href="#module-contents" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.imap_hook.</code><code class="sig-name descname">ImapHook</code><span class="sig-paren">(</span><em class="sig-param">imap_conn_id='imap_default'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="../../../hooks/base_hook/index.html#airflow.hooks.base_hook.BaseHook" title="airflow.hooks.base_hook.BaseHook"><code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.hooks.base_hook.BaseHook</span></code></a></p>
<p>This hook connects to a mail server by using the imap protocol.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>imap_conn_id</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The connection id that contains the information used to authenticate the client.</p>
</dd>
</dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook.__enter__">
<code class="sig-name descname">__enter__</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook.__enter__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook.__enter__" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook.__exit__">
<code class="sig-name descname">__exit__</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">exc_type</em>, <em class="sig-param">exc_val</em>, <em class="sig-param">exc_tb</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook.__exit__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook.__exit__" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook.has_mail_attachment">
<code class="sig-name descname">has_mail_attachment</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em>, <em class="sig-param">mail_folder='INBOX'</em>, <em class="sig-param">check_regex=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook.has_mail_attachment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook.has_mail_attachment" title="Permalink to this definition"></a></dt>
<dd><p>Checks the mail folder for mails containing attachments with the given name.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the attachment that will be searched for.</p></li>
<li><p><strong>mail_folder</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The mail folder where to look at.</p></li>
<li><p><strong>check_regex</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Checks the name for a regular expression.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>True if there is an attachment with the given name and False if not.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook.retrieve_mail_attachments">
<code class="sig-name descname">retrieve_mail_attachments</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em>, <em class="sig-param">mail_folder='INBOX'</em>, <em class="sig-param">check_regex=False</em>, <em class="sig-param">latest_only=False</em>, <em class="sig-param">not_found_mode='raise'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook.retrieve_mail_attachments"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook.retrieve_mail_attachments" title="Permalink to this definition"></a></dt>
<dd><p>Retrieves mail’s attachments in the mail folder by its name.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the attachment that will be downloaded.</p></li>
<li><p><strong>mail_folder</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The mail folder where to look at.</p></li>
<li><p><strong>check_regex</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Checks the name for a regular expression.</p></li>
<li><p><strong>latest_only</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – If set to True it will only retrieve
the first matched attachment.</p></li>
<li><p><strong>not_found_mode</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Specify what should happen if no attachment has been found.
Supported values are ‘raise’, ‘warn’ and ‘ignore’.
If it is set to ‘raise’ it will raise an exception,
if set to ‘warn’ it will only print a warning and
if set to ‘ignore’ it won’t notify you at all.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>a list of tuple each containing the attachment filename and its payload.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>a list of tuple</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook.download_mail_attachments">
<code class="sig-name descname">download_mail_attachments</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em>, <em class="sig-param">local_output_directory</em>, <em class="sig-param">mail_folder='INBOX'</em>, <em class="sig-param">check_regex=False</em>, <em class="sig-param">latest_only=False</em>, <em class="sig-param">not_found_mode='raise'</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook.download_mail_attachments"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook.download_mail_attachments" title="Permalink to this definition"></a></dt>
<dd><p>Downloads mail’s attachments in the mail folder by its name to the local directory.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the attachment that will be downloaded.</p></li>
<li><p><strong>local_output_directory</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The output directory on the local machine
where the files will be downloaded to.</p></li>
<li><p><strong>mail_folder</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The mail folder where to look at.</p></li>
<li><p><strong>check_regex</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Checks the name for a regular expression.</p></li>
<li><p><strong>latest_only</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – If set to True it will only download
the first matched attachment.</p></li>
<li><p><strong>not_found_mode</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – Specify what should happen if no attachment has been found.
Supported values are ‘raise’, ‘warn’ and ‘ignore’.
If it is set to ‘raise’ it will raise an exception,
if set to ‘warn’ it will only print a warning and
if set to ‘ignore’ it won’t notify you at all.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._handle_not_found_mode">
<code class="sig-name descname">_handle_not_found_mode</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">not_found_mode</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._handle_not_found_mode"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._handle_not_found_mode" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._retrieve_mails_attachments_by_name">
<code class="sig-name descname">_retrieve_mails_attachments_by_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em>, <em class="sig-param">mail_folder</em>, <em class="sig-param">check_regex</em>, <em class="sig-param">latest_only</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._retrieve_mails_attachments_by_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._retrieve_mails_attachments_by_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._list_mail_ids_desc">
<code class="sig-name descname">_list_mail_ids_desc</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._list_mail_ids_desc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._list_mail_ids_desc" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._fetch_mail_body">
<code class="sig-name descname">_fetch_mail_body</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">mail_id</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._fetch_mail_body"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._fetch_mail_body" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._check_mail_body">
<code class="sig-name descname">_check_mail_body</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">response_mail_body</em>, <em class="sig-param">name</em>, <em class="sig-param">check_regex</em>, <em class="sig-param">latest_only</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._check_mail_body"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._check_mail_body" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._create_files">
<code class="sig-name descname">_create_files</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">mail_attachments</em>, <em class="sig-param">local_output_directory</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._create_files"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._create_files" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._is_symlink">
<code class="sig-name descname">_is_symlink</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._is_symlink"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._is_symlink" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._is_escaping_current_directory">
<code class="sig-name descname">_is_escaping_current_directory</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._is_escaping_current_directory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._is_escaping_current_directory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._correct_path">
<code class="sig-name descname">_correct_path</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em>, <em class="sig-param">local_output_directory</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._correct_path"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._correct_path" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.ImapHook._create_file">
<code class="sig-name descname">_create_file</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em>, <em class="sig-param">payload</em>, <em class="sig-param">local_output_directory</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#ImapHook._create_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.ImapHook._create_file" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="airflow.contrib.hooks.imap_hook.Mail">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.imap_hook.</code><code class="sig-name descname">Mail</code><span class="sig-paren">(</span><em class="sig-param">mail_body</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#Mail"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.Mail" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">airflow.LoggingMixin</span></code></p>
<p>This class simplifies working with mails returned by the imaplib client.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>mail_body</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The mail body of a mail received from imaplib client.</p>
</dd>
</dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.Mail.has_attachments">
<code class="sig-name descname">has_attachments</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#Mail.has_attachments"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.Mail.has_attachments" title="Permalink to this definition"></a></dt>
<dd><p>Checks the mail for a attachments.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>True if it has attachments and False if not.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.Mail.get_attachments_by_name">
<code class="sig-name descname">get_attachments_by_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em>, <em class="sig-param">check_regex</em>, <em class="sig-param">find_first=False</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#Mail.get_attachments_by_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.Mail.get_attachments_by_name" title="Permalink to this definition"></a></dt>
<dd><p>Gets all attachments by name for the mail.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name of the attachment to look for.</p></li>
<li><p><strong>check_regex</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – Checks the name for a regular expression.</p></li>
<li><p><strong>find_first</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)"><em>bool</em></a>) – If set to True it will only find the first match and then quit.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>a list of tuples each containing name and payload
where the attachments name matches the given name.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p>list of tuple</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="airflow.contrib.hooks.imap_hook.MailPart">
<em class="property">class </em><code class="sig-prename descclassname">airflow.contrib.hooks.imap_hook.</code><code class="sig-name descname">MailPart</code><span class="sig-paren">(</span><em class="sig-param">part</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#MailPart"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.MailPart" title="Permalink to this definition"></a></dt>
<dd><p>This class is a wrapper for a Mail object’s part and gives it more features.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>part</strong> (<em>any</em>) – The mail part in a Mail object.</p>
</dd>
</dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.MailPart.is_attachment">
<code class="sig-name descname">is_attachment</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#MailPart.is_attachment"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.MailPart.is_attachment" title="Permalink to this definition"></a></dt>
<dd><p>Checks if the part is a valid mail attachment.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>True if it is an attachment and False if not.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.MailPart.has_matching_name">
<code class="sig-name descname">has_matching_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#MailPart.has_matching_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.MailPart.has_matching_name" title="Permalink to this definition"></a></dt>
<dd><p>Checks if the given name matches the part’s name.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name to look for.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>True if it matches the name (including regular expression).</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.7)">tuple</a></p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.MailPart.has_equal_name">
<code class="sig-name descname">has_equal_name</code><span class="sig-paren">(</span><em class="sig-param">self</em>, <em class="sig-param">name</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#MailPart.has_equal_name"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.MailPart.has_equal_name" title="Permalink to this definition"></a></dt>
<dd><p>Checks if the given name is equal to the part’s name.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.7)"><em>str</em></a>) – The name to look for.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>True if it is equal to the given name.</p>
</dd>
<dt class="field-odd">Return type</dt>
<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.7)">bool</a></p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="airflow.contrib.hooks.imap_hook.MailPart.get_file">
<code class="sig-name descname">get_file</code><span class="sig-paren">(</span><em class="sig-param">self</em><span class="sig-paren">)</span><a class="reference internal" href="../../../../../_modules/airflow/contrib/hooks/imap_hook.html#MailPart.get_file"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#airflow.contrib.hooks.imap_hook.MailPart.get_file" title="Permalink to this definition"></a></dt>
<dd><p>Gets the file including name and payload.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>the part’s name and payload.</p>
</dd>
<dt class="field-even">Return type</dt>
<dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.7)">tuple</a></p>
</dd>
</dl>
</dd></dl>
</dd></dl>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../jenkins_hook/index.html" class="btn btn-neutral float-right" title="airflow.contrib.hooks.jenkins_hook" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="../grpc_hook/index.html" class="btn btn-neutral float-left" title="airflow.contrib.hooks.grpc_hook" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>