Fix in name in attacht files whend send emails
This commit is contained in:
parent
108659da4a
commit
90dae8a9b4
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -169,6 +169,17 @@ Export
|
|||
^^^^^^
|
||||
|
||||
|
||||
Fonst
|
||||
^^^^^
|
||||
|
||||
* Get all fonts
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fonts = app.get_fonts()
|
||||
for f in fonts:
|
||||
print(f'Name: {f.Name} - StyleName: {f.StyleName}')
|
||||
|
||||
|
||||
Call dispatch
|
||||
^^^^^^^^^^^^^
|
||||
|
|
|
@ -9,12 +9,90 @@ Remember, always import library.
|
|||
import easymacro as app
|
||||
|
||||
|
||||
**IMPORTANT:** Always save your config the more security way possible.
|
||||
|
||||
|
||||
Send email
|
||||
^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.OS)
|
||||
from conf import PASSWORD
|
||||
|
||||
SERVER = dict(
|
||||
server = 'mail.server.net' ,
|
||||
port = 495,
|
||||
ssl = True,
|
||||
user = 'no-responder@noexiste.mx',
|
||||
password = PASSWORD,
|
||||
)
|
||||
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards"
|
||||
|
||||
message = dict(
|
||||
to = 'ingrid.bergman@love.you',
|
||||
subject = 'I love you',
|
||||
body = body,
|
||||
)
|
||||
|
||||
app.send_email(SERVER, message)
|
||||
|
||||
* We can use fields `cc`, `bcc` too and send to more than one address emails.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
to = 'mail1@correo.com,mail2@correo.com,mail3@correo.com'
|
||||
cc = 'other@correo.com'
|
||||
bcc = 'hidden@correo.com'
|
||||
|
||||
* We can send to more than one message.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message1 = dict(
|
||||
to = 'ingrid.bergman@email.net',
|
||||
subject = 'I love you',
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards",
|
||||
)
|
||||
message2 = dict(
|
||||
to = 'sophia.loren@email.net',
|
||||
subject = 'I love you',
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards",
|
||||
)
|
||||
messages = (message1, message2)
|
||||
|
||||
app.send_email(SERVER, messages)
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
30/06/2021 13:43:23 - DEBUG - Connect to: mail.gandi.net
|
||||
30/06/2021 13:43:24 - DEBUG - Email sent...
|
||||
30/06/2021 13:43:26 - DEBUG - Email sent...
|
||||
30/06/2021 13:43:26 - DEBUG - Close connection...
|
||||
|
||||
* Send with attachment
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
files = '/home/mau/file.epub'
|
||||
message = dict(
|
||||
to = 'ingrid.bergman@email.net',
|
||||
subject = 'I love you',
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards",
|
||||
files = files,
|
||||
)
|
||||
|
||||
* Send more than one file.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
files = (
|
||||
'/home/mau/file1.epub',
|
||||
'/home/mau/file2.epub',
|
||||
)
|
||||
|
||||
|
||||
* All emails always send in other thread.
|
||||
|
||||
|
||||
.. _cryptography: https://github.com/pyca/cryptography
|
||||
|
|
|
@ -505,7 +505,28 @@ Simple url open
|
|||
For more complex case, you can used `requests`_ or `httpx`_
|
||||
|
||||
|
||||
Color
|
||||
^^^^^
|
||||
|
||||
Look colors that you can used in `web colors`_
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
color_name = 'darkblue'
|
||||
color = app.get_color(color_name)
|
||||
app.msgbox(color)
|
||||
|
||||
color_rgb = (125, 200, 10)
|
||||
color = app.get_color(color_rgb)
|
||||
app.msgbox(color)
|
||||
|
||||
color_html = '#008080'
|
||||
color = app.get_color(color_html)
|
||||
app.msgbox(color)
|
||||
|
||||
|
||||
.. _epoch time: https://en.wikipedia.org/wiki/Unix_time
|
||||
.. _cryptography: https://github.com/pyca/cryptography
|
||||
.. _requests: https://docs.python-requests.org
|
||||
.. _httpx: https://www.python-httpx.org/
|
||||
.. _web colors: https://en.wikipedia.org/wiki/Web_colors
|
||||
|
|
|
@ -166,6 +166,17 @@
|
|||
<section id="export">
|
||||
<h2>Export<a class="headerlink" href="#export" title="Permalink to this headline">¶</a></h2>
|
||||
</section>
|
||||
<section id="fonst">
|
||||
<h2>Fonst<a class="headerlink" href="#fonst" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Get all fonts</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">fonts</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">get_fonts</span><span class="p">()</span>
|
||||
<span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">fonts</span><span class="p">:</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">'Name: </span><span class="si">{</span><span class="n">f</span><span class="o">.</span><span class="n">Name</span><span class="si">}</span><span class="s1"> - StyleName: </span><span class="si">{</span><span class="n">f</span><span class="o">.</span><span class="n">StyleName</span><span class="si">}</span><span class="s1">'</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="call-dispatch">
|
||||
<h2>Call dispatch<a class="headerlink" href="#call-dispatch" title="Permalink to this headline">¶</a></h2>
|
||||
<p>You can call any <a class="reference external" href="https://wiki.documentfoundation.org/Development/DispatchCommands">dispatch command</a> used only if property or method no exists in original object or in <cite>easymacro.py</cite></p>
|
||||
|
|
|
@ -80,6 +80,7 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="tools.html#render-string">Render string</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html#encrypt-decrypt">Encrypt decrypt</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html#simple-url-open">Simple url open</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="tools.html#color">Color</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="paths.html">Paths and files</a><ul>
|
||||
|
@ -129,6 +130,7 @@
|
|||
<li class="toctree-l2"><a class="reference internal" href="application.html#save">Save</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html#to-pdf">To PDF</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html#export">Export</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html#fonst">Fonst</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="application.html#call-dispatch">Call dispatch</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
|
|
@ -39,11 +39,86 @@
|
|||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">easymacro</span> <span class="k">as</span> <span class="nn">app</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>IMPORTANT:</strong> Always save your config the more security way possible.</p>
|
||||
<section id="send-email">
|
||||
<h2>Send email<a class="headerlink" href="#send-email" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">app</span><span class="o">.</span><span class="n">OS</span><span class="p">)</span>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">conf</span> <span class="kn">import</span> <span class="n">PASSWORD</span>
|
||||
|
||||
<span class="n">SERVER</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
|
||||
<span class="n">server</span> <span class="o">=</span> <span class="s1">'mail.server.net'</span> <span class="p">,</span>
|
||||
<span class="n">port</span> <span class="o">=</span> <span class="mi">495</span><span class="p">,</span>
|
||||
<span class="n">ssl</span> <span class="o">=</span> <span class="kc">True</span><span class="p">,</span>
|
||||
<span class="n">user</span> <span class="o">=</span> <span class="s1">'no-responder@noexiste.mx'</span><span class="p">,</span>
|
||||
<span class="n">password</span> <span class="o">=</span> <span class="n">PASSWORD</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="n">body</span> <span class="o">=</span> <span class="s2">"Hello Ingrid</span><span class="se">\n\n</span><span class="s2">Who are you?</span><span class="se">\n\n</span><span class="s2">Best regards"</span>
|
||||
|
||||
<span class="n">message</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
|
||||
<span class="n">to</span> <span class="o">=</span> <span class="s1">'ingrid.bergman@love.you'</span><span class="p">,</span>
|
||||
<span class="n">subject</span> <span class="o">=</span> <span class="s1">'I love you'</span><span class="p">,</span>
|
||||
<span class="n">body</span> <span class="o">=</span> <span class="n">body</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">send_email</span><span class="p">(</span><span class="n">SERVER</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>We can use fields <cite>cc</cite>, <cite>bcc</cite> too and send to more than one address emails.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">to</span> <span class="o">=</span> <span class="s1">'mail1@correo.com,mail2@correo.com,mail3@correo.com'</span>
|
||||
<span class="n">cc</span> <span class="o">=</span> <span class="s1">'other@correo.com'</span>
|
||||
<span class="n">bcc</span> <span class="o">=</span> <span class="s1">'hidden@correo.com'</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>We can send to more than one message.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">message1</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
|
||||
<span class="n">to</span> <span class="o">=</span> <span class="s1">'ingrid.bergman@email.net'</span><span class="p">,</span>
|
||||
<span class="n">subject</span> <span class="o">=</span> <span class="s1">'I love you'</span><span class="p">,</span>
|
||||
<span class="n">body</span> <span class="o">=</span> <span class="s2">"Hello Ingrid</span><span class="se">\n\n</span><span class="s2">Who are you?</span><span class="se">\n\n</span><span class="s2">Best regards"</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
<span class="n">message2</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
|
||||
<span class="n">to</span> <span class="o">=</span> <span class="s1">'sophia.loren@email.net'</span><span class="p">,</span>
|
||||
<span class="n">subject</span> <span class="o">=</span> <span class="s1">'I love you'</span><span class="p">,</span>
|
||||
<span class="n">body</span> <span class="o">=</span> <span class="s2">"Hello Ingrid</span><span class="se">\n\n</span><span class="s2">Who are you?</span><span class="se">\n\n</span><span class="s2">Best regards"</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
<span class="n">messages</span> <span class="o">=</span> <span class="p">(</span><span class="n">message1</span><span class="p">,</span> <span class="n">message2</span><span class="p">)</span>
|
||||
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">send_email</span><span class="p">(</span><span class="n">SERVER</span><span class="p">,</span> <span class="n">messages</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="m">30</span>/06/2021 <span class="m">13</span>:43:23 - DEBUG - Connect to: mail.gandi.net
|
||||
<span class="m">30</span>/06/2021 <span class="m">13</span>:43:24 - DEBUG - Email sent...
|
||||
<span class="m">30</span>/06/2021 <span class="m">13</span>:43:26 - DEBUG - Email sent...
|
||||
<span class="m">30</span>/06/2021 <span class="m">13</span>:43:26 - DEBUG - Close connection...
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Send with attachment</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">files</span> <span class="o">=</span> <span class="s1">'/home/mau/file.epub'</span>
|
||||
<span class="n">message</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span>
|
||||
<span class="n">to</span> <span class="o">=</span> <span class="s1">'ingrid.bergman@email.net'</span><span class="p">,</span>
|
||||
<span class="n">subject</span> <span class="o">=</span> <span class="s1">'I love you'</span><span class="p">,</span>
|
||||
<span class="n">body</span> <span class="o">=</span> <span class="s2">"Hello Ingrid</span><span class="se">\n\n</span><span class="s2">Who are you?</span><span class="se">\n\n</span><span class="s2">Best regards"</span><span class="p">,</span>
|
||||
<span class="n">files</span> <span class="o">=</span> <span class="n">files</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Send more than one file.</p></li>
|
||||
</ul>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">files</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<span class="s1">'/home/mau/file1.epub'</span><span class="p">,</span>
|
||||
<span class="s1">'/home/mau/file2.epub'</span><span class="p">,</span>
|
||||
<span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>All emails always send in other thread.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -482,6 +482,23 @@ drwxr-xr-x <span class="m">2</span> mau mau <span class="m">4</span>.0K Jun <sp
|
|||
</div>
|
||||
<p>For more complex case, you can used <a class="reference external" href="https://docs.python-requests.org">requests</a> or <a class="reference external" href="https://www.python-httpx.org/">httpx</a></p>
|
||||
</section>
|
||||
<section id="color">
|
||||
<h2>Color<a class="headerlink" href="#color" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Look colors that you can used in <a class="reference external" href="https://en.wikipedia.org/wiki/Web_colors">web colors</a></p>
|
||||
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">color_name</span> <span class="o">=</span> <span class="s1">'darkblue'</span>
|
||||
<span class="n">color</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">get_color</span><span class="p">(</span><span class="n">color_name</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
|
||||
|
||||
<span class="n">color_rgb</span> <span class="o">=</span> <span class="p">(</span><span class="mi">125</span><span class="p">,</span> <span class="mi">200</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
|
||||
<span class="n">color</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">get_color</span><span class="p">(</span><span class="n">color_rgb</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
|
||||
|
||||
<span class="n">color_html</span> <span class="o">=</span> <span class="s1">'#008080'</span>
|
||||
<span class="n">color</span> <span class="o">=</span> <span class="n">app</span><span class="o">.</span><span class="n">get_color</span><span class="p">(</span><span class="n">color_html</span><span class="p">)</span>
|
||||
<span class="n">app</span><span class="o">.</span><span class="n">msgbox</span><span class="p">(</span><span class="n">color</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -169,6 +169,17 @@ Export
|
|||
^^^^^^
|
||||
|
||||
|
||||
Fonst
|
||||
^^^^^
|
||||
|
||||
* Get all fonts
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
fonts = app.get_fonts()
|
||||
for f in fonts:
|
||||
print(f'Name: {f.Name} - StyleName: {f.StyleName}')
|
||||
|
||||
|
||||
Call dispatch
|
||||
^^^^^^^^^^^^^
|
||||
|
|
|
@ -9,12 +9,90 @@ Remember, always import library.
|
|||
import easymacro as app
|
||||
|
||||
|
||||
**IMPORTANT:** Always save your config the more security way possible.
|
||||
|
||||
|
||||
Send email
|
||||
^^^^^^^^^^
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
app.msgbox(app.OS)
|
||||
from conf import PASSWORD
|
||||
|
||||
SERVER = dict(
|
||||
server = 'mail.server.net' ,
|
||||
port = 495,
|
||||
ssl = True,
|
||||
user = 'no-responder@noexiste.mx',
|
||||
password = PASSWORD,
|
||||
)
|
||||
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards"
|
||||
|
||||
message = dict(
|
||||
to = 'ingrid.bergman@love.you',
|
||||
subject = 'I love you',
|
||||
body = body,
|
||||
)
|
||||
|
||||
app.send_email(SERVER, message)
|
||||
|
||||
* We can use fields `cc`, `bcc` too and send to more than one address emails.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
to = 'mail1@correo.com,mail2@correo.com,mail3@correo.com'
|
||||
cc = 'other@correo.com'
|
||||
bcc = 'hidden@correo.com'
|
||||
|
||||
* We can send to more than one message.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
message1 = dict(
|
||||
to = 'ingrid.bergman@email.net',
|
||||
subject = 'I love you',
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards",
|
||||
)
|
||||
message2 = dict(
|
||||
to = 'sophia.loren@email.net',
|
||||
subject = 'I love you',
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards",
|
||||
)
|
||||
messages = (message1, message2)
|
||||
|
||||
app.send_email(SERVER, messages)
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
30/06/2021 13:43:23 - DEBUG - Connect to: mail.gandi.net
|
||||
30/06/2021 13:43:24 - DEBUG - Email sent...
|
||||
30/06/2021 13:43:26 - DEBUG - Email sent...
|
||||
30/06/2021 13:43:26 - DEBUG - Close connection...
|
||||
|
||||
* Send with attachment
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
files = '/home/mau/file.epub'
|
||||
message = dict(
|
||||
to = 'ingrid.bergman@email.net',
|
||||
subject = 'I love you',
|
||||
body = "Hello Ingrid\n\nWho are you?\n\nBest regards",
|
||||
files = files,
|
||||
)
|
||||
|
||||
* Send more than one file.
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
files = (
|
||||
'/home/mau/file1.epub',
|
||||
'/home/mau/file2.epub',
|
||||
)
|
||||
|
||||
|
||||
* All emails always send in other thread.
|
||||
|
||||
|
||||
.. _cryptography: https://github.com/pyca/cryptography
|
||||
|
|
|
@ -505,7 +505,28 @@ Simple url open
|
|||
For more complex case, you can used `requests`_ or `httpx`_
|
||||
|
||||
|
||||
Color
|
||||
^^^^^
|
||||
|
||||
Look colors that you can used in `web colors`_
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
color_name = 'darkblue'
|
||||
color = app.get_color(color_name)
|
||||
app.msgbox(color)
|
||||
|
||||
color_rgb = (125, 200, 10)
|
||||
color = app.get_color(color_rgb)
|
||||
app.msgbox(color)
|
||||
|
||||
color_html = '#008080'
|
||||
color = app.get_color(color_html)
|
||||
app.msgbox(color)
|
||||
|
||||
|
||||
.. _epoch time: https://en.wikipedia.org/wiki/Unix_time
|
||||
.. _cryptography: https://github.com/pyca/cryptography
|
||||
.. _requests: https://docs.python-requests.org
|
||||
.. _httpx: https://www.python-httpx.org/
|
||||
.. _web colors: https://en.wikipedia.org/wiki/Web_colors
|
||||
|
|
|
@ -892,11 +892,11 @@ class SmtpServer(object):
|
|||
return False
|
||||
|
||||
def _body(self, msg):
|
||||
body = msg.replace('\\n', '<BR>')
|
||||
body = msg.replace('\n', '<BR>')
|
||||
return body
|
||||
|
||||
def send(self, message):
|
||||
file_name = 'attachment; filename={}'
|
||||
# ~ file_name = 'attachment; filename={}'
|
||||
email = MIMEMultipart()
|
||||
email['From'] = self._sender
|
||||
email['To'] = message['to']
|
||||
|
@ -907,12 +907,16 @@ class SmtpServer(object):
|
|||
email['Disposition-Notification-To'] = email['From']
|
||||
email.attach(MIMEText(self._body(message['body']), 'html'))
|
||||
|
||||
for path in message.get('files', ()):
|
||||
paths = message.get('files', ())
|
||||
if isinstance(paths, str):
|
||||
paths = (paths,)
|
||||
for path in paths:
|
||||
fn = _P(path).file_name
|
||||
print('NAME', fn)
|
||||
part = MIMEBase('application', 'octet-stream')
|
||||
part.set_payload(_P.read_bin(path))
|
||||
encoders.encode_base64(part)
|
||||
part.add_header('Content-Disposition', f'attachment; filename={fn}')
|
||||
part.add_header('Content-Disposition', f'attachment; filename="{fn}"')
|
||||
email.attach(part)
|
||||
|
||||
receivers = (
|
||||
|
|
Loading…
Reference in New Issue