<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>ClammingPy doc</title>
<link rel="logo icon" href="./statics/clamming32x32.ico" />
<link rel="stylesheet" href="./Whakerexa-1.0/wexa_statics/css/wexa.css" type="text/css" />
<link rel="stylesheet" href="./Whakerexa-1.0/wexa_statics/css/layout.css" type="text/css" />
<link rel="stylesheet" href="./Whakerexa-1.0/wexa_statics/css/book.css" type="text/css" />
<link rel="stylesheet" href="./Whakerexa-1.0/wexa_statics/css/menu.css" type="text/css" />
<link rel="stylesheet" href="./Whakerexa-1.0/wexa_statics/css/code.css" type="text/css" />
<link rel="stylesheet" href="./statics/clamming.css" type="text/css" />
<script src="./Whakerexa-1.0/wexa_statics/js/wexa.js" type="module"></script>
<script src="./Whakerexa-1.0/wexa_statics/js/whakerpy/request.js" type="text/javascript"></script>
<script src="./Whakerexa-1.0/wexa_statics/js/book.js" type="application/javascript"></script>
<script type="module">
window.Wexa.OnLoadManager.addLoadFunction(() => {
let book = new Book("main-content");
book.fill_table(false);
});
</script>
</head>
<body class="light">
<header>
<a role="button" class="skip" href="#main-content" aria-label="Go to main content">
Go to main content
</a>
<nav>
<ul>
<li>
<button role="menuitem" class="print-off" onclick="AccessibilityManager.switch_contrast_scheme()" aria-label="Change contrast">
<img class="nav-item-img" src="./Whakerexa-1.0/wexa_statics/icons/contrast_switcher.jpg" alt="Contrast" id="img-contrast"/>
</button>
</li>
<li>
<button class="print-off" role="menuitem" onclick="AccessibilityManager.switch_color_scheme()" aria-label="Change theme color" >
<img class="nav-item-img" src="./Whakerexa-1.0/wexa_statics/icons/theme_switcher.png" alt="Theme" id="img-theme"/>
</button>
</li>
</ul>
</nav>
<h1>ClammingPy 2.0</h1>
<p><img class="small-logo" src="./statics/clamming.png" alt="Software logo"/></p>
<p><a class="external-link" href="https://sourceforge.net/projects/clamming/">https://sourceforge.net/projects/clamming/</a></p>
</header>
<nav id="nav-book" class="side-nav">
<h1>ClammingPy 2.0</h1>
<img class="small-logo center" src="./statics/clamming.png" alt=""/>
<p><a class="external-link" href="https://sourceforge.net/projects/clamming/">https://sourceforge.net/projects/clamming/</a></p>
<ul>
<li><a role="button" tabindex="0" aria-disabled="true"> ↵ Prev. Module</a></li>
<li><a role="button" tabindex="0" href="ClamUtils.html"> ↑ Prev. Class</a></li>
<li><a role="button" tabindex="0" href="index.html"> ⌂ Index</a></li>
<li><a role="button" tabindex="0" href="ClamInfoMarkdown.html"> ↓ Next Class</a></li>
<li><a role="button" tabindex="0" href="tests.html"> ↳ Next Module</a></li>
</ul>
<h2>Table of Contents</h2>
<ul id="toc"></ul>
<hr>
<p><small>Automatically created</small></p><p><small>by <a class="external-link" href="https://clamming.sf.net">ClammingPy</a></small></p>
</nav>
<main id="main-content">
<section id="#clamming"> <h1>Module clamming</h1>
<section id="#ClamInfo">
<h2>Class ClamInfo</h2>
<section>
<h3 id="#description_ClamInfo">Description</h3>
<article class="docstring">
<p><em>The information extracted for a function in the documented class.</em></p>
<p>Public members are:</p>
<ul>
<li>name (str): required, the name of the function</li>
<li>args (list of str): optional, the arguments of the function</li>
<li>source (str): optional, the source code of the function, including its definition</li>
<li>docstring (str or None): optional, the docstring of the function</li>
</ul>
<h5>Example</h5>
<div class="highlight"><pre><span></span><code> <span class="o">>>></span> <span class="n">clam_info</span> <span class="o">=</span> <span class="n">ClamInfo</span><span class="p">(</span><span class="s2">"add"</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">),</span> <span class="n">source</span><span class="o">=</span><span class="s2">"def add(a, b): return a+b"</span><span class="p">,</span> <span class="n">docstring</span><span class="o">=</span><span class="s2">"Add two args."</span><span class="p">)</span>
<span class="o">>>></span> <span class="n">clam_info</span><span class="o">.</span><span class="n">name</span>
<span class="o">></span> <span class="n">add</span>
<span class="o">>>></span> <span class="n">clam_info</span><span class="o">.</span><span class="n">args</span>
<span class="o">></span> <span class="p">[</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">]</span>
<span class="o">>>></span> <span class="n">clam_info</span><span class="o">.</span><span class="n">source</span>
<span class="o">></span> <span class="s2">"def add(a, b): return a+b"</span>
<span class="o">>>></span> <span class="n">clam_info</span><span class="o">.</span><span class="n">docstring</span>
<span class="o">></span> <span class="s2">"Add two args."</span>
<span class="o">>>></span> <span class="n">clam_info</span> <span class="o">=</span> <span class="n">ClamInfo</span><span class="p">(</span><span class="s2">"add"</span><span class="p">,</span> <span class="n">args</span><span class="o">=</span><span class="nb">tuple</span><span class="p">(</span><span class="s2">"a"</span><span class="p">,</span> <span class="s2">"b"</span><span class="p">),</span> <span class="n">source</span><span class="o">=</span><span class="s2">"def add(a, b): return a+b"</span><span class="p">)</span>
<span class="o">>>></span> <span class="n">clam_info</span><span class="o">.</span><span class="n">docstring</span>
<span class="o">></span> <span class="kc">None</span>
</code></pre></div>
<h5>Raises</h5>
<ul>
<li><em>TypeError</em>: if a given argument is not of the expected type.</li>
</ul>
</article>
</section>
<section>
<h3 id="#constructor_ClamInfo">Constructor</h3>
<article class="docstring">
<p><em>Create a data class for a documented function.</em></p>
<h5>Parameters</h5>
<ul>
<li><strong>name</strong>: (<em>str</em>) Name of the documented function</li>
<li><strong>args</strong>: (<em>list</em>|<em>tuple</em>) List of its arguments</li>
<li><strong>source</strong>: (<em>str</em>) Source code of the function</li>
<li><strong>docstring</strong>: (<em>str</em>) Docstring of the function</li>
</ul>
<h5>Raises</h5>
<ul>
<li><em>TypeError</em>: Wrong type of one of the given parameters</li>
</ul>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">args</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span><span class="o">=</span><span class="p">(),</span> <span class="n">source</span><span class="p">:</span> <span class="nb">str</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">docstring</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="kc">None</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
<span class="w"> </span><span class="sd">"""Create a data class for a documented function.</span>
<span class="sd"> :param name: (str) Name of the documented function</span>
<span class="sd"> :param args: (list|tuple) List of its arguments</span>
<span class="sd"> :param source: (str) Source code of the function</span>
<span class="sd"> :param docstring: (str) Docstring of the function</span>
<span class="sd"> :raises: TypeError: Wrong type of one of the given parameters</span>
<span class="sd"> """</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__name</span> <span class="o">=</span> <span class="s1">''</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__args</span> <span class="o">=</span> <span class="nb">list</span><span class="p">()</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__source</span> <span class="o">=</span> <span class="s1">''</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__docstring</span> <span class="o">=</span> <span class="kc">None</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_name</span><span class="p">(</span><span class="n">name</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_args</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_source</span><span class="p">(</span><span class="n">source</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">set_docstring</span><span class="p">(</span><span class="n">docstring</span><span class="p">)</span>
</code></pre></div>
</details>
</section>
<section>
<h3 id="#public_fct_ClamInfo">Public functions</h3>
<h4>get_name</h4>
<article class="docstring">
<p><em>Return the name of the stored class.</em></p>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_name</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Return the name of the stored class."""</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__name</span>
</code></pre></div>
</details>
<h4>set_name</h4>
<article class="docstring">
<p><em>Set a new name.</em></p>
<h5>Parameters</h5>
<ul>
<li><strong>name</strong>: (<em>str</em>) New name of the documented function/class/...</li>
</ul>
<h5>Raises</h5>
<ul>
<li><em>TypeError</em>: given class_name is not a string</li>
</ul>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">set_name</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">NoReturn</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Set a new name.</span>
<span class="sd"> :param name: (str) New name of the documented function/class/...</span>
<span class="sd"> :raises: TypeError: given class_name is not a string</span>
<span class="sd"> """</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="nb">bytes</span><span class="p">))</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"Expected a 'str' for the ClamInfo.name, got </span><span class="si">{:s}</span><span class="s2"> instead."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">name</span><span class="p">))))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__name</span> <span class="o">=</span> <span class="n">name</span>
</code></pre></div>
</details>
<h4>get_args</h4>
<article class="docstring">
<p><em>Return a copy of the list of arguments.</em></p>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_args</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">list</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Return a copy of the list of arguments."""</span>
<span class="k">return</span> <span class="p">[</span><span class="n">i</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">__args</span><span class="p">]</span>
</code></pre></div>
</details>
<h4>set_args</h4>
<article class="docstring">
<p><em>Set the list of args.</em></p>
<h5>Parameters</h5>
<ul>
<li><strong>args</strong>: (<em>list</em>|<em>tuple</em>) Source code</li>
</ul>
<h5>Raises</h5>
<ul>
<li><em>TypeError</em>: The given args is not a list or tuple</li>
</ul>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">set_args</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">args</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">|</span> <span class="nb">tuple</span><span class="p">[</span><span class="nb">str</span><span class="p">])</span> <span class="o">-></span> <span class="n">NoReturn</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Set the list of args.</span>
<span class="sd"> :param args: (list|tuple) Source code</span>
<span class="sd"> :raises: TypeError: The given args is not a list or tuple</span>
<span class="sd"> """</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">))</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"Expected a 'list' or 'tuple' for the ClamInfo.args. Got </span><span class="si">{:s}</span><span class="s2"> instead."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">args</span><span class="p">))))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__args</span> <span class="o">=</span> <span class="n">args</span>
</code></pre></div>
</details>
<h4>get_source</h4>
<article class="docstring">
<p><em>Return the source code.</em></p>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_source</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Return the source code."""</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__source</span>
</code></pre></div>
</details>
<h4>set_source</h4>
<article class="docstring">
<p><em>Set a new source code.</em></p>
<h5>Parameters</h5>
<ul>
<li><strong>source</strong>: (<em>str</em>) Source code</li>
</ul>
<h5>Raises</h5>
<ul>
<li><em>TypeError</em>: The given source code is not a string</li>
</ul>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">set_source</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">source</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">NoReturn</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Set a new source code.</span>
<span class="sd"> :param source: (str) Source code</span>
<span class="sd"> :raises: TypeError: The given source code is not a string</span>
<span class="sd"> """</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"Expected a 'str' for the ClamInfo.source, got </span><span class="si">{:s}</span><span class="s2"> instead."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">source</span><span class="p">))))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__source</span> <span class="o">=</span> <span class="n">source</span>
</code></pre></div>
</details>
<h4>get_docstring</h4>
<article class="docstring">
<p><em>Return the docstring of the class.</em></p>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">get_docstring</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">str</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Return the docstring of the class."""</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">__docstring</span>
</code></pre></div>
</details>
<h4>set_docstring</h4>
<article class="docstring">
<p><em>Set a new docstring to the class.</em></p>
<h5>Parameters</h5>
<ul>
<li><strong>docstring</strong></li>
</ul>
</article>
<details>
<summary>
View Source
</summary>
<div class="highlight"><pre><span></span><code><span class="k">def</span><span class="w"> </span><span class="nf">set_docstring</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">docstring</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">NoReturn</span><span class="p">:</span>
<span class="w"> </span><span class="sd">"""Set a new docstring to the class."""</span>
<span class="k">if</span> <span class="n">docstring</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">docstring</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="ow">is</span> <span class="kc">False</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"Expected a 'str' for the ClamInfo.docstring. Got </span><span class="si">{:s}</span><span class="s2"> instead."</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">docstring</span><span class="p">))))</span>
<span class="bp">self</span><span class="o">.</span><span class="n">__docstring</span> <span class="o">=</span> <span class="n">docstring</span>
</code></pre></div>
</details>
</section>
</section> </section> </main>
<footer>
<p class="copyright">Copyright (C) 2023-2025 Brigitte Bigi, CNRS, Laboratoire Parole et Langage, Aix-en-Provence, France</p>
</footer>
</body>
</html>