Skip to content

Commit

Permalink
Add changes for 1654a29
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Dec 6, 2024
1 parent 9e80738 commit d38fb9d
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 22 deletions.
7 changes: 4 additions & 3 deletions Explanation/SarraPluginDev.html
Original file line number Diff line number Diff line change
Expand Up @@ -945,13 +945,14 @@ <h4>Using Credentials in Plugins<a class="headerlink" href="#using-credentials-i
</section>
<section id="accessing-accept-reject-masks">
<h4>Accessing accept/reject “masks”<a class="headerlink" href="#accessing-accept-reject-masks" title="Link to this heading"></a></h4>
<p>When a message is accepted or rejected, the “mask” that was used to accept/reject it will be stored in the value of the message’s <code class="docutils literal notranslate"><span class="pre">_mask</span></code> key. The <code class="docutils literal notranslate"><span class="pre">_mask</span></code> is a tuple that contains the regex from the accept/reject statement, the corresponding <code class="docutils literal notranslate"><span class="pre">directory</span></code> path, the value of the <code class="docutils literal notranslate"><span class="pre">mirror</span></code> and <code class="docutils literal notranslate"><span class="pre">filename</span></code> options. The last item in the tuple is a list containing any additional text, split by whitespace, that was included at the end of the accept/reject line in the config file. This additional text can be used to pass additional information to plugins.</p>
<p>When a message is accepted or rejected, the list <em>index</em> of the “mask” that was used to accept/reject it will be stored in the value of the message’s <code class="docutils literal notranslate"><span class="pre">_mask_index</span></code> key. A mask is a tuple that contains the regex from the accept/reject statement, the corresponding <code class="docutils literal notranslate"><span class="pre">directory</span></code> path, the value of the <code class="docutils literal notranslate"><span class="pre">mirror</span></code> and <code class="docutils literal notranslate"><span class="pre">filename</span></code> options. The last item in the tuple is a list containing any additional text, split by whitespace, that was included at the end of the accept/reject line in the config file. This additional text can be used to pass additional information to plugins.</p>
<p>For example, with an accept statement in a config file like this:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">accept</span> <span class="o">.*</span><span class="n">abc</span><span class="o">.*</span> <span class="n">your_text</span><span class="o">=</span><span class="n">here</span> <span class="n">from_accept_abc</span>
</pre></div>
</div>
<p>The last item in <code class="docutils literal notranslate"><span class="pre">msg['_mask']</span></code> would be:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">msg</span><span class="p">[</span><span class="s1">&#39;_mask&#39;</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="c1"># == [ &#39;your_text=here&#39;, &#39;from_accept_abc&#39; ]</span>
<p>The mask can be accessed with <code class="docutils literal notranslate"><span class="pre">self.o.masks[msg['_mask_index']]</span></code>. The last item in the mask contains the arguments from the accept statement:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">mask</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">o</span><span class="o">.</span><span class="n">masks</span><span class="p">[</span><span class="n">msg</span><span class="p">[</span><span class="s1">&#39;_mask_index&#39;</span><span class="p">]</span>
<span class="nb">print</span><span class="p">(</span><span class="n">mask</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span> <span class="c1"># --&gt; [ &#39;your_text=here&#39;, &#39;from_accept_abc&#39; ]</span>
</pre></div>
</div>
</section>
Expand Down
16 changes: 8 additions & 8 deletions _modules/sarracenia/flow.html
Original file line number Diff line number Diff line change
Expand Up @@ -1135,18 +1135,18 @@ <h1>Source code for sarracenia.flow</h1><div class="highlight"><pre>
<span class="k">else</span><span class="p">:</span>
<span class="n">urlToMatch</span> <span class="o">=</span> <span class="n">url</span>
<span class="n">oldname_matched</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">for</span> <span class="n">mask</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">o</span><span class="o">.</span><span class="n">masks</span><span class="p">:</span>
<span class="k">for</span> <span class="n">mask_index</span><span class="p">,</span> <span class="n">mask</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">o</span><span class="o">.</span><span class="n">masks</span><span class="p">):</span>
<span class="n">pattern</span><span class="p">,</span> <span class="n">maskDir</span><span class="p">,</span> <span class="n">maskFileOption</span><span class="p">,</span> <span class="n">mask_regexp</span><span class="p">,</span> <span class="n">accepting</span><span class="p">,</span> <span class="n">mirror</span><span class="p">,</span> <span class="n">strip</span><span class="p">,</span> <span class="n">pstrip</span><span class="p">,</span> <span class="n">flatten</span><span class="p">,</span> <span class="n">args</span> <span class="o">=</span> <span class="n">mask</span>
<span class="k">if</span> <span class="p">(</span><span class="n">pattern</span> <span class="o">==</span> <span class="s1">&#39;.*&#39;</span><span class="p">):</span>
<span class="n">oldname_matched</span> <span class="o">=</span> <span class="n">accepting</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_mask&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mask</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_deleteOnPost&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s1">&#39;_mask&#39;</span><span class="p">)</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_mask_index&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mask_index</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_deleteOnPost&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s1">&#39;_mask_index&#39;</span><span class="p">)</span>
<span class="k">break</span>
<span class="n">matches</span> <span class="o">=</span> <span class="n">mask_regexp</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">urlToMatch</span><span class="p">)</span>
<span class="k">if</span> <span class="n">matches</span><span class="p">:</span>
<span class="n">m</span><span class="p">[</span> <span class="s1">&#39;_matches&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">matches</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_mask&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mask</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_deleteOnPost&#39;</span><span class="p">]</span> <span class="o">|=</span> <span class="nb">set</span><span class="p">([</span><span class="s1">&#39;_matches&#39;</span><span class="p">,</span> <span class="s1">&#39;_mask&#39;</span><span class="p">])</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_mask_index&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mask_index</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_deleteOnPost&#39;</span><span class="p">]</span> <span class="o">|=</span> <span class="nb">set</span><span class="p">([</span><span class="s1">&#39;_matches&#39;</span><span class="p">,</span> <span class="s1">&#39;_mask_index&#39;</span><span class="p">])</span>
<span class="n">oldname_matched</span> <span class="o">=</span> <span class="n">accepting</span>
<span class="k">break</span>

Expand All @@ -1167,7 +1167,7 @@ <h1>Source code for sarracenia.flow</h1><div class="highlight"><pre>
<span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span> <span class="sa">f</span><span class="s2">&quot; urlToMatch: </span><span class="si">{</span><span class="n">urlToMatch</span><span class="si">}</span><span class="s2"> &quot;</span> <span class="p">)</span>
<span class="c1"># apply masks for accept/reject options.</span>
<span class="n">matched</span> <span class="o">=</span> <span class="kc">False</span>
<span class="k">for</span> <span class="n">mask</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">o</span><span class="o">.</span><span class="n">masks</span><span class="p">:</span>
<span class="k">for</span> <span class="n">mask_index</span><span class="p">,</span> <span class="n">mask</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">o</span><span class="o">.</span><span class="n">masks</span><span class="p">):</span>
<span class="n">pattern</span><span class="p">,</span> <span class="n">maskDir</span><span class="p">,</span> <span class="n">maskFileOption</span><span class="p">,</span> <span class="n">mask_regexp</span><span class="p">,</span> <span class="n">accepting</span><span class="p">,</span> <span class="n">mirror</span><span class="p">,</span> <span class="n">strip</span><span class="p">,</span> <span class="n">pstrip</span><span class="p">,</span> <span class="n">flatten</span><span class="p">,</span> <span class="n">args</span> <span class="o">=</span> <span class="n">mask</span>
<span class="k">if</span> <span class="p">(</span><span class="n">pattern</span> <span class="o">!=</span> <span class="s1">&#39;.*&#39;</span><span class="p">)</span> <span class="p">:</span>
<span class="n">matches</span> <span class="o">=</span> <span class="n">mask_regexp</span><span class="o">.</span><span class="n">match</span><span class="p">(</span><span class="n">urlToMatch</span><span class="p">)</span>
Expand All @@ -1192,8 +1192,8 @@ <h1>Source code for sarracenia.flow</h1><div class="highlight"><pre>
<span class="k">break</span>


<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_mask&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mask</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_deleteOnPost&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s1">&#39;_mask&#39;</span><span class="p">)</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_mask_index&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mask_index</span>
<span class="n">m</span><span class="p">[</span><span class="s1">&#39;_deleteOnPost&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="s1">&#39;_mask_index&#39;</span><span class="p">)</span>

<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">updateFieldsAccepted</span><span class="p">(</span><span class="n">m</span><span class="p">,</span> <span class="n">url</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">maskDir</span><span class="p">,</span>
<span class="n">maskFileOption</span><span class="p">,</span> <span class="n">mirror</span><span class="p">,</span> <span class="n">strip</span><span class="p">,</span>
Expand Down
7 changes: 4 additions & 3 deletions _sources/Explanation/SarraPluginDev.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -908,17 +908,18 @@ of the buffer used is given by the **bufsize** option (default 8192).
Accessing accept/reject "masks"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

When a message is accepted or rejected, the "mask" that was used to accept/reject it will be stored in the value of the message's ``_mask`` key. The ``_mask`` is a tuple that contains the regex from the accept/reject statement, the corresponding ``directory`` path, the value of the ``mirror`` and ``filename`` options. The last item in the tuple is a list containing any additional text, split by whitespace, that was included at the end of the accept/reject line in the config file. This additional text can be used to pass additional information to plugins.
When a message is accepted or rejected, the list *index* of the "mask" that was used to accept/reject it will be stored in the value of the message's ``_mask_index`` key. A mask is a tuple that contains the regex from the accept/reject statement, the corresponding ``directory`` path, the value of the ``mirror`` and ``filename`` options. The last item in the tuple is a list containing any additional text, split by whitespace, that was included at the end of the accept/reject line in the config file. This additional text can be used to pass additional information to plugins.

For example, with an accept statement in a config file like this::
accept .*abc.* your_text=here from_accept_abc

The last item in ``msg['_mask']`` would be:
The mask can be accessed with ``self.o.masks[msg['_mask_index']]``. The last item in the mask contains the arguments from the accept statement:

.. code-block:: python
msg['_mask'][-1] # == [ 'your_text=here', 'from_accept_abc' ]
mask = self.o.masks[msg['_mask_index']
print(mask[-1]) # --> [ 'your_text=here', 'from_accept_abc' ]
Why v3 API should be used whenever possible
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
9 changes: 5 additions & 4 deletions _sources/fr/Explication/SarraPluginDev.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -789,17 +789,18 @@ du buffer utilisé est donné par l’option **bufsize** (8192 par défaut).
Accéder aux « masques » d'accept/reject
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Lorsqu'un message est accepté ou rejeté, le « masque » qui a été utilisé pour l'accept/reject sera stocké dans la valeur de la clé ``_mask`` du message. Le ``_mask`` est un tuple qui contient l'expression régulière de l'instruction d'accept/reject, le chemin du ``directory`` correspondant, la valeur des options ``mirror`` et ``filename`` . Le dernier élément de le tuple est une liste contenant tout texte supplémentaire, divisé par espaces, inclus à la fin de la ligne d'accept/reject dans le fichier de configuration. Ce texte supplémentaire peut être utilisé pour transmettre des informations supplémentaires aux plugins.
Lorsqu'un message est accepté ou rejeté, la liste *index* de mask qui a été utilisé pour l'accept/reject sera stocké dans la valeur de la clé ``_mask_index`` du message. Le mask est un tuple qui contient l'expression régulière de l'instruction d'accept/reject, le chemin du ``directory`` correspondant, la valeur des options ``mirror`` et ``filename`` . Le dernier élément de le tuple est une liste contenant tout texte supplémentaire, divisé par espaces, inclus à la fin de la ligne d'accept/reject dans le fichier de configuration. Ce texte supplémentaire peut être utilisé pour transmettre des informations supplémentaires aux plugins.

Par exemple, avec une instruction accept dans un fichier de configuration comme ceci :

accept .*abc.* votre_texte=ici from_accept_abc

Le dernier élément de ``msg['_mask']`` serait :
Le mask est accessible avec ``self.o.masks[msg['_mask_index']]``. Le dernier élément du mask contient les arguments de l'instruction accept :

.. code-block:: python
msg['_mask'][-1] # == [ 'votre_text=ici', 'from_accept_abc' ]
mask = self.o.masks[msg['_mask_index']
print(mask[-1]) # --> [ 'votre_text=ici', 'from_accept_abc' ]
Pourquoi l’API v3 doit être utilisée dans la mesure du possible
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
Loading

0 comments on commit d38fb9d

Please sign in to comment.