Skip to content

Commit 3abfc2a

Browse files
committed
deploy: de4a079
1 parent 6a1e9f6 commit 3abfc2a

92 files changed

Lines changed: 11084 additions & 1676 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

capabilities.html

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,57 @@ <h1 class="title">Module <code>adcp.capabilities</code></h1>
4747
<section>
4848
<h2 class="section-title" id="header-functions">Functions</h2>
4949
<dl>
50+
<dt id="adcp.capabilities.build_synthetic_capabilities"><code class="name flex">
51+
<span>def <span class="ident">build_synthetic_capabilities</span></span>(<span>supported_protocols: list[str], *, major_versions: list[int] | None = None) ‑> dict[str, typing.Any]</span>
52+
</code></dt>
53+
<dd>
54+
<details class="source">
55+
<summary>
56+
<span>Expand source code</span>
57+
</summary>
58+
<pre><code class="python">def build_synthetic_capabilities(
59+
supported_protocols: list[str],
60+
*,
61+
major_versions: list[int] | None = None,
62+
) -&gt; dict[str, Any]:
63+
&#34;&#34;&#34;Build a synthetic capabilities response for pre-v3 sellers.
64+
65+
Use this when connecting to a seller that doesn&#39;t support
66+
``get_adcp_capabilities`` (pre-v3 sellers). The returned dict
67+
can be passed to ``FeatureResolver`` after wrapping with the
68+
appropriate Pydantic model.
69+
70+
Args:
71+
supported_protocols: List of protocol domains the seller supports
72+
(e.g., ``[&#34;media_buy&#34;]``).
73+
major_versions: ADCP major versions the seller supports.
74+
Defaults to ``[2]``.
75+
76+
Returns:
77+
A dict matching the GetAdcpCapabilitiesResponse shape.
78+
&#34;&#34;&#34;
79+
return {
80+
&#34;adcp&#34;: {&#34;major_versions&#34;: major_versions or [2]},
81+
&#34;supported_protocols&#34;: supported_protocols,
82+
}</code></pre>
83+
</details>
84+
<div class="desc"><p>Build a synthetic capabilities response for pre-v3 sellers.</p>
85+
<p>Use this when connecting to a seller that doesn't support
86+
<code>get_adcp_capabilities</code> (pre-v3 sellers). The returned dict
87+
can be passed to <code><a title="adcp.capabilities.FeatureResolver" href="#adcp.capabilities.FeatureResolver">FeatureResolver</a></code> after wrapping with the
88+
appropriate Pydantic model.</p>
89+
<h2 id="args">Args</h2>
90+
<dl>
91+
<dt><strong><code>supported_protocols</code></strong></dt>
92+
<dd>List of protocol domains the seller supports
93+
(e.g., <code>["media_buy"]</code>).</dd>
94+
<dt><strong><code>major_versions</code></strong></dt>
95+
<dd>ADCP major versions the seller supports.
96+
Defaults to <code>[2]</code>.</dd>
97+
</dl>
98+
<h2 id="returns">Returns</h2>
99+
<p>A dict matching the GetAdcpCapabilitiesResponse shape.</p></div>
100+
</dd>
50101
<dt id="adcp.capabilities.validate_capabilities"><code class="name flex">
51102
<span>def <span class="ident">validate_capabilities</span></span>(<span>handler: Any, capabilities: GetAdcpCapabilitiesResponse) ‑> list[str]</span>
52103
</code></dt>
@@ -169,6 +220,19 @@ <h2 class="section-title" id="header-classes">Classes</h2>
169220
def capabilities(self) -&gt; GetAdcpCapabilitiesResponse:
170221
return self._caps
171222

223+
def supports_v3(self) -&gt; bool:
224+
&#34;&#34;&#34;Check if the seller supports ADCP v3.
225+
226+
Returns:
227+
True if major_versions includes 3.
228+
&#34;&#34;&#34;
229+
if self._caps.adcp is None:
230+
return False
231+
for v in self._caps.adcp.major_versions:
232+
if (v.root if hasattr(v, &#34;root&#34;) else v) == 3:
233+
return True
234+
return False
235+
172236
def supports(self, feature: str) -&gt; bool:
173237
&#34;&#34;&#34;Check if a feature is supported.&#34;&#34;&#34;
174238
caps = self._caps
@@ -472,6 +536,31 @@ <h2 id="raises">Raises</h2>
472536
</details>
473537
<div class="desc"><p>Check if a feature is supported.</p></div>
474538
</dd>
539+
<dt id="adcp.capabilities.FeatureResolver.supports_v3"><code class="name flex">
540+
<span>def <span class="ident">supports_v3</span></span>(<span>self) ‑> bool</span>
541+
</code></dt>
542+
<dd>
543+
<details class="source">
544+
<summary>
545+
<span>Expand source code</span>
546+
</summary>
547+
<pre><code class="python">def supports_v3(self) -&gt; bool:
548+
&#34;&#34;&#34;Check if the seller supports ADCP v3.
549+
550+
Returns:
551+
True if major_versions includes 3.
552+
&#34;&#34;&#34;
553+
if self._caps.adcp is None:
554+
return False
555+
for v in self._caps.adcp.major_versions:
556+
if (v.root if hasattr(v, &#34;root&#34;) else v) == 3:
557+
return True
558+
return False</code></pre>
559+
</details>
560+
<div class="desc"><p>Check if the seller supports ADCP v3.</p>
561+
<h2 id="returns">Returns</h2>
562+
<p>True if major_versions includes 3.</p></div>
563+
</dd>
475564
</dl>
476565
</dd>
477566
</dl>
@@ -489,6 +578,7 @@ <h2 id="raises">Raises</h2>
489578
</li>
490579
<li><h3><a href="#header-functions">Functions</a></h3>
491580
<ul class="">
581+
<li><code><a title="adcp.capabilities.build_synthetic_capabilities" href="#adcp.capabilities.build_synthetic_capabilities">build_synthetic_capabilities</a></code></li>
492582
<li><code><a title="adcp.capabilities.validate_capabilities" href="#adcp.capabilities.validate_capabilities">validate_capabilities</a></code></li>
493583
</ul>
494584
</li>
@@ -501,6 +591,7 @@ <h4><code><a title="adcp.capabilities.FeatureResolver" href="#adcp.capabilities.
501591
<li><code><a title="adcp.capabilities.FeatureResolver.get_declared_features" href="#adcp.capabilities.FeatureResolver.get_declared_features">get_declared_features</a></code></li>
502592
<li><code><a title="adcp.capabilities.FeatureResolver.require" href="#adcp.capabilities.FeatureResolver.require">require</a></code></li>
503593
<li><code><a title="adcp.capabilities.FeatureResolver.supports" href="#adcp.capabilities.FeatureResolver.supports">supports</a></code></li>
594+
<li><code><a title="adcp.capabilities.FeatureResolver.supports_v3" href="#adcp.capabilities.FeatureResolver.supports_v3">supports_v3</a></code></li>
504595
</ul>
505596
</li>
506597
</ul>

0 commit comments

Comments
 (0)