deploy: 668f38d8aa
This commit is contained in:
+74
-74
@@ -942,7 +942,9 @@ suffixes (for example <code>XAUUSDm</code>, <code>US500.cash</code>, or <code>EU
|
||||
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>mt5cli/utils.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-352">352</a></span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-350">350</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-351">351</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-352">352</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-353">353</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-354">354</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-355">355</a></span>
|
||||
@@ -960,29 +962,27 @@ suffixes (for example <code>XAUUSDm</code>, <code>US500.cash</code>, or <code>EU
|
||||
<span class="normal"><a href="#__codelineno-0-367">367</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-368">368</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-369">369</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-370">370</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-371">371</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-372">372</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-352" name="__codelineno-0-352"></a><span class="k">def</span><span class="w"> </span><span class="nf">parse_datetime</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">datetime</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-353" name="__codelineno-0-353"></a><span class="w"> </span><span class="sd">"""Parse an ISO 8601 datetime string to a timezone-aware datetime.</span>
|
||||
<a id="__codelineno-0-354" name="__codelineno-0-354"></a>
|
||||
<a id="__codelineno-0-355" name="__codelineno-0-355"></a><span class="sd"> Args:</span>
|
||||
<a id="__codelineno-0-356" name="__codelineno-0-356"></a><span class="sd"> value: ISO 8601 datetime string (e.g., '2024-01-01' or</span>
|
||||
<a id="__codelineno-0-357" name="__codelineno-0-357"></a><span class="sd"> '2024-01-01T12:00:00+00:00').</span>
|
||||
<a id="__codelineno-0-358" name="__codelineno-0-358"></a>
|
||||
<a id="__codelineno-0-359" name="__codelineno-0-359"></a><span class="sd"> Returns:</span>
|
||||
<a id="__codelineno-0-360" name="__codelineno-0-360"></a><span class="sd"> Parsed datetime with UTC timezone if no timezone is specified.</span>
|
||||
<a id="__codelineno-0-361" name="__codelineno-0-361"></a>
|
||||
<a id="__codelineno-0-362" name="__codelineno-0-362"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-363" name="__codelineno-0-363"></a><span class="sd"> ValueError: If the string cannot be parsed.</span>
|
||||
<a id="__codelineno-0-364" name="__codelineno-0-364"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-365" name="__codelineno-0-365"></a> <span class="k">try</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-366" name="__codelineno-0-366"></a> <span class="n">dt</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-367" name="__codelineno-0-367"></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-368" name="__codelineno-0-368"></a> <span class="n">msg</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"Invalid datetime format: '</span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">'. Use ISO 8601 format."</span>
|
||||
<a id="__codelineno-0-369" name="__codelineno-0-369"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
<a id="__codelineno-0-370" name="__codelineno-0-370"></a> <span class="k">if</span> <span class="n">dt</span><span class="o">.</span><span class="n">tzinfo</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-371" name="__codelineno-0-371"></a> <span class="n">dt</span> <span class="o">=</span> <span class="n">dt</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-372" name="__codelineno-0-372"></a> <span class="k">return</span> <span class="n">dt</span>
|
||||
<span class="normal"><a href="#__codelineno-0-370">370</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-350" name="__codelineno-0-350"></a><span class="k">def</span><span class="w"> </span><span class="nf">parse_datetime</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-></span> <span class="n">datetime</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-351" name="__codelineno-0-351"></a><span class="w"> </span><span class="sd">"""Parse an ISO 8601 datetime string to a timezone-aware datetime.</span>
|
||||
<a id="__codelineno-0-352" name="__codelineno-0-352"></a>
|
||||
<a id="__codelineno-0-353" name="__codelineno-0-353"></a><span class="sd"> Args:</span>
|
||||
<a id="__codelineno-0-354" name="__codelineno-0-354"></a><span class="sd"> value: ISO 8601 datetime string (e.g., '2024-01-01' or</span>
|
||||
<a id="__codelineno-0-355" name="__codelineno-0-355"></a><span class="sd"> '2024-01-01T12:00:00+00:00').</span>
|
||||
<a id="__codelineno-0-356" name="__codelineno-0-356"></a>
|
||||
<a id="__codelineno-0-357" name="__codelineno-0-357"></a><span class="sd"> Returns:</span>
|
||||
<a id="__codelineno-0-358" name="__codelineno-0-358"></a><span class="sd"> Parsed datetime with UTC timezone if no timezone is specified.</span>
|
||||
<a id="__codelineno-0-359" name="__codelineno-0-359"></a>
|
||||
<a id="__codelineno-0-360" name="__codelineno-0-360"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-361" name="__codelineno-0-361"></a><span class="sd"> ValueError: If the string cannot be parsed.</span>
|
||||
<a id="__codelineno-0-362" name="__codelineno-0-362"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-363" name="__codelineno-0-363"></a> <span class="k">try</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-364" name="__codelineno-0-364"></a> <span class="n">dt</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">fromisoformat</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-365" name="__codelineno-0-365"></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-366" name="__codelineno-0-366"></a> <span class="n">msg</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"Invalid datetime format: '</span><span class="si">{</span><span class="n">value</span><span class="si">}</span><span class="s2">'. Use ISO 8601 format."</span>
|
||||
<a id="__codelineno-0-367" name="__codelineno-0-367"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
<a id="__codelineno-0-368" name="__codelineno-0-368"></a> <span class="k">if</span> <span class="n">dt</span><span class="o">.</span><span class="n">tzinfo</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-369" name="__codelineno-0-369"></a> <span class="n">dt</span> <span class="o">=</span> <span class="n">dt</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">tzinfo</span><span class="o">=</span><span class="n">UTC</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-370" name="__codelineno-0-370"></a> <span class="k">return</span> <span class="n">dt</span>
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
</div>
|
||||
@@ -1084,7 +1084,9 @@ suffixes (for example <code>XAUUSDm</code>, <code>US500.cash</code>, or <code>EU
|
||||
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>mt5cli/utils.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-399">399</a></span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-397">397</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-398">398</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-399">399</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-400">400</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-401">401</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-402">402</a></span>
|
||||
@@ -1103,30 +1105,28 @@ suffixes (for example <code>XAUUSDm</code>, <code>US500.cash</code>, or <code>EU
|
||||
<span class="normal"><a href="#__codelineno-0-415">415</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-416">416</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-417">417</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-418">418</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-419">419</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-420">420</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-399" name="__codelineno-0-399"></a><span class="k">def</span><span class="w"> </span><span class="nf">parse_tick_flags</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="nb">object</span><span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-400" name="__codelineno-0-400"></a><span class="w"> </span><span class="sd">"""Parse tick flags string or integer value.</span>
|
||||
<a id="__codelineno-0-401" name="__codelineno-0-401"></a>
|
||||
<a id="__codelineno-0-402" name="__codelineno-0-402"></a><span class="sd"> Args:</span>
|
||||
<a id="__codelineno-0-403" name="__codelineno-0-403"></a><span class="sd"> value: Tick flag name (ALL, INFO, TRADE, COPY_TICKS_*) or integer value.</span>
|
||||
<a id="__codelineno-0-404" name="__codelineno-0-404"></a>
|
||||
<a id="__codelineno-0-405" name="__codelineno-0-405"></a><span class="sd"> Returns:</span>
|
||||
<a id="__codelineno-0-406" name="__codelineno-0-406"></a><span class="sd"> Integer tick flag value compatible with MetaTrader 5 ``COPY_TICKS_*``.</span>
|
||||
<a id="__codelineno-0-407" name="__codelineno-0-407"></a>
|
||||
<a id="__codelineno-0-408" name="__codelineno-0-408"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-409" name="__codelineno-0-409"></a><span class="sd"> ValueError: If the flag is invalid.</span>
|
||||
<a id="__codelineno-0-410" name="__codelineno-0-410"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-411" name="__codelineno-0-411"></a> <span class="k">try</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-412" name="__codelineno-0-412"></a> <span class="k">return</span> <span class="n">_parse_copy_ticks</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-413" name="__codelineno-0-413"></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-414" name="__codelineno-0-414"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">value</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="nb">repr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-415" name="__codelineno-0-415"></a> <span class="n">valid</span> <span class="o">=</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_TICK_FLAG_NAMES</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-416" name="__codelineno-0-416"></a> <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<a id="__codelineno-0-417" name="__codelineno-0-417"></a> <span class="sa">f</span><span class="s2">"Invalid tick flags: '</span><span class="si">{</span><span class="n">display</span><span class="si">}</span><span class="s2">'. "</span>
|
||||
<a id="__codelineno-0-418" name="__codelineno-0-418"></a> <span class="sa">f</span><span class="s2">"Use one of: </span><span class="si">{</span><span class="n">valid</span><span class="si">}</span><span class="s2">, or a supported integer."</span>
|
||||
<a id="__codelineno-0-419" name="__codelineno-0-419"></a> <span class="p">)</span>
|
||||
<a id="__codelineno-0-420" name="__codelineno-0-420"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
<span class="normal"><a href="#__codelineno-0-418">418</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-397" name="__codelineno-0-397"></a><span class="k">def</span><span class="w"> </span><span class="nf">parse_tick_flags</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="nb">object</span><span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-398" name="__codelineno-0-398"></a><span class="w"> </span><span class="sd">"""Parse tick flags string or integer value.</span>
|
||||
<a id="__codelineno-0-399" name="__codelineno-0-399"></a>
|
||||
<a id="__codelineno-0-400" name="__codelineno-0-400"></a><span class="sd"> Args:</span>
|
||||
<a id="__codelineno-0-401" name="__codelineno-0-401"></a><span class="sd"> value: Tick flag name (ALL, INFO, TRADE, COPY_TICKS_*) or integer value.</span>
|
||||
<a id="__codelineno-0-402" name="__codelineno-0-402"></a>
|
||||
<a id="__codelineno-0-403" name="__codelineno-0-403"></a><span class="sd"> Returns:</span>
|
||||
<a id="__codelineno-0-404" name="__codelineno-0-404"></a><span class="sd"> Integer tick flag value compatible with MetaTrader 5 ``COPY_TICKS_*``.</span>
|
||||
<a id="__codelineno-0-405" name="__codelineno-0-405"></a>
|
||||
<a id="__codelineno-0-406" name="__codelineno-0-406"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-407" name="__codelineno-0-407"></a><span class="sd"> ValueError: If the flag is invalid.</span>
|
||||
<a id="__codelineno-0-408" name="__codelineno-0-408"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-409" name="__codelineno-0-409"></a> <span class="k">try</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-410" name="__codelineno-0-410"></a> <span class="k">return</span> <span class="n">_parse_copy_ticks</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-411" name="__codelineno-0-411"></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-412" name="__codelineno-0-412"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">value</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="nb">repr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-413" name="__codelineno-0-413"></a> <span class="n">valid</span> <span class="o">=</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">_TICK_FLAG_NAMES</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-414" name="__codelineno-0-414"></a> <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<a id="__codelineno-0-415" name="__codelineno-0-415"></a> <span class="sa">f</span><span class="s2">"Invalid tick flags: '</span><span class="si">{</span><span class="n">display</span><span class="si">}</span><span class="s2">'. "</span>
|
||||
<a id="__codelineno-0-416" name="__codelineno-0-416"></a> <span class="sa">f</span><span class="s2">"Use one of: </span><span class="si">{</span><span class="n">valid</span><span class="si">}</span><span class="s2">, or a supported integer."</span>
|
||||
<a id="__codelineno-0-417" name="__codelineno-0-417"></a> <span class="p">)</span>
|
||||
<a id="__codelineno-0-418" name="__codelineno-0-418"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
</div>
|
||||
@@ -1228,7 +1228,9 @@ suffixes (for example <code>XAUUSDm</code>, <code>US500.cash</code>, or <code>EU
|
||||
|
||||
<details class="mkdocstrings-source">
|
||||
<summary>Source code in <code>mt5cli/utils.py</code></summary>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-375">375</a></span>
|
||||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-373">373</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-374">374</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-375">375</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-376">376</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-377">377</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-378">378</a></span>
|
||||
@@ -1247,30 +1249,28 @@ suffixes (for example <code>XAUUSDm</code>, <code>US500.cash</code>, or <code>EU
|
||||
<span class="normal"><a href="#__codelineno-0-391">391</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-392">392</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-393">393</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-394">394</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-395">395</a></span>
|
||||
<span class="normal"><a href="#__codelineno-0-396">396</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-375" name="__codelineno-0-375"></a><span class="k">def</span><span class="w"> </span><span class="nf">parse_timeframe</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="nb">object</span><span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-376" name="__codelineno-0-376"></a><span class="w"> </span><span class="sd">"""Parse a timeframe string or integer value.</span>
|
||||
<a id="__codelineno-0-377" name="__codelineno-0-377"></a>
|
||||
<a id="__codelineno-0-378" name="__codelineno-0-378"></a><span class="sd"> Args:</span>
|
||||
<a id="__codelineno-0-379" name="__codelineno-0-379"></a><span class="sd"> value: Timeframe name (e.g., 'M1', 'H1', 'D1') or integer value.</span>
|
||||
<a id="__codelineno-0-380" name="__codelineno-0-380"></a>
|
||||
<a id="__codelineno-0-381" name="__codelineno-0-381"></a><span class="sd"> Returns:</span>
|
||||
<a id="__codelineno-0-382" name="__codelineno-0-382"></a><span class="sd"> Integer timeframe value.</span>
|
||||
<a id="__codelineno-0-383" name="__codelineno-0-383"></a>
|
||||
<a id="__codelineno-0-384" name="__codelineno-0-384"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-385" name="__codelineno-0-385"></a><span class="sd"> ValueError: If the timeframe is invalid.</span>
|
||||
<a id="__codelineno-0-386" name="__codelineno-0-386"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-387" name="__codelineno-0-387"></a> <span class="k">try</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-388" name="__codelineno-0-388"></a> <span class="k">return</span> <span class="n">_parse_timeframe</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-389" name="__codelineno-0-389"></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-390" name="__codelineno-0-390"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">value</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="nb">repr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-391" name="__codelineno-0-391"></a> <span class="n">valid</span> <span class="o">=</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">TIMEFRAME_NAMES</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-392" name="__codelineno-0-392"></a> <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<a id="__codelineno-0-393" name="__codelineno-0-393"></a> <span class="sa">f</span><span class="s2">"Invalid timeframe: '</span><span class="si">{</span><span class="n">display</span><span class="si">}</span><span class="s2">'. "</span>
|
||||
<a id="__codelineno-0-394" name="__codelineno-0-394"></a> <span class="sa">f</span><span class="s2">"Use one of: </span><span class="si">{</span><span class="n">valid</span><span class="si">}</span><span class="s2">, or a supported integer."</span>
|
||||
<a id="__codelineno-0-395" name="__codelineno-0-395"></a> <span class="p">)</span>
|
||||
<a id="__codelineno-0-396" name="__codelineno-0-396"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
<span class="normal"><a href="#__codelineno-0-394">394</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-373" name="__codelineno-0-373"></a><span class="k">def</span><span class="w"> </span><span class="nf">parse_timeframe</span><span class="p">(</span><span class="n">value</span><span class="p">:</span> <span class="nb">object</span><span class="p">)</span> <span class="o">-></span> <span class="nb">int</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-374" name="__codelineno-0-374"></a><span class="w"> </span><span class="sd">"""Parse a timeframe string or integer value.</span>
|
||||
<a id="__codelineno-0-375" name="__codelineno-0-375"></a>
|
||||
<a id="__codelineno-0-376" name="__codelineno-0-376"></a><span class="sd"> Args:</span>
|
||||
<a id="__codelineno-0-377" name="__codelineno-0-377"></a><span class="sd"> value: Timeframe name (e.g., 'M1', 'H1', 'D1') or integer value.</span>
|
||||
<a id="__codelineno-0-378" name="__codelineno-0-378"></a>
|
||||
<a id="__codelineno-0-379" name="__codelineno-0-379"></a><span class="sd"> Returns:</span>
|
||||
<a id="__codelineno-0-380" name="__codelineno-0-380"></a><span class="sd"> Integer timeframe value.</span>
|
||||
<a id="__codelineno-0-381" name="__codelineno-0-381"></a>
|
||||
<a id="__codelineno-0-382" name="__codelineno-0-382"></a><span class="sd"> Raises:</span>
|
||||
<a id="__codelineno-0-383" name="__codelineno-0-383"></a><span class="sd"> ValueError: If the timeframe is invalid.</span>
|
||||
<a id="__codelineno-0-384" name="__codelineno-0-384"></a><span class="sd"> """</span>
|
||||
<a id="__codelineno-0-385" name="__codelineno-0-385"></a> <span class="k">try</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-386" name="__codelineno-0-386"></a> <span class="k">return</span> <span class="n">_parse_timeframe</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-387" name="__codelineno-0-387"></a> <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
|
||||
<a id="__codelineno-0-388" name="__codelineno-0-388"></a> <span class="n">display</span> <span class="o">=</span> <span class="n">value</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="nb">repr</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-389" name="__codelineno-0-389"></a> <span class="n">valid</span> <span class="o">=</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">TIMEFRAME_NAMES</span><span class="p">)</span>
|
||||
<a id="__codelineno-0-390" name="__codelineno-0-390"></a> <span class="n">msg</span> <span class="o">=</span> <span class="p">(</span>
|
||||
<a id="__codelineno-0-391" name="__codelineno-0-391"></a> <span class="sa">f</span><span class="s2">"Invalid timeframe: '</span><span class="si">{</span><span class="n">display</span><span class="si">}</span><span class="s2">'. "</span>
|
||||
<a id="__codelineno-0-392" name="__codelineno-0-392"></a> <span class="sa">f</span><span class="s2">"Use one of: </span><span class="si">{</span><span class="n">valid</span><span class="si">}</span><span class="s2">, or a supported integer."</span>
|
||||
<a id="__codelineno-0-393" name="__codelineno-0-393"></a> <span class="p">)</span>
|
||||
<a id="__codelineno-0-394" name="__codelineno-0-394"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="kc">None</span>
|
||||
</code></pre></div></td></tr></table></div>
|
||||
</details>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user