Initial release: - Complete async API client (45+ endpoints) - Pydantic models for all responses - Two-step authentication - Comprehensive error handling - 92% test coverage - Gitea Actions CI/CD - Semantic release configured
7193 lines
284 KiB
HTML
7193 lines
284 KiB
HTML
|
||
<!doctype html>
|
||
<html lang="en" class="no-js">
|
||
<head>
|
||
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
|
||
<meta name="description" content="Unofficial Python client for Kwork.ru API">
|
||
|
||
|
||
|
||
<link rel="canonical" href="https://github.com/claw/kwork-api/api/client/">
|
||
|
||
|
||
<link rel="prev" href="../../api-reference/">
|
||
|
||
|
||
<link rel="next" href="../models/">
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="icon" href="../../assets/images/favicon.png">
|
||
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.6">
|
||
|
||
|
||
|
||
<title>Client - Kwork API</title>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../../assets/stylesheets/main.484c7ddc.min.css">
|
||
|
||
|
||
<link rel="stylesheet" href="../../assets/stylesheets/palette.ab4e12ef.min.css">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
||
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
||
|
||
|
||
|
||
<link rel="stylesheet" href="../../assets/_mkdocstrings.css">
|
||
|
||
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
||
|
||
|
||
|
||
|
||
|
||
</head>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
|
||
|
||
|
||
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
||
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
||
<label class="md-overlay" for="__drawer"></label>
|
||
<div data-md-component="skip">
|
||
|
||
|
||
<a href="#client-api" class="md-skip">
|
||
Skip to content
|
||
</a>
|
||
|
||
</div>
|
||
<div data-md-component="announce">
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
<header class="md-header" data-md-component="header">
|
||
<nav class="md-header__inner md-grid" aria-label="Header">
|
||
<a href="../.." title="Kwork API" class="md-header__button md-logo" aria-label="Kwork API" data-md-component="logo">
|
||
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||
|
||
</a>
|
||
<label class="md-header__button md-icon" for="__drawer">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
|
||
</label>
|
||
<div class="md-header__title" data-md-component="header-title">
|
||
<div class="md-header__ellipsis">
|
||
<div class="md-header__topic">
|
||
<span class="md-ellipsis">
|
||
Kwork API
|
||
</span>
|
||
</div>
|
||
<div class="md-header__topic" data-md-component="header-topic">
|
||
<span class="md-ellipsis">
|
||
|
||
Client
|
||
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<form class="md-header__option" data-md-component="palette">
|
||
|
||
|
||
|
||
|
||
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
|
||
|
||
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4M7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"/></svg>
|
||
</label>
|
||
|
||
|
||
|
||
|
||
|
||
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
|
||
|
||
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7H7a5 5 0 0 0-5 5 5 5 0 0 0 5 5h10a5 5 0 0 0 5-5 5 5 0 0 0-5-5m0 8a3 3 0 0 1-3-3 3 3 0 0 1 3-3 3 3 0 0 1 3 3 3 3 0 0 1-3 3"/></svg>
|
||
</label>
|
||
|
||
|
||
</form>
|
||
|
||
|
||
|
||
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-header__button md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||
</label>
|
||
<div class="md-search" data-md-component="search" role="dialog">
|
||
<label class="md-search__overlay" for="__search"></label>
|
||
<div class="md-search__inner" role="search">
|
||
<form class="md-search__form" name="search">
|
||
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
||
<label class="md-search__icon md-icon" for="__search">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
|
||
</label>
|
||
<nav class="md-search__options" aria-label="Search">
|
||
|
||
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
|
||
</button>
|
||
</nav>
|
||
|
||
<div class="md-search__suggest" data-md-component="search-suggest"></div>
|
||
|
||
</form>
|
||
<div class="md-search__output">
|
||
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
||
<div class="md-search-result" data-md-component="search-result">
|
||
<div class="md-search-result__meta">
|
||
Initializing search
|
||
</div>
|
||
<ol class="md-search-result__list" role="presentation"></ol>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="md-header__source">
|
||
<a href="https://github.com/claw/kwork-api" title="Go to repository" class="md-source" data-md-component="source">
|
||
<div class="md-source__icon md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
||
</div>
|
||
<div class="md-source__repository">
|
||
claw/kwork-api
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
</nav>
|
||
|
||
</header>
|
||
|
||
<div class="md-container" data-md-component="container">
|
||
|
||
|
||
|
||
|
||
|
||
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
||
<div class="md-grid">
|
||
<ul class="md-tabs__list">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../.." class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
Home
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item md-tabs__item--active">
|
||
<a href="../../api-reference/" class="md-tabs__link">
|
||
|
||
|
||
|
||
API Reference
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-tabs__item">
|
||
<a href="../../examples.md" class="md-tabs__link">
|
||
|
||
|
||
|
||
|
||
|
||
Examples
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
|
||
|
||
|
||
<main class="md-main" data-md-component="main">
|
||
<div class="md-main__inner md-grid">
|
||
|
||
|
||
|
||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||
<div class="md-sidebar__scrollwrap">
|
||
<div class="md-sidebar__inner">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label="Navigation" data-md-level="0">
|
||
<label class="md-nav__title" for="__drawer">
|
||
<a href="../.." title="Kwork API" class="md-nav__button md-logo" aria-label="Kwork API" data-md-component="logo">
|
||
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
|
||
|
||
</a>
|
||
Kwork API
|
||
</label>
|
||
|
||
<div class="md-nav__source">
|
||
<a href="https://github.com/claw/kwork-api" title="Go to repository" class="md-source" data-md-component="source">
|
||
<div class="md-source__icon md-icon">
|
||
|
||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
|
||
</div>
|
||
<div class="md-source__repository">
|
||
claw/kwork-api
|
||
</div>
|
||
</a>
|
||
</div>
|
||
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../.." class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Home
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
|
||
|
||
|
||
|
||
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
|
||
|
||
|
||
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
API Reference
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||
<label class="md-nav__title" for="__nav_2">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
|
||
|
||
API Reference
|
||
|
||
|
||
</label>
|
||
<ul class="md-nav__list" data-md-scrollfix>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../api-reference/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Overview
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item md-nav__item--active">
|
||
|
||
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__link md-nav__link--active" for="__toc">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Client
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
<span class="md-nav__icon md-icon"></span>
|
||
</label>
|
||
|
||
<a href="./" class="md-nav__link md-nav__link--active">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Client
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
|
||
|
||
|
||
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<label class="md-nav__title" for="__toc">
|
||
<span class="md-nav__icon md-icon"></span>
|
||
Table of contents
|
||
</label>
|
||
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
KworkClient
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="KworkClient">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Вход по логину/паролю
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Восстановление сессии по токену
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Работа с проектами
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Новый клиент без аутентификации
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Восстановление сессии
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Клиент с кастомным таймаутом
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient-attributes" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Attributes
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Attributes">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.catalog" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
catalog
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.cookies" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
cookies
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="cookies">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.cookies--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Сохранение полной сессии
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.cookies--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Восстановление
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.credentials" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
credentials
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="credentials">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.credentials--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Сохранение
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.credentials--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Восстановление
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.notifications" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
notifications
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.other" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
other
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.projects" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
projects
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.reference" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
reference
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.token" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
token
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="token">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.token--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Сохранение токена для последующего использования
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.token--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Позже: восстановление сессии
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.user" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
user
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient-classes" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Classes
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Classes">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
CatalogAPI
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="CatalogAPI">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Получить первую страницу каталога
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Фильтрация по категории
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Детали конкретного кворка
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI-functions" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Functions
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Functions">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_details" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_details
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_details_extra" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_details_extra
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_list" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_list
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_list--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Первая страница, сортировка по цене
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_list--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Пагинация
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
NotificationsAPI
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="NotificationsAPI">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Все уведомления
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Новые уведомления
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Диалоги
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI-functions" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Functions
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Functions">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.fetch" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
fetch
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.get_blocked_dialogs" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_blocked_dialogs
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.get_dialogs" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_dialogs
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.get_list" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_list
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
OtherAPI
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="OtherAPI">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Пользовательские предпочтения
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Статус кворков
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Установить статус оффлайн
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI-functions" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Functions
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Functions">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_actor" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_actor
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_channel" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_channel
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_exchange_info" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_exchange_info
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_favorite_categories" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_favorite_categories
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_in_app_notification" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_in_app_notification
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_kworks_status" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_kworks_status
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_offers" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_offers
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_security_user_data" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_security_user_data
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_viewed_kworks" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_viewed_kworks
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_wants" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_wants
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_wants_status" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_wants_status
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.go_offline" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
go_offline
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.is_dialog_allow" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
is_dialog_allow
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.update_settings" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
update_settings
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.validate_text" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
validate_text
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
ProjectsAPI
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="ProjectsAPI">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Новые проекты
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Мои заказы как заказчика
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Мои заказы как исполнителя
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI-functions" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Functions
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Functions">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_list" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_list
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_list--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Все новые проекты
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_list--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Только категория "Разработка"
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_payer_orders" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_payer_orders
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_worker_orders" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_worker_orders
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
ReferenceAPI
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="ReferenceAPI">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Все страны
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Все города
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Доступные фичи
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI-functions" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Functions
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Functions">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_badges_info" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_badges_info
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_cities" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_cities
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_countries" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_countries
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_features" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_features
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_public_features" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_public_features
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_timezones" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_timezones
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
UserAPI
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="UserAPI">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Информация о пользователе
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Мои отзывы
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Избранные кворки
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI-functions" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Functions
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Functions">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_favorite_kworks" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_favorite_kworks
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_info" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_info
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_reviews" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
get_reviews
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_reviews--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Мои отзывы
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_reviews--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Отзывы другого пользователя
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_reviews--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
С пагинацией
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient-functions" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Functions
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="Functions">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.close" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
close
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.login" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
login
|
||
|
||
</span>
|
||
</a>
|
||
|
||
<nav class="md-nav" aria-label="login">
|
||
<ul class="md-nav__list">
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.login--_1" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Базовое использование
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.login--_2" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
С кастомным таймаутом
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.login--_3" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Сохранение токена для повторного использования
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
<li class="md-nav__item">
|
||
<a href="#kwork_api.client.KworkClient.login--client-kworkclienttokentoken" class="md-nav__link">
|
||
<span class="md-ellipsis">
|
||
|
||
Позже: client = KworkClient(token=token)
|
||
|
||
</span>
|
||
</a>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../models/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Models
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../errors/" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Errors
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
|
||
</li>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<li class="md-nav__item">
|
||
<a href="../../examples.md" class="md-nav__link">
|
||
|
||
|
||
|
||
<span class="md-ellipsis">
|
||
|
||
|
||
Examples
|
||
|
||
|
||
|
||
</span>
|
||
|
||
|
||
|
||
</a>
|
||
</li>
|
||
|
||
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
<div class="md-content" data-md-component="content">
|
||
|
||
<article class="md-content__inner md-typeset">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h1 id="client-api">Client API<a class="headerlink" href="#client-api" title="Permanent link">¶</a></h1>
|
||
|
||
|
||
<div class="doc doc-object doc-class">
|
||
|
||
|
||
|
||
<h2 id="kwork_api.client.KworkClient" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-class-name">kwork_api.client.KworkClient</span>
|
||
|
||
|
||
<a href="#kwork_api.client.KworkClient" class="headerlink" title="Permanent link">¶</a></h2>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">KworkClient</span><span class="p">(</span>
|
||
<span class="n">token</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">cookies</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="mf">30.0</span><span class="p">,</span> <span class="n">base_url</span><span class="o">=</span><span class="kc">None</span>
|
||
<span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents first">
|
||
|
||
|
||
|
||
<p>Асинхронный клиент для Kwork.ru API.</p>
|
||
<p>Предоставляет доступ ко всем основным эндпоинтам Kwork API:
|
||
- Каталог кворков и поиск
|
||
- Биржа проектов (фриланс заказы)
|
||
- Пользовательские данные и отзывы
|
||
- Уведомления и сообщения
|
||
- Справочные данные (города, страны, категории)</p>
|
||
|
||
|
||
<details class="аутентификация" open>
|
||
<summary>Аутентификация</summary>
|
||
<p>Клиент использует двухэтапную аутентификацию Kwork:
|
||
1. POST /signIn — получение session cookies
|
||
2. POST /getWebAuthToken — получение web_auth_token</p>
|
||
</details>
|
||
|
||
<details class="примеры-использования" open>
|
||
<summary>Примеры использования</summary>
|
||
<h3 id="kwork_api.client.KworkClient--_1">Вход по логину/паролю<a class="headerlink" href="#kwork_api.client.KworkClient--_1" title="Permanent link">¶</a></h3>
|
||
<p>async with await KworkClient.login("username", "password") as client:
|
||
catalog = await client.catalog.get_list(page=1)</p>
|
||
<h3 id="kwork_api.client.KworkClient--_2">Восстановление сессии по токену<a class="headerlink" href="#kwork_api.client.KworkClient--_2" title="Permanent link">¶</a></h3>
|
||
<p>client = KworkClient(token="saved_web_auth_token")
|
||
user_info = await client.user.get_info()</p>
|
||
<h3 id="kwork_api.client.KworkClient--_3">Работа с проектами<a class="headerlink" href="#kwork_api.client.KworkClient--_3" title="Permanent link">¶</a></h3>
|
||
<p>projects = await client.projects.get_list(page=1)
|
||
my_orders = await client.projects.get_payer_orders()</p>
|
||
</details>
|
||
|
||
<p><span class="doc-section-title">Attributes:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td><code><a class="autorefs autorefs-internal" title="catalog
|
||
|
||
|
||
|
||
property
|
||
(kwork_api.client.KworkClient.catalog)" href="#kwork_api.client.KworkClient.catalog">catalog</a></code></td>
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="CatalogAPI (kwork_api.client.KworkClient.CatalogAPI)" href="#kwork_api.client.KworkClient.CatalogAPI">CatalogAPI</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Доступ к каталогу кворков</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td><code><a class="autorefs autorefs-internal" title="projects
|
||
|
||
|
||
|
||
property
|
||
(kwork_api.client.KworkClient.projects)" href="#kwork_api.client.KworkClient.projects">projects</a></code></td>
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ProjectsAPI (kwork_api.client.KworkClient.ProjectsAPI)" href="#kwork_api.client.KworkClient.ProjectsAPI">ProjectsAPI</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Доступ к бирже проектов</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td><code><a class="autorefs autorefs-internal" title="user
|
||
|
||
|
||
|
||
property
|
||
(kwork_api.client.KworkClient.user)" href="#kwork_api.client.KworkClient.user">user</a></code></td>
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="UserAPI (kwork_api.client.KworkClient.UserAPI)" href="#kwork_api.client.KworkClient.UserAPI">UserAPI</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Пользовательские эндпоинты</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td><code><a class="autorefs autorefs-internal" title="reference
|
||
|
||
|
||
|
||
property
|
||
(kwork_api.client.KworkClient.reference)" href="#kwork_api.client.KworkClient.reference">reference</a></code></td>
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ReferenceAPI (kwork_api.client.KworkClient.ReferenceAPI)" href="#kwork_api.client.KworkClient.ReferenceAPI">ReferenceAPI</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Справочные данные</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td><code><a class="autorefs autorefs-internal" title="notifications
|
||
|
||
|
||
|
||
property
|
||
(kwork_api.client.KworkClient.notifications)" href="#kwork_api.client.KworkClient.notifications">notifications</a></code></td>
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="NotificationsAPI (kwork_api.client.KworkClient.NotificationsAPI)" href="#kwork_api.client.KworkClient.NotificationsAPI">NotificationsAPI</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Уведомления и сообщения</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td><code><a class="autorefs autorefs-internal" title="other
|
||
|
||
|
||
|
||
property
|
||
(kwork_api.client.KworkClient.other)" href="#kwork_api.client.KworkClient.other">other</a></code></td>
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="OtherAPI (kwork_api.client.KworkClient.OtherAPI)" href="#kwork_api.client.KworkClient.OtherAPI">OtherAPI</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Прочие эндпоинты</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="note" open>
|
||
<summary>Note</summary>
|
||
<p>Клиент поддерживает context manager для автоматического закрытия соединения.
|
||
Рекомендуется использовать <code>async with</code> для корректного освобождения ресурсов.</p>
|
||
</details>
|
||
<p>Инициализация клиента.</p>
|
||
<p>Создаёт неаутентифицированный клиент или восстанавливает сессию
|
||
по ранее полученному токену.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>token</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="str">str</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Web auth token, полученный через <code>getWebAuthToken</code> или <code>login()</code>.
|
||
Если указан, автоматически добавляется в cookies.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>None</code>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>cookies</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="dict">dict</span>[<span title="str">str</span>, <span title="str">str</span>]]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Session cookies из предыдущей аутентификации.
|
||
Обычно не требуется — устанавливаются автоматически из token.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>None</code>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>timeout</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="float">float</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Таймаут HTTP запросов в секундах. По умолчанию 30 секунд.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>30.0</code>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>base_url</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="str">str</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Кастомный базовый URL. Используется только для тестирования.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>None</code>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h3 id="kwork_api.client.KworkClient--_1">Новый клиент без аутентификации<a class="headerlink" href="#kwork_api.client.KworkClient--_1" title="Permanent link">¶</a></h3>
|
||
<p>client = KworkClient()</p>
|
||
<h3 id="kwork_api.client.KworkClient--_2">Восстановление сессии<a class="headerlink" href="#kwork_api.client.KworkClient--_2" title="Permanent link">¶</a></h3>
|
||
<p>client = KworkClient(token="eyJ0eXAiOiJKV1QiLCJhbGc...")</p>
|
||
<h3 id="kwork_api.client.KworkClient--_3">Клиент с кастомным таймаутом<a class="headerlink" href="#kwork_api.client.KworkClient--_3" title="Permanent link">¶</a></h3>
|
||
<p>client = KworkClient(timeout=60.0)</p>
|
||
</details>
|
||
|
||
<details class="note" open>
|
||
<summary>Note</summary>
|
||
<p>Для полноценной работы API требуется аутентификация.
|
||
Используйте <code>login()</code> или передайте сохранённый token.</p>
|
||
</details>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 92</span>
|
||
<span class="normal"> 93</span>
|
||
<span class="normal"> 94</span>
|
||
<span class="normal"> 95</span>
|
||
<span class="normal"> 96</span>
|
||
<span class="normal"> 97</span>
|
||
<span class="normal"> 98</span>
|
||
<span class="normal"> 99</span>
|
||
<span class="normal">100</span>
|
||
<span class="normal">101</span>
|
||
<span class="normal">102</span>
|
||
<span class="normal">103</span>
|
||
<span class="normal">104</span>
|
||
<span class="normal">105</span>
|
||
<span class="normal">106</span>
|
||
<span class="normal">107</span>
|
||
<span class="normal">108</span>
|
||
<span class="normal">109</span>
|
||
<span class="normal">110</span>
|
||
<span class="normal">111</span>
|
||
<span class="normal">112</span>
|
||
<span class="normal">113</span>
|
||
<span class="normal">114</span>
|
||
<span class="normal">115</span>
|
||
<span class="normal">116</span>
|
||
<span class="normal">117</span>
|
||
<span class="normal">118</span>
|
||
<span class="normal">119</span>
|
||
<span class="normal">120</span>
|
||
<span class="normal">121</span>
|
||
<span class="normal">122</span>
|
||
<span class="normal">123</span>
|
||
<span class="normal">124</span>
|
||
<span class="normal">125</span>
|
||
<span class="normal">126</span>
|
||
<span class="normal">127</span>
|
||
<span class="normal">128</span>
|
||
<span class="normal">129</span>
|
||
<span class="normal">130</span>
|
||
<span class="normal">131</span>
|
||
<span class="normal">132</span>
|
||
<span class="normal">133</span></pre></div></td><td class="code"><div><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">token</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||
<span class="n">cookies</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||
<span class="n">timeout</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">30.0</span><span class="p">,</span>
|
||
<span class="n">base_url</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||
<span class="p">):</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Инициализация клиента.</span>
|
||
|
||
<span class="sd"> Создаёт неаутентифицированный клиент или восстанавливает сессию</span>
|
||
<span class="sd"> по ранее полученному токену.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> token: Web auth token, полученный через `getWebAuthToken` или `login()`.</span>
|
||
<span class="sd"> Если указан, автоматически добавляется в cookies.</span>
|
||
<span class="sd"> cookies: Session cookies из предыдущей аутентификации.</span>
|
||
<span class="sd"> Обычно не требуется — устанавливаются автоматически из token.</span>
|
||
<span class="sd"> timeout: Таймаут HTTP запросов в секундах. По умолчанию 30 секунд.</span>
|
||
<span class="sd"> base_url: Кастомный базовый URL. Используется только для тестирования.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> # Новый клиент без аутентификации</span>
|
||
<span class="sd"> client = KworkClient()</span>
|
||
|
||
<span class="sd"> # Восстановление сессии</span>
|
||
<span class="sd"> client = KworkClient(token="eyJ0eXAiOiJKV1QiLCJhbGc...")</span>
|
||
|
||
<span class="sd"> # Клиент с кастомным таймаутом</span>
|
||
<span class="sd"> client = KworkClient(timeout=60.0)</span>
|
||
|
||
<span class="sd"> Note:</span>
|
||
<span class="sd"> Для полноценной работы API требуется аутентификация.</span>
|
||
<span class="sd"> Используйте `login()` или передайте сохранённый token.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">base_url</span> <span class="o">=</span> <span class="n">base_url</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">BASE_URL</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">timeout</span> <span class="o">=</span> <span class="n">timeout</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">_token</span> <span class="o">=</span> <span class="n">token</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">_cookies</span> <span class="o">=</span> <span class="n">cookies</span> <span class="ow">or</span> <span class="p">{}</span>
|
||
|
||
<span class="c1"># Initialize HTTP client</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">httpx</span><span class="o">.</span><span class="n">AsyncClient</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
|
||
|
||
|
||
<div class="doc doc-children">
|
||
|
||
|
||
|
||
|
||
|
||
<h3 id="kwork_api.client.KworkClient-attributes">Attributes<a href="#kwork_api.client.KworkClient-attributes" class="headerlink" title="Permanent link">¶</a></h3>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.catalog" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">catalog</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.catalog" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">catalog</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>API каталога кворков.</p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.cookies" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">cookies</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.cookies" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">cookies</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Session cookies.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="str">str</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Словарь cookies включая web_auth_token.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.cookies--_1">Сохранение полной сессии<a class="headerlink" href="#kwork_api.client.KworkClient.cookies--_1" title="Permanent link">¶</a></h5>
|
||
<p>client = await KworkClient.login("user", "pass")
|
||
creds = client.credentials</p>
|
||
<h5 id="kwork_api.client.KworkClient.cookies--_2">Восстановление<a class="headerlink" href="#kwork_api.client.KworkClient.cookies--_2" title="Permanent link">¶</a></h5>
|
||
<p>client = KworkClient(**creds)</p>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.credentials" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">credentials</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.credentials" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">credentials</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Учётные данные для восстановления сессии.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Optional">Optional</span>[<span title="str">str</span>]]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Словарь с token и cookies для передачи в KworkClient().</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.credentials--_1">Сохранение<a class="headerlink" href="#kwork_api.client.KworkClient.credentials--_1" title="Permanent link">¶</a></h5>
|
||
<p>client = await KworkClient.login("user", "pass")
|
||
import json
|
||
with open("session.json", "w") as f:
|
||
json.dump(client.credentials, f)</p>
|
||
<h5 id="kwork_api.client.KworkClient.credentials--_2">Восстановление<a class="headerlink" href="#kwork_api.client.KworkClient.credentials--_2" title="Permanent link">¶</a></h5>
|
||
<p>with open("session.json") as f:
|
||
creds = json.load(f)
|
||
client = KworkClient(**creds)</p>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.notifications" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">notifications</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.notifications" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">notifications</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>API уведомлений.</p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.other" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">other</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.other" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">other</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Прочее API.</p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.projects" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">projects</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.projects" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">projects</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>API биржи проектов.</p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.reference" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">reference</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.reference" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">reference</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Справочное API.</p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.token" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">token</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.token" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">token</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Web auth token для аутентификации.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="str">str</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Токен или None если клиент не аутентифицирован.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.token--_1">Сохранение токена для последующего использования<a class="headerlink" href="#kwork_api.client.KworkClient.token--_1" title="Permanent link">¶</a></h5>
|
||
<p>client = await KworkClient.login("user", "pass")
|
||
token = client.token</p>
|
||
<h5 id="kwork_api.client.KworkClient.token--_2">Позже: восстановление сессии<a class="headerlink" href="#kwork_api.client.KworkClient.token--_2" title="Permanent link">¶</a></h5>
|
||
<p>client = KworkClient(token=token)</p>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-attribute">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.user" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-attribute-name">user</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.user" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="n">user</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Пользовательское API.</p>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<h3 id="kwork_api.client.KworkClient-classes">Classes<a href="#kwork_api.client.KworkClient-classes" class="headerlink" title="Permanent link">¶</a></h3>
|
||
|
||
<div class="doc doc-object doc-class">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.CatalogAPI" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-class-name">CatalogAPI</span>
|
||
|
||
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">CatalogAPI</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
|
||
|
||
<p>API каталога кворков.</p>
|
||
<p>Предоставляет доступ к каталогу услуг Kwork:
|
||
- Поиск и фильтрация кворков
|
||
- Получение детальной информации
|
||
- Категории и сортировка</p>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.CatalogAPI--_1">Получить первую страницу каталога<a class="headerlink" href="#kwork_api.client.KworkClient.CatalogAPI--_1" title="Permanent link">¶</a></h5>
|
||
<p>catalog = await client.catalog.get_list(page=1)</p>
|
||
<h5 id="kwork_api.client.KworkClient.CatalogAPI--_2">Фильтрация по категории<a class="headerlink" href="#kwork_api.client.KworkClient.CatalogAPI--_2" title="Permanent link">¶</a></h5>
|
||
<p>catalog = await client.catalog.get_list(category_id=5)</p>
|
||
<h5 id="kwork_api.client.KworkClient.CatalogAPI--_3">Детали конкретного кворка<a class="headerlink" href="#kwork_api.client.KworkClient.CatalogAPI--_3" title="Permanent link">¶</a></h5>
|
||
<p>details = await client.catalog.get_details(kwork_id=12345)</p>
|
||
</details>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">419</span>
|
||
<span class="normal">420</span></pre></div></td><td class="code"><div><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">client</span><span class="p">:</span> <span class="s2">"KworkClient"</span><span class="p">):</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
|
||
|
||
|
||
<div class="doc doc-children">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h5 id="kwork_api.client.KworkClient.CatalogAPI-functions">Functions<a href="#kwork_api.client.KworkClient.CatalogAPI-functions" class="headerlink" title="Permanent link">¶</a></h5>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.CatalogAPI.get_details" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_details</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_details" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_details</span><span class="p">(</span><span class="n">kwork_id</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить полную информацию о кворке.</p>
|
||
<p>Возвращает расширенную информацию о кворке включая:
|
||
- Полное описание и требования
|
||
- Сроки выполнения и количество правок
|
||
- Дополнительные опции (features)
|
||
- FAQ от продавца</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>kwork_id</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="int">int</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Уникальный идентификатор кворка.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<em>required</em>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="KworkDetails (kwork_api.models.KworkDetails)" href="../models/#kwork_api.models.KworkDetails">KworkDetails</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>KworkDetails с полной информацией о кворке.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Raises:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="KworkNotFoundError (kwork_api.errors.KworkNotFoundError)" href="../errors/#kwork_api.errors.KworkNotFoundError">KworkNotFoundError</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Если кворк с таким ID не найден.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>details = await client.catalog.get_details(12345)
|
||
print(f"Название: {details.title}")
|
||
print(f"Цена: {details.price} {details.currency}")
|
||
print(f"Срок: {details.delivery_time} дней")
|
||
print(f"Правки: {details.revisions}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">478</span>
|
||
<span class="normal">479</span>
|
||
<span class="normal">480</span>
|
||
<span class="normal">481</span>
|
||
<span class="normal">482</span>
|
||
<span class="normal">483</span>
|
||
<span class="normal">484</span>
|
||
<span class="normal">485</span>
|
||
<span class="normal">486</span>
|
||
<span class="normal">487</span>
|
||
<span class="normal">488</span>
|
||
<span class="normal">489</span>
|
||
<span class="normal">490</span>
|
||
<span class="normal">491</span>
|
||
<span class="normal">492</span>
|
||
<span class="normal">493</span>
|
||
<span class="normal">494</span>
|
||
<span class="normal">495</span>
|
||
<span class="normal">496</span>
|
||
<span class="normal">497</span>
|
||
<span class="normal">498</span>
|
||
<span class="normal">499</span>
|
||
<span class="normal">500</span>
|
||
<span class="normal">501</span>
|
||
<span class="normal">502</span>
|
||
<span class="normal">503</span>
|
||
<span class="normal">504</span>
|
||
<span class="normal">505</span>
|
||
<span class="normal">506</span>
|
||
<span class="normal">507</span>
|
||
<span class="normal">508</span>
|
||
<span class="normal">509</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_details</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">kwork_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-></span> <span class="n">KworkDetails</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить полную информацию о кворке.</span>
|
||
|
||
<span class="sd"> Возвращает расширенную информацию о кворке включая:</span>
|
||
<span class="sd"> - Полное описание и требования</span>
|
||
<span class="sd"> - Сроки выполнения и количество правок</span>
|
||
<span class="sd"> - Дополнительные опции (features)</span>
|
||
<span class="sd"> - FAQ от продавца</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> kwork_id: Уникальный идентификатор кворка.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> KworkDetails с полной информацией о кворке.</span>
|
||
|
||
<span class="sd"> Raises:</span>
|
||
<span class="sd"> KworkNotFoundError: Если кворк с таким ID не найден.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> details = await client.catalog.get_details(12345)</span>
|
||
<span class="sd"> print(f"Название: {details.title}")</span>
|
||
<span class="sd"> print(f"Цена: {details.price} {details.currency}")</span>
|
||
<span class="sd"> print(f"Срок: {details.delivery_time} дней")</span>
|
||
<span class="sd"> print(f"Правки: {details.revisions}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span>
|
||
<span class="s2">"POST"</span><span class="p">,</span>
|
||
<span class="s2">"/getKworkDetails"</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">"kwork_id"</span><span class="p">:</span> <span class="n">kwork_id</span><span class="p">},</span>
|
||
<span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">KworkDetails</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.CatalogAPI.get_details_extra" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_details_extra</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_details_extra" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_details_extra</span><span class="p">(</span><span class="n">kwork_id</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить дополнительные детали кворка.</p>
|
||
<p>Возвращает расширенную информацию, которая не включена
|
||
в основной ответ get_details(). Может содержать:
|
||
- Дополнительные изображения
|
||
- Видео обзоры
|
||
- Детали пакетов услуг
|
||
- Статистику продаж</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>kwork_id</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="int">int</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Уникальный идентификатор кворка.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<em>required</em>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Словарь с дополнительными данными. Структура зависит</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>от конкретного кворка и не гарантируется стабильной.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="note" open>
|
||
<summary>Note</summary>
|
||
<p>Этот эндпоинт возвращает "сырые" данные без валидации.
|
||
Структура ответа может измениться без предупреждения.</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">511</span>
|
||
<span class="normal">512</span>
|
||
<span class="normal">513</span>
|
||
<span class="normal">514</span>
|
||
<span class="normal">515</span>
|
||
<span class="normal">516</span>
|
||
<span class="normal">517</span>
|
||
<span class="normal">518</span>
|
||
<span class="normal">519</span>
|
||
<span class="normal">520</span>
|
||
<span class="normal">521</span>
|
||
<span class="normal">522</span>
|
||
<span class="normal">523</span>
|
||
<span class="normal">524</span>
|
||
<span class="normal">525</span>
|
||
<span class="normal">526</span>
|
||
<span class="normal">527</span>
|
||
<span class="normal">528</span>
|
||
<span class="normal">529</span>
|
||
<span class="normal">530</span>
|
||
<span class="normal">531</span>
|
||
<span class="normal">532</span>
|
||
<span class="normal">533</span>
|
||
<span class="normal">534</span>
|
||
<span class="normal">535</span>
|
||
<span class="normal">536</span>
|
||
<span class="normal">537</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_details_extra</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">kwork_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить дополнительные детали кворка.</span>
|
||
|
||
<span class="sd"> Возвращает расширенную информацию, которая не включена</span>
|
||
<span class="sd"> в основной ответ get_details(). Может содержать:</span>
|
||
<span class="sd"> - Дополнительные изображения</span>
|
||
<span class="sd"> - Видео обзоры</span>
|
||
<span class="sd"> - Детали пакетов услуг</span>
|
||
<span class="sd"> - Статистику продаж</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> kwork_id: Уникальный идентификатор кворка.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Словарь с дополнительными данными. Структура зависит</span>
|
||
<span class="sd"> от конкретного кворка и не гарантируется стабильной.</span>
|
||
|
||
<span class="sd"> Note:</span>
|
||
<span class="sd"> Этот эндпоинт возвращает "сырые" данные без валидации.</span>
|
||
<span class="sd"> Структура ответа может измениться без предупреждения.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span>
|
||
<span class="s2">"POST"</span><span class="p">,</span>
|
||
<span class="s2">"/getKworkDetailsExtra"</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">"kwork_id"</span><span class="p">:</span> <span class="n">kwork_id</span><span class="p">},</span>
|
||
<span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.CatalogAPI.get_list" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_list</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.CatalogAPI.get_list" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_list</span><span class="p">(</span><span class="n">page</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">category_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">sort</span><span class="o">=</span><span class="s1">'recommend'</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список кворков из каталога.</p>
|
||
<p>Основной эндпоинт для поиска и просмотра кворков.
|
||
Возвращает пагинированный список с возможностью фильтрации.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>page</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="int">int</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Номер страницы для пагинации (начиная с 1).</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>1</code>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>category_id</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="int">int</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>ID категории для фильтрации.
|
||
Если None — все категории.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>None</code>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>sort</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="str">str</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Опция сортировки. Варианты:
|
||
- "recommend" — по рекомендации (по умолчанию)
|
||
- "price_asc" — по возрастанию цены
|
||
- "price_desc" — по убыванию цены
|
||
- "rating" — по рейтингу
|
||
- "reviews" — по количеству отзывов
|
||
- "newest" — по дате создания</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>'recommend'</code>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="CatalogResponse (kwork_api.models.CatalogResponse)" href="../models/#kwork_api.models.CatalogResponse">CatalogResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>CatalogResponse содержащий:</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="CatalogResponse (kwork_api.models.CatalogResponse)" href="../models/#kwork_api.models.CatalogResponse">CatalogResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>kworks: список кворков на странице</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="CatalogResponse (kwork_api.models.CatalogResponse)" href="../models/#kwork_api.models.CatalogResponse">CatalogResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>pagination: информация о пагинации</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="CatalogResponse (kwork_api.models.CatalogResponse)" href="../models/#kwork_api.models.CatalogResponse">CatalogResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>filters: доступные фильтры</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="CatalogResponse (kwork_api.models.CatalogResponse)" href="../models/#kwork_api.models.CatalogResponse">CatalogResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>sort_options: доступные опции сортировки</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h6 id="kwork_api.client.KworkClient.CatalogAPI.get_list--_1">Первая страница, сортировка по цене<a class="headerlink" href="#kwork_api.client.KworkClient.CatalogAPI.get_list--_1" title="Permanent link">¶</a></h6>
|
||
<p>response = await client.catalog.get_list(
|
||
page=1,
|
||
sort="price_asc"
|
||
)</p>
|
||
<p>for kwork in response.kworks:
|
||
print(f"{kwork.title}: {kwork.price} RUB")</p>
|
||
<h6 id="kwork_api.client.KworkClient.CatalogAPI.get_list--_2">Пагинация<a class="headerlink" href="#kwork_api.client.KworkClient.CatalogAPI.get_list--_2" title="Permanent link">¶</a></h6>
|
||
<p>if response.pagination and response.pagination.has_next:
|
||
next_page = await client.catalog.get_list(page=2)</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">422</span>
|
||
<span class="normal">423</span>
|
||
<span class="normal">424</span>
|
||
<span class="normal">425</span>
|
||
<span class="normal">426</span>
|
||
<span class="normal">427</span>
|
||
<span class="normal">428</span>
|
||
<span class="normal">429</span>
|
||
<span class="normal">430</span>
|
||
<span class="normal">431</span>
|
||
<span class="normal">432</span>
|
||
<span class="normal">433</span>
|
||
<span class="normal">434</span>
|
||
<span class="normal">435</span>
|
||
<span class="normal">436</span>
|
||
<span class="normal">437</span>
|
||
<span class="normal">438</span>
|
||
<span class="normal">439</span>
|
||
<span class="normal">440</span>
|
||
<span class="normal">441</span>
|
||
<span class="normal">442</span>
|
||
<span class="normal">443</span>
|
||
<span class="normal">444</span>
|
||
<span class="normal">445</span>
|
||
<span class="normal">446</span>
|
||
<span class="normal">447</span>
|
||
<span class="normal">448</span>
|
||
<span class="normal">449</span>
|
||
<span class="normal">450</span>
|
||
<span class="normal">451</span>
|
||
<span class="normal">452</span>
|
||
<span class="normal">453</span>
|
||
<span class="normal">454</span>
|
||
<span class="normal">455</span>
|
||
<span class="normal">456</span>
|
||
<span class="normal">457</span>
|
||
<span class="normal">458</span>
|
||
<span class="normal">459</span>
|
||
<span class="normal">460</span>
|
||
<span class="normal">461</span>
|
||
<span class="normal">462</span>
|
||
<span class="normal">463</span>
|
||
<span class="normal">464</span>
|
||
<span class="normal">465</span>
|
||
<span class="normal">466</span>
|
||
<span class="normal">467</span>
|
||
<span class="normal">468</span>
|
||
<span class="normal">469</span>
|
||
<span class="normal">470</span>
|
||
<span class="normal">471</span>
|
||
<span class="normal">472</span>
|
||
<span class="normal">473</span>
|
||
<span class="normal">474</span>
|
||
<span class="normal">475</span>
|
||
<span class="normal">476</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_list</span><span class="p">(</span>
|
||
<span class="bp">self</span><span class="p">,</span>
|
||
<span class="n">page</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
|
||
<span class="n">category_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||
<span class="n">sort</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="s2">"recommend"</span><span class="p">,</span>
|
||
<span class="p">)</span> <span class="o">-></span> <span class="n">CatalogResponse</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список кворков из каталога.</span>
|
||
|
||
<span class="sd"> Основной эндпоинт для поиска и просмотра кворков.</span>
|
||
<span class="sd"> Возвращает пагинированный список с возможностью фильтрации.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> page: Номер страницы для пагинации (начиная с 1).</span>
|
||
<span class="sd"> category_id: ID категории для фильтрации.</span>
|
||
<span class="sd"> Если None — все категории.</span>
|
||
<span class="sd"> sort: Опция сортировки. Варианты:</span>
|
||
<span class="sd"> - "recommend" — по рекомендации (по умолчанию)</span>
|
||
<span class="sd"> - "price_asc" — по возрастанию цены</span>
|
||
<span class="sd"> - "price_desc" — по убыванию цены</span>
|
||
<span class="sd"> - "rating" — по рейтингу</span>
|
||
<span class="sd"> - "reviews" — по количеству отзывов</span>
|
||
<span class="sd"> - "newest" — по дате создания</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> CatalogResponse содержащий:</span>
|
||
<span class="sd"> - kworks: список кворков на странице</span>
|
||
<span class="sd"> - pagination: информация о пагинации</span>
|
||
<span class="sd"> - filters: доступные фильтры</span>
|
||
<span class="sd"> - sort_options: доступные опции сортировки</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> # Первая страница, сортировка по цене</span>
|
||
<span class="sd"> response = await client.catalog.get_list(</span>
|
||
<span class="sd"> page=1,</span>
|
||
<span class="sd"> sort="price_asc"</span>
|
||
<span class="sd"> )</span>
|
||
|
||
<span class="sd"> for kwork in response.kworks:</span>
|
||
<span class="sd"> print(f"{kwork.title}: {kwork.price} RUB")</span>
|
||
|
||
<span class="sd"> # Пагинация</span>
|
||
<span class="sd"> if response.pagination and response.pagination.has_next:</span>
|
||
<span class="sd"> next_page = await client.catalog.get_list(page=2)</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span>
|
||
<span class="s2">"POST"</span><span class="p">,</span>
|
||
<span class="s2">"/catalogMainv2"</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="p">{</span>
|
||
<span class="s2">"page"</span><span class="p">:</span> <span class="n">page</span><span class="p">,</span>
|
||
<span class="s2">"category_id"</span><span class="p">:</span> <span class="n">category_id</span><span class="p">,</span>
|
||
<span class="s2">"sort"</span><span class="p">:</span> <span class="n">sort</span><span class="p">,</span>
|
||
<span class="p">},</span>
|
||
<span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">CatalogResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-class">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.NotificationsAPI" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-class-name">NotificationsAPI</span>
|
||
|
||
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">NotificationsAPI</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
|
||
|
||
<p>API уведомлений и сообщений.</p>
|
||
<p>Предоставляет доступ к системе уведомлений Kwork:
|
||
- Список уведомлений
|
||
- Получение новых уведомлений
|
||
- Диалоги с пользователями
|
||
- Заблокированные диалоги</p>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.NotificationsAPI--_1">Все уведомления<a class="headerlink" href="#kwork_api.client.KworkClient.NotificationsAPI--_1" title="Permanent link">¶</a></h5>
|
||
<p>notifications = await client.notifications.get_list()</p>
|
||
<h5 id="kwork_api.client.KworkClient.NotificationsAPI--_2">Новые уведомления<a class="headerlink" href="#kwork_api.client.KworkClient.NotificationsAPI--_2" title="Permanent link">¶</a></h5>
|
||
<p>new = await client.notifications.fetch()</p>
|
||
<h5 id="kwork_api.client.KworkClient.NotificationsAPI--_3">Диалоги<a class="headerlink" href="#kwork_api.client.KworkClient.NotificationsAPI--_3" title="Permanent link">¶</a></h5>
|
||
<p>dialogs = await client.notifications.get_dialogs()</p>
|
||
</details>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">892</span>
|
||
<span class="normal">893</span></pre></div></td><td class="code"><div><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">client</span><span class="p">:</span> <span class="s2">"KworkClient"</span><span class="p">):</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
|
||
|
||
|
||
<div class="doc doc-children">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h5 id="kwork_api.client.KworkClient.NotificationsAPI-functions">Functions<a href="#kwork_api.client.KworkClient.NotificationsAPI-functions" class="headerlink" title="Permanent link">¶</a></h5>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.NotificationsAPI.fetch" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">fetch</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.fetch" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">fetch</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить новые уведомления.</p>
|
||
<p>Отличается от get_list() тем, что возвращает только
|
||
уведомления, появившиеся с момента последнего запроса.
|
||
Также может обновлять счётчик непрочитанных.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="NotificationsResponse (kwork_api.models.NotificationsResponse)" href="../models/#kwork_api.models.NotificationsResponse">NotificationsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>NotificationsResponse с новыми уведомлениями.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>new_notifs = await client.notifications.fetch()
|
||
if new_notifs.unread_count > 0:
|
||
print(f"У вас {new_notifs.unread_count} новых уведомлений!")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">918</span>
|
||
<span class="normal">919</span>
|
||
<span class="normal">920</span>
|
||
<span class="normal">921</span>
|
||
<span class="normal">922</span>
|
||
<span class="normal">923</span>
|
||
<span class="normal">924</span>
|
||
<span class="normal">925</span>
|
||
<span class="normal">926</span>
|
||
<span class="normal">927</span>
|
||
<span class="normal">928</span>
|
||
<span class="normal">929</span>
|
||
<span class="normal">930</span>
|
||
<span class="normal">931</span>
|
||
<span class="normal">932</span>
|
||
<span class="normal">933</span>
|
||
<span class="normal">934</span>
|
||
<span class="normal">935</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">fetch</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="n">NotificationsResponse</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить новые уведомления.</span>
|
||
|
||
<span class="sd"> Отличается от get_list() тем, что возвращает только</span>
|
||
<span class="sd"> уведомления, появившиеся с момента последнего запроса.</span>
|
||
<span class="sd"> Также может обновлять счётчик непрочитанных.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> NotificationsResponse с новыми уведомлениями.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> new_notifs = await client.notifications.fetch()</span>
|
||
<span class="sd"> if new_notifs.unread_count > 0:</span>
|
||
<span class="sd"> print(f"У вас {new_notifs.unread_count} новых уведомлений!")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/notificationsFetch"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">NotificationsResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.NotificationsAPI.get_blocked_dialogs" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_blocked_dialogs</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.get_blocked_dialogs" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_blocked_dialogs</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список заблокированных диалогов.</p>
|
||
<p>Возвращает диалоги с пользователями, которые были
|
||
заблокированы текущим пользователем.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Dialog (kwork_api.models.Dialog)" href="../models/#kwork_api.models.Dialog">Dialog</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список заблокированных диалогов.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>blocked = await client.notifications.get_blocked_dialogs()
|
||
print(f"Заблокировано: {len(blocked)} пользователей")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">955</span>
|
||
<span class="normal">956</span>
|
||
<span class="normal">957</span>
|
||
<span class="normal">958</span>
|
||
<span class="normal">959</span>
|
||
<span class="normal">960</span>
|
||
<span class="normal">961</span>
|
||
<span class="normal">962</span>
|
||
<span class="normal">963</span>
|
||
<span class="normal">964</span>
|
||
<span class="normal">965</span>
|
||
<span class="normal">966</span>
|
||
<span class="normal">967</span>
|
||
<span class="normal">968</span>
|
||
<span class="normal">969</span>
|
||
<span class="normal">970</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_blocked_dialogs</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="n">Dialog</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список заблокированных диалогов.</span>
|
||
|
||
<span class="sd"> Возвращает диалоги с пользователями, которые были</span>
|
||
<span class="sd"> заблокированы текущим пользователем.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список заблокированных диалогов.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> blocked = await client.notifications.get_blocked_dialogs()</span>
|
||
<span class="sd"> print(f"Заблокировано: {len(blocked)} пользователей")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/blockedDialogList"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Dialog</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"dialogs"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.NotificationsAPI.get_dialogs" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_dialogs</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.get_dialogs" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_dialogs</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список диалогов (чатов).</p>
|
||
<p>Возвращает все активные диалоги пользователя с другими
|
||
пользователями Kwork.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Dialog (kwork_api.models.Dialog)" href="../models/#kwork_api.models.Dialog">Dialog</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список диалогов с последней перепиской.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>dialogs = await client.notifications.get_dialogs()
|
||
for d in dialogs:
|
||
print(f"С {d.participant.username}: {d.last_message}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">937</span>
|
||
<span class="normal">938</span>
|
||
<span class="normal">939</span>
|
||
<span class="normal">940</span>
|
||
<span class="normal">941</span>
|
||
<span class="normal">942</span>
|
||
<span class="normal">943</span>
|
||
<span class="normal">944</span>
|
||
<span class="normal">945</span>
|
||
<span class="normal">946</span>
|
||
<span class="normal">947</span>
|
||
<span class="normal">948</span>
|
||
<span class="normal">949</span>
|
||
<span class="normal">950</span>
|
||
<span class="normal">951</span>
|
||
<span class="normal">952</span>
|
||
<span class="normal">953</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_dialogs</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="n">Dialog</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список диалогов (чатов).</span>
|
||
|
||
<span class="sd"> Возвращает все активные диалоги пользователя с другими</span>
|
||
<span class="sd"> пользователями Kwork.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список диалогов с последней перепиской.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> dialogs = await client.notifications.get_dialogs()</span>
|
||
<span class="sd"> for d in dialogs:</span>
|
||
<span class="sd"> print(f"С {d.participant.username}: {d.last_message}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/dialogs"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Dialog</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> <span class="k">for</span> <span class="n">d</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"dialogs"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.NotificationsAPI.get_list" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_list</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.NotificationsAPI.get_list" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_list</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список всех уведомлений.</p>
|
||
<p>Возвращает все уведомления пользователя с информацией
|
||
о прочтении.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="NotificationsResponse (kwork_api.models.NotificationsResponse)" href="../models/#kwork_api.models.NotificationsResponse">NotificationsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>NotificationsResponse содержащий:</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="NotificationsResponse (kwork_api.models.NotificationsResponse)" href="../models/#kwork_api.models.NotificationsResponse">NotificationsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>notifications: список уведомлений</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="NotificationsResponse (kwork_api.models.NotificationsResponse)" href="../models/#kwork_api.models.NotificationsResponse">NotificationsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>unread_count: количество непрочитанных</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>notifs = await client.notifications.get_list()
|
||
print(f"Непрочитанных: {notifs.unread_count}")</p>
|
||
<p>for n in notifs.notifications:
|
||
if not n.is_read:
|
||
print(f"Новое: {n.title}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">895</span>
|
||
<span class="normal">896</span>
|
||
<span class="normal">897</span>
|
||
<span class="normal">898</span>
|
||
<span class="normal">899</span>
|
||
<span class="normal">900</span>
|
||
<span class="normal">901</span>
|
||
<span class="normal">902</span>
|
||
<span class="normal">903</span>
|
||
<span class="normal">904</span>
|
||
<span class="normal">905</span>
|
||
<span class="normal">906</span>
|
||
<span class="normal">907</span>
|
||
<span class="normal">908</span>
|
||
<span class="normal">909</span>
|
||
<span class="normal">910</span>
|
||
<span class="normal">911</span>
|
||
<span class="normal">912</span>
|
||
<span class="normal">913</span>
|
||
<span class="normal">914</span>
|
||
<span class="normal">915</span>
|
||
<span class="normal">916</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_list</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="n">NotificationsResponse</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список всех уведомлений.</span>
|
||
|
||
<span class="sd"> Возвращает все уведомления пользователя с информацией</span>
|
||
<span class="sd"> о прочтении.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> NotificationsResponse содержащий:</span>
|
||
<span class="sd"> - notifications: список уведомлений</span>
|
||
<span class="sd"> - unread_count: количество непрочитанных</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> notifs = await client.notifications.get_list()</span>
|
||
<span class="sd"> print(f"Непрочитанных: {notifs.unread_count}")</span>
|
||
|
||
<span class="sd"> for n in notifs.notifications:</span>
|
||
<span class="sd"> if not n.is_read:</span>
|
||
<span class="sd"> print(f"Новое: {n.title}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/notifications"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">NotificationsResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-class">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.OtherAPI" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-class-name">OtherAPI</span>
|
||
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">OtherAPI</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
|
||
|
||
<p>Прочее API.</p>
|
||
<p>Вспомогательные эндпоинты которые не вошли в другие категории:
|
||
- Пользовательские настройки и предпочтения (wants)
|
||
- Статусы кворков и заказов
|
||
- Персональные предложения (offers)
|
||
- Настройки профиля
|
||
- Статус онлайн/оффлайн</p>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.OtherAPI--_1">Пользовательские предпочтения<a class="headerlink" href="#kwork_api.client.KworkClient.OtherAPI--_1" title="Permanent link">¶</a></h5>
|
||
<p>wants = await client.other.get_wants()</p>
|
||
<h5 id="kwork_api.client.KworkClient.OtherAPI--_2">Статус кворков<a class="headerlink" href="#kwork_api.client.KworkClient.OtherAPI--_2" title="Permanent link">¶</a></h5>
|
||
<p>status = await client.other.get_kworks_status()</p>
|
||
<h5 id="kwork_api.client.KworkClient.OtherAPI--_3">Установить статус оффлайн<a class="headerlink" href="#kwork_api.client.KworkClient.OtherAPI--_3" title="Permanent link">¶</a></h5>
|
||
<p>await client.other.go_offline()</p>
|
||
</details>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">996</span>
|
||
<span class="normal">997</span></pre></div></td><td class="code"><div><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">client</span><span class="p">:</span> <span class="s2">"KworkClient"</span><span class="p">):</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
|
||
|
||
|
||
<div class="doc doc-children">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h5 id="kwork_api.client.KworkClient.OtherAPI-functions">Functions<a href="#kwork_api.client.KworkClient.OtherAPI-functions" class="headerlink" title="Permanent link">¶</a></h5>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_actor" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_actor</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_actor" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_actor</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить информацию об актёре (текущем пользователе).</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Данные актёра/пользователя.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1173</span>
|
||
<span class="normal">1174</span>
|
||
<span class="normal">1175</span>
|
||
<span class="normal">1176</span>
|
||
<span class="normal">1177</span>
|
||
<span class="normal">1178</span>
|
||
<span class="normal">1179</span>
|
||
<span class="normal">1180</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_actor</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить информацию об актёре (текущем пользователе).</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Данные актёра/пользователя.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/actor"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_channel" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_channel</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_channel" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_channel</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить информацию о канале пользователя.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Данные канала (если есть).</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1060</span>
|
||
<span class="normal">1061</span>
|
||
<span class="normal">1062</span>
|
||
<span class="normal">1063</span>
|
||
<span class="normal">1064</span>
|
||
<span class="normal">1065</span>
|
||
<span class="normal">1066</span>
|
||
<span class="normal">1067</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_channel</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить информацию о канале пользователя.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Данные канала (если есть).</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/getChannel"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_exchange_info" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_exchange_info</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_exchange_info" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_exchange_info</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить информацию об обмене валюты.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Информация о курсах валют и обмене.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1051</span>
|
||
<span class="normal">1052</span>
|
||
<span class="normal">1053</span>
|
||
<span class="normal">1054</span>
|
||
<span class="normal">1055</span>
|
||
<span class="normal">1056</span>
|
||
<span class="normal">1057</span>
|
||
<span class="normal">1058</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_exchange_info</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить информацию об обмене валюты.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Информация о курсах валют и обмене.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/exchangeInfo"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_favorite_categories" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_favorite_categories</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_favorite_categories" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_favorite_categories</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить ID избранных категорий.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<span title="int">int</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список ID категорий, добавленных в избранное.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>cats = await client.other.get_favorite_categories()
|
||
print(f"Избранные категории: {cats}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1126</span>
|
||
<span class="normal">1127</span>
|
||
<span class="normal">1128</span>
|
||
<span class="normal">1129</span>
|
||
<span class="normal">1130</span>
|
||
<span class="normal">1131</span>
|
||
<span class="normal">1132</span>
|
||
<span class="normal">1133</span>
|
||
<span class="normal">1134</span>
|
||
<span class="normal">1135</span>
|
||
<span class="normal">1136</span>
|
||
<span class="normal">1137</span>
|
||
<span class="normal">1138</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_favorite_categories</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="nb">int</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить ID избранных категорий.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список ID категорий, добавленных в избранное.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> cats = await client.other.get_favorite_categories()</span>
|
||
<span class="sd"> print(f"Избранные категории: {cats}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/favoriteCategories"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"categories"</span><span class="p">,</span> <span class="p">[])</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_in_app_notification" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_in_app_notification</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_in_app_notification" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_in_app_notification</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить внутриприложенное уведомление.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Данные in-app уведомления.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1069</span>
|
||
<span class="normal">1070</span>
|
||
<span class="normal">1071</span>
|
||
<span class="normal">1072</span>
|
||
<span class="normal">1073</span>
|
||
<span class="normal">1074</span>
|
||
<span class="normal">1075</span>
|
||
<span class="normal">1076</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_in_app_notification</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить внутриприложенное уведомление.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Данные in-app уведомления.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/getInAppNotification"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_kworks_status" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_kworks_status</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_kworks_status" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_kworks_status</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить статусы кворков пользователя.</p>
|
||
<p>Возвращает информацию о статусах всех кворков
|
||
текущего пользователя (активен, на модерации, и т.д.).</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Словарь со статусами кворков.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>status = await client.other.get_kworks_status()
|
||
print(status)</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1026</span>
|
||
<span class="normal">1027</span>
|
||
<span class="normal">1028</span>
|
||
<span class="normal">1029</span>
|
||
<span class="normal">1030</span>
|
||
<span class="normal">1031</span>
|
||
<span class="normal">1032</span>
|
||
<span class="normal">1033</span>
|
||
<span class="normal">1034</span>
|
||
<span class="normal">1035</span>
|
||
<span class="normal">1036</span>
|
||
<span class="normal">1037</span>
|
||
<span class="normal">1038</span>
|
||
<span class="normal">1039</span>
|
||
<span class="normal">1040</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_kworks_status</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить статусы кворков пользователя.</span>
|
||
|
||
<span class="sd"> Возвращает информацию о статусах всех кворков</span>
|
||
<span class="sd"> текущего пользователя (активен, на модерации, и т.д.).</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Словарь со статусами кворков.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> status = await client.other.get_kworks_status()</span>
|
||
<span class="sd"> print(status)</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/kworksStatusList"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_offers" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_offers</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_offers" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_offers</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить персональные предложения.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список персональных предложений от Kwork.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1042</span>
|
||
<span class="normal">1043</span>
|
||
<span class="normal">1044</span>
|
||
<span class="normal">1045</span>
|
||
<span class="normal">1046</span>
|
||
<span class="normal">1047</span>
|
||
<span class="normal">1048</span>
|
||
<span class="normal">1049</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_offers</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить персональные предложения.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список персональных предложений от Kwork.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/offers"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_security_user_data" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_security_user_data</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_security_user_data" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_security_user_data</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить данные безопасности пользователя.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Информация о безопасности аккаунта.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1078</span>
|
||
<span class="normal">1079</span>
|
||
<span class="normal">1080</span>
|
||
<span class="normal">1081</span>
|
||
<span class="normal">1082</span>
|
||
<span class="normal">1083</span>
|
||
<span class="normal">1084</span>
|
||
<span class="normal">1085</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_security_user_data</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить данные безопасности пользователя.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Информация о безопасности аккаунта.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/getSecurityUserData"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_viewed_kworks" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_viewed_kworks</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_viewed_kworks" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_viewed_kworks</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить просмотренные кворки.</p>
|
||
<p>Возвращает список кворков, которые пользователь
|
||
просматривал ранее.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Kwork (kwork_api.models.Kwork)" href="../models/#kwork_api.models.Kwork">Kwork</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список просмотренных кворков.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>viewed = await client.other.get_viewed_kworks()
|
||
print(f"Просмотрено: {len(viewed)} кворков")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1109</span>
|
||
<span class="normal">1110</span>
|
||
<span class="normal">1111</span>
|
||
<span class="normal">1112</span>
|
||
<span class="normal">1113</span>
|
||
<span class="normal">1114</span>
|
||
<span class="normal">1115</span>
|
||
<span class="normal">1116</span>
|
||
<span class="normal">1117</span>
|
||
<span class="normal">1118</span>
|
||
<span class="normal">1119</span>
|
||
<span class="normal">1120</span>
|
||
<span class="normal">1121</span>
|
||
<span class="normal">1122</span>
|
||
<span class="normal">1123</span>
|
||
<span class="normal">1124</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_viewed_kworks</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="n">Kwork</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить просмотренные кворки.</span>
|
||
|
||
<span class="sd"> Возвращает список кворков, которые пользователь</span>
|
||
<span class="sd"> просматривал ранее.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список просмотренных кворков.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> viewed = await client.other.get_viewed_kworks()</span>
|
||
<span class="sd"> print(f"Просмотрено: {len(viewed)} кворков")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/viewedCatalogKworks"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Kwork</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">k</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"kworks"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_wants" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_wants</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_wants" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_wants</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить пользовательские предпочтения (wants).</p>
|
||
<p>Wants — это настройки интересов пользователя:
|
||
- Предпочитаемые категории
|
||
- Ключевые слова для мониторинга
|
||
- Фильтры для поиска</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Словарь с настройками предпочтений.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>wants = await client.other.get_wants()
|
||
print(wants)</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 999</span>
|
||
<span class="normal">1000</span>
|
||
<span class="normal">1001</span>
|
||
<span class="normal">1002</span>
|
||
<span class="normal">1003</span>
|
||
<span class="normal">1004</span>
|
||
<span class="normal">1005</span>
|
||
<span class="normal">1006</span>
|
||
<span class="normal">1007</span>
|
||
<span class="normal">1008</span>
|
||
<span class="normal">1009</span>
|
||
<span class="normal">1010</span>
|
||
<span class="normal">1011</span>
|
||
<span class="normal">1012</span>
|
||
<span class="normal">1013</span>
|
||
<span class="normal">1014</span>
|
||
<span class="normal">1015</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_wants</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить пользовательские предпочтения (wants).</span>
|
||
|
||
<span class="sd"> Wants — это настройки интересов пользователя:</span>
|
||
<span class="sd"> - Предпочитаемые категории</span>
|
||
<span class="sd"> - Ключевые слова для мониторинга</span>
|
||
<span class="sd"> - Фильтры для поиска</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Словарь с настройками предпочтений.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> wants = await client.other.get_wants()</span>
|
||
<span class="sd"> print(wants)</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/myWants"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.get_wants_status" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_wants_status</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.get_wants_status" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_wants_status</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить статус предпочтений.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Статус wants с метаданными.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1017</span>
|
||
<span class="normal">1018</span>
|
||
<span class="normal">1019</span>
|
||
<span class="normal">1020</span>
|
||
<span class="normal">1021</span>
|
||
<span class="normal">1022</span>
|
||
<span class="normal">1023</span>
|
||
<span class="normal">1024</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_wants_status</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить статус предпочтений.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Статус wants с метаданными.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/wantsStatusList"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.go_offline" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">go_offline</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.go_offline" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">go_offline</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Установить статус пользователя "оффлайн".</p>
|
||
<p>Скрывает онлайн-статус от других пользователей.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Подтверждение изменения статуса.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>await client.other.go_offline()</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1159</span>
|
||
<span class="normal">1160</span>
|
||
<span class="normal">1161</span>
|
||
<span class="normal">1162</span>
|
||
<span class="normal">1163</span>
|
||
<span class="normal">1164</span>
|
||
<span class="normal">1165</span>
|
||
<span class="normal">1166</span>
|
||
<span class="normal">1167</span>
|
||
<span class="normal">1168</span>
|
||
<span class="normal">1169</span>
|
||
<span class="normal">1170</span>
|
||
<span class="normal">1171</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">go_offline</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Установить статус пользователя "оффлайн".</span>
|
||
|
||
<span class="sd"> Скрывает онлайн-статус от других пользователей.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Подтверждение изменения статуса.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> await client.other.go_offline()</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/offline"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.is_dialog_allow" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">is_dialog_allow</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.is_dialog_allow" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">is_dialog_allow</span><span class="p">(</span><span class="n">user_id</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Проверить возможность начала диалога с пользователем.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>user_id</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="int">int</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>ID пользователя для проверки.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<em>required</em>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="bool">bool</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>True если диалог разрешён, False иначе.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>allowed = await client.other.is_dialog_allow(12345)
|
||
if allowed:
|
||
print("Можно написать сообщение")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1087</span>
|
||
<span class="normal">1088</span>
|
||
<span class="normal">1089</span>
|
||
<span class="normal">1090</span>
|
||
<span class="normal">1091</span>
|
||
<span class="normal">1092</span>
|
||
<span class="normal">1093</span>
|
||
<span class="normal">1094</span>
|
||
<span class="normal">1095</span>
|
||
<span class="normal">1096</span>
|
||
<span class="normal">1097</span>
|
||
<span class="normal">1098</span>
|
||
<span class="normal">1099</span>
|
||
<span class="normal">1100</span>
|
||
<span class="normal">1101</span>
|
||
<span class="normal">1102</span>
|
||
<span class="normal">1103</span>
|
||
<span class="normal">1104</span>
|
||
<span class="normal">1105</span>
|
||
<span class="normal">1106</span>
|
||
<span class="normal">1107</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">is_dialog_allow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">user_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-></span> <span class="nb">bool</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Проверить возможность начала диалога с пользователем.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> user_id: ID пользователя для проверки.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> True если диалог разрешён, False иначе.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> allowed = await client.other.is_dialog_allow(12345)</span>
|
||
<span class="sd"> if allowed:</span>
|
||
<span class="sd"> print("Можно написать сообщение")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span>
|
||
<span class="s2">"POST"</span><span class="p">,</span>
|
||
<span class="s2">"/isDialogAllow"</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">"user_id"</span><span class="p">:</span> <span class="n">user_id</span><span class="p">},</span>
|
||
<span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"allowed"</span><span class="p">,</span> <span class="kc">False</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.update_settings" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">update_settings</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.update_settings" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">update_settings</span><span class="p">(</span><span class="n">settings</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Обновить настройки пользователя.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>settings</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Словарь с настройками для обновления.
|
||
Структура зависит от конкретных настроек.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<em>required</em>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Ответ API с подтверждением обновления.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>await client.other.update_settings({
|
||
"email_notifications": True,
|
||
"language": "ru"
|
||
})</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1140</span>
|
||
<span class="normal">1141</span>
|
||
<span class="normal">1142</span>
|
||
<span class="normal">1143</span>
|
||
<span class="normal">1144</span>
|
||
<span class="normal">1145</span>
|
||
<span class="normal">1146</span>
|
||
<span class="normal">1147</span>
|
||
<span class="normal">1148</span>
|
||
<span class="normal">1149</span>
|
||
<span class="normal">1150</span>
|
||
<span class="normal">1151</span>
|
||
<span class="normal">1152</span>
|
||
<span class="normal">1153</span>
|
||
<span class="normal">1154</span>
|
||
<span class="normal">1155</span>
|
||
<span class="normal">1156</span>
|
||
<span class="normal">1157</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">update_settings</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">settings</span><span class="p">:</span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">])</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Обновить настройки пользователя.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> settings: Словарь с настройками для обновления.</span>
|
||
<span class="sd"> Структура зависит от конкретных настроек.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Ответ API с подтверждением обновления.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> await client.other.update_settings({</span>
|
||
<span class="sd"> "email_notifications": True,</span>
|
||
<span class="sd"> "language": "ru"</span>
|
||
<span class="sd"> })</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/updateSettings"</span><span class="p">,</span> <span class="n">json</span><span class="o">=</span><span class="n">settings</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.OtherAPI.validate_text" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">validate_text</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.OtherAPI.validate_text" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">validate_text</span><span class="p">(</span><span class="n">text</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Проверить текст на соответствие требованиям Kwork.</p>
|
||
<p>Эндпоинт валидации текста используется для проверки:
|
||
- Описаний кворков
|
||
- Текстов проектов
|
||
- Сообщений и отзывов</p>
|
||
<p>Находит потенциальные проблемы:
|
||
- Запрещённые слова и контакты
|
||
- Нарушения правил площадки
|
||
- Проблемы с форматированием</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>text</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="str">str</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Текст для проверки.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<em>required</em>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>context</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="str">str</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Контекст использования (опционально).
|
||
Например: "kwork_description", "project_text", "message".</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>None</code>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ValidationResponse (kwork_api.models.ValidationResponse)" href="../models/#kwork_api.models.ValidationResponse">ValidationResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>ValidationResponse с результатами валидации.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>result = await client.other.validate_text(
|
||
"Отличный сервис, звоните +7-999-000-00-00"
|
||
)
|
||
if not result.is_valid:
|
||
print("Текст не прошёл валидацию:")
|
||
for issue in result.issues:
|
||
print(f" - {issue.message}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1182</span>
|
||
<span class="normal">1183</span>
|
||
<span class="normal">1184</span>
|
||
<span class="normal">1185</span>
|
||
<span class="normal">1186</span>
|
||
<span class="normal">1187</span>
|
||
<span class="normal">1188</span>
|
||
<span class="normal">1189</span>
|
||
<span class="normal">1190</span>
|
||
<span class="normal">1191</span>
|
||
<span class="normal">1192</span>
|
||
<span class="normal">1193</span>
|
||
<span class="normal">1194</span>
|
||
<span class="normal">1195</span>
|
||
<span class="normal">1196</span>
|
||
<span class="normal">1197</span>
|
||
<span class="normal">1198</span>
|
||
<span class="normal">1199</span>
|
||
<span class="normal">1200</span>
|
||
<span class="normal">1201</span>
|
||
<span class="normal">1202</span>
|
||
<span class="normal">1203</span>
|
||
<span class="normal">1204</span>
|
||
<span class="normal">1205</span>
|
||
<span class="normal">1206</span>
|
||
<span class="normal">1207</span>
|
||
<span class="normal">1208</span>
|
||
<span class="normal">1209</span>
|
||
<span class="normal">1210</span>
|
||
<span class="normal">1211</span>
|
||
<span class="normal">1212</span>
|
||
<span class="normal">1213</span>
|
||
<span class="normal">1214</span>
|
||
<span class="normal">1215</span>
|
||
<span class="normal">1216</span>
|
||
<span class="normal">1217</span>
|
||
<span class="normal">1218</span>
|
||
<span class="normal">1219</span>
|
||
<span class="normal">1220</span>
|
||
<span class="normal">1221</span>
|
||
<span class="normal">1222</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">validate_text</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">context</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">str</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">)</span> <span class="o">-></span> <span class="n">ValidationResponse</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Проверить текст на соответствие требованиям Kwork.</span>
|
||
|
||
<span class="sd"> Эндпоинт валидации текста используется для проверки:</span>
|
||
<span class="sd"> - Описаний кворков</span>
|
||
<span class="sd"> - Текстов проектов</span>
|
||
<span class="sd"> - Сообщений и отзывов</span>
|
||
|
||
<span class="sd"> Находит потенциальные проблемы:</span>
|
||
<span class="sd"> - Запрещённые слова и контакты</span>
|
||
<span class="sd"> - Нарушения правил площадки</span>
|
||
<span class="sd"> - Проблемы с форматированием</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> text: Текст для проверки.</span>
|
||
<span class="sd"> context: Контекст использования (опционально).</span>
|
||
<span class="sd"> Например: "kwork_description", "project_text", "message".</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> ValidationResponse с результатами валидации.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> result = await client.other.validate_text(</span>
|
||
<span class="sd"> "Отличный сервис, звоните +7-999-000-00-00"</span>
|
||
<span class="sd"> )</span>
|
||
<span class="sd"> if not result.is_valid:</span>
|
||
<span class="sd"> print("Текст не прошёл валидацию:")</span>
|
||
<span class="sd"> for issue in result.issues:</span>
|
||
<span class="sd"> print(f" - {issue.message}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">payload</span> <span class="o">=</span> <span class="p">{</span><span class="s2">"text"</span><span class="p">:</span> <span class="n">text</span><span class="p">}</span>
|
||
<span class="k">if</span> <span class="n">context</span><span class="p">:</span>
|
||
<span class="n">payload</span><span class="p">[</span><span class="s2">"context"</span><span class="p">]</span> <span class="o">=</span> <span class="n">context</span>
|
||
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span>
|
||
<span class="s2">"POST"</span><span class="p">,</span>
|
||
<span class="s2">"/api/validation/checktext"</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="n">payload</span><span class="p">,</span>
|
||
<span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">ValidationResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-class">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.ProjectsAPI" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-class-name">ProjectsAPI</span>
|
||
|
||
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">ProjectsAPI</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
|
||
|
||
<p>API биржи проектов (фриланс заказы).</p>
|
||
<p>Предоставляет доступ к заказам на фриланс:
|
||
- Просмотр открытых проектов
|
||
- Заказы где вы заказчик (payer)
|
||
- Заказы где вы исполнитель (worker)</p>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.ProjectsAPI--_1">Новые проекты<a class="headerlink" href="#kwork_api.client.KworkClient.ProjectsAPI--_1" title="Permanent link">¶</a></h5>
|
||
<p>projects = await client.projects.get_list(page=1)</p>
|
||
<h5 id="kwork_api.client.KworkClient.ProjectsAPI--_2">Мои заказы как заказчика<a class="headerlink" href="#kwork_api.client.KworkClient.ProjectsAPI--_2" title="Permanent link">¶</a></h5>
|
||
<p>my_orders = await client.projects.get_payer_orders()</p>
|
||
<h5 id="kwork_api.client.KworkClient.ProjectsAPI--_3">Мои заказы как исполнителя<a class="headerlink" href="#kwork_api.client.KworkClient.ProjectsAPI--_3" title="Permanent link">¶</a></h5>
|
||
<p>my_work = await client.projects.get_worker_orders()</p>
|
||
</details>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">561</span>
|
||
<span class="normal">562</span></pre></div></td><td class="code"><div><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">client</span><span class="p">:</span> <span class="s2">"KworkClient"</span><span class="p">):</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
|
||
|
||
|
||
<div class="doc doc-children">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h5 id="kwork_api.client.KworkClient.ProjectsAPI-functions">Functions<a href="#kwork_api.client.KworkClient.ProjectsAPI-functions" class="headerlink" title="Permanent link">¶</a></h5>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ProjectsAPI.get_list" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_list</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_list" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_list</span><span class="p">(</span><span class="n">page</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">category_id</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список проектов с биржи.</p>
|
||
<p>Основной эндпоинт для просмотра доступных заказов.
|
||
Возвращает пагинированный список проектов.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>page</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="int">int</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Номер страницы (начиная с 1).</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>1</code>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>category_id</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="int">int</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>ID категории для фильтрации.
|
||
Если None — все категории.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>None</code>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ProjectsResponse (kwork_api.models.ProjectsResponse)" href="../models/#kwork_api.models.ProjectsResponse">ProjectsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>ProjectsResponse содержащий:</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ProjectsResponse (kwork_api.models.ProjectsResponse)" href="../models/#kwork_api.models.ProjectsResponse">ProjectsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>projects: список проектов на странице</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ProjectsResponse (kwork_api.models.ProjectsResponse)" href="../models/#kwork_api.models.ProjectsResponse">ProjectsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>pagination: информация о пагинации</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h6 id="kwork_api.client.KworkClient.ProjectsAPI.get_list--_1">Все новые проекты<a class="headerlink" href="#kwork_api.client.KworkClient.ProjectsAPI.get_list--_1" title="Permanent link">¶</a></h6>
|
||
<p>response = await client.projects.get_list(page=1)</p>
|
||
<p>for project in response.projects:
|
||
print(f"{project.title}: {project.budget} {project.budget_type}")</p>
|
||
<h6 id="kwork_api.client.KworkClient.ProjectsAPI.get_list--_2">Только категория "Разработка"<a class="headerlink" href="#kwork_api.client.KworkClient.ProjectsAPI.get_list--_2" title="Permanent link">¶</a></h6>
|
||
<p>dev_projects = await client.projects.get_list(
|
||
page=1,
|
||
category_id=5
|
||
)</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">564</span>
|
||
<span class="normal">565</span>
|
||
<span class="normal">566</span>
|
||
<span class="normal">567</span>
|
||
<span class="normal">568</span>
|
||
<span class="normal">569</span>
|
||
<span class="normal">570</span>
|
||
<span class="normal">571</span>
|
||
<span class="normal">572</span>
|
||
<span class="normal">573</span>
|
||
<span class="normal">574</span>
|
||
<span class="normal">575</span>
|
||
<span class="normal">576</span>
|
||
<span class="normal">577</span>
|
||
<span class="normal">578</span>
|
||
<span class="normal">579</span>
|
||
<span class="normal">580</span>
|
||
<span class="normal">581</span>
|
||
<span class="normal">582</span>
|
||
<span class="normal">583</span>
|
||
<span class="normal">584</span>
|
||
<span class="normal">585</span>
|
||
<span class="normal">586</span>
|
||
<span class="normal">587</span>
|
||
<span class="normal">588</span>
|
||
<span class="normal">589</span>
|
||
<span class="normal">590</span>
|
||
<span class="normal">591</span>
|
||
<span class="normal">592</span>
|
||
<span class="normal">593</span>
|
||
<span class="normal">594</span>
|
||
<span class="normal">595</span>
|
||
<span class="normal">596</span>
|
||
<span class="normal">597</span>
|
||
<span class="normal">598</span>
|
||
<span class="normal">599</span>
|
||
<span class="normal">600</span>
|
||
<span class="normal">601</span>
|
||
<span class="normal">602</span>
|
||
<span class="normal">603</span>
|
||
<span class="normal">604</span>
|
||
<span class="normal">605</span>
|
||
<span class="normal">606</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_list</span><span class="p">(</span>
|
||
<span class="bp">self</span><span class="p">,</span>
|
||
<span class="n">page</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
|
||
<span class="n">category_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||
<span class="p">)</span> <span class="o">-></span> <span class="n">ProjectsResponse</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список проектов с биржи.</span>
|
||
|
||
<span class="sd"> Основной эндпоинт для просмотра доступных заказов.</span>
|
||
<span class="sd"> Возвращает пагинированный список проектов.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> page: Номер страницы (начиная с 1).</span>
|
||
<span class="sd"> category_id: ID категории для фильтрации.</span>
|
||
<span class="sd"> Если None — все категории.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> ProjectsResponse содержащий:</span>
|
||
<span class="sd"> - projects: список проектов на странице</span>
|
||
<span class="sd"> - pagination: информация о пагинации</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> # Все новые проекты</span>
|
||
<span class="sd"> response = await client.projects.get_list(page=1)</span>
|
||
|
||
<span class="sd"> for project in response.projects:</span>
|
||
<span class="sd"> print(f"{project.title}: {project.budget} {project.budget_type}")</span>
|
||
|
||
<span class="sd"> # Только категория "Разработка"</span>
|
||
<span class="sd"> dev_projects = await client.projects.get_list(</span>
|
||
<span class="sd"> page=1,</span>
|
||
<span class="sd"> category_id=5</span>
|
||
<span class="sd"> )</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span>
|
||
<span class="s2">"POST"</span><span class="p">,</span>
|
||
<span class="s2">"/projects"</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="p">{</span>
|
||
<span class="s2">"page"</span><span class="p">:</span> <span class="n">page</span><span class="p">,</span>
|
||
<span class="s2">"category_id"</span><span class="p">:</span> <span class="n">category_id</span><span class="p">,</span>
|
||
<span class="p">},</span>
|
||
<span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">ProjectsResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ProjectsAPI.get_payer_orders" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_payer_orders</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_payer_orders" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_payer_orders</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить заказы где вы являетесь заказчиком.</p>
|
||
<p>Возвращает все проекты, созданные текущим пользователем,
|
||
независимо от их статуса (открыт, в работе, завершён).</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Project (kwork_api.models.Project)" href="../models/#kwork_api.models.Project">Project</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список проектов где текущий пользователь — заказчик.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>orders = await client.projects.get_payer_orders()
|
||
for order in orders:
|
||
print(f"Заказ #{order.id}: {order.status}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">608</span>
|
||
<span class="normal">609</span>
|
||
<span class="normal">610</span>
|
||
<span class="normal">611</span>
|
||
<span class="normal">612</span>
|
||
<span class="normal">613</span>
|
||
<span class="normal">614</span>
|
||
<span class="normal">615</span>
|
||
<span class="normal">616</span>
|
||
<span class="normal">617</span>
|
||
<span class="normal">618</span>
|
||
<span class="normal">619</span>
|
||
<span class="normal">620</span>
|
||
<span class="normal">621</span>
|
||
<span class="normal">622</span>
|
||
<span class="normal">623</span>
|
||
<span class="normal">624</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_payer_orders</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="n">Project</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить заказы где вы являетесь заказчиком.</span>
|
||
|
||
<span class="sd"> Возвращает все проекты, созданные текущим пользователем,</span>
|
||
<span class="sd"> независимо от их статуса (открыт, в работе, завершён).</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список проектов где текущий пользователь — заказчик.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> orders = await client.projects.get_payer_orders()</span>
|
||
<span class="sd"> for order in orders:</span>
|
||
<span class="sd"> print(f"Заказ #{order.id}: {order.status}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/payerOrders"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Project</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"orders"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ProjectsAPI.get_worker_orders" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_worker_orders</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ProjectsAPI.get_worker_orders" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_worker_orders</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить заказы где вы являетесь исполнителем.</p>
|
||
<p>Возвращает все проекты, где текущий пользователь
|
||
назначен исполнителем.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Project (kwork_api.models.Project)" href="../models/#kwork_api.models.Project">Project</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список проектов где текущий пользователь — исполнитель.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>work = await client.projects.get_worker_orders()
|
||
active = [p for p in work if p.status == "in_progress"]
|
||
print(f"Активных заказов: {len(active)}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">626</span>
|
||
<span class="normal">627</span>
|
||
<span class="normal">628</span>
|
||
<span class="normal">629</span>
|
||
<span class="normal">630</span>
|
||
<span class="normal">631</span>
|
||
<span class="normal">632</span>
|
||
<span class="normal">633</span>
|
||
<span class="normal">634</span>
|
||
<span class="normal">635</span>
|
||
<span class="normal">636</span>
|
||
<span class="normal">637</span>
|
||
<span class="normal">638</span>
|
||
<span class="normal">639</span>
|
||
<span class="normal">640</span>
|
||
<span class="normal">641</span>
|
||
<span class="normal">642</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_worker_orders</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="n">Project</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить заказы где вы являетесь исполнителем.</span>
|
||
|
||
<span class="sd"> Возвращает все проекты, где текущий пользователь</span>
|
||
<span class="sd"> назначен исполнителем.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список проектов где текущий пользователь — исполнитель.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> work = await client.projects.get_worker_orders()</span>
|
||
<span class="sd"> active = [p for p in work if p.status == "in_progress"]</span>
|
||
<span class="sd"> print(f"Активных заказов: {len(active)}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/workerOrders"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Project</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">p</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"orders"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-class">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.ReferenceAPI" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-class-name">ReferenceAPI</span>
|
||
|
||
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">ReferenceAPI</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
|
||
|
||
<p>Справочное API.</p>
|
||
<p>Предоставляет доступ к справочным данным Kwork:
|
||
- Города, страны, часовые пояса
|
||
- Доступные функции и дополнения
|
||
- Значки пользователей</p>
|
||
<p>Эти данные редко меняются и могут быть закэшированы.</p>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.ReferenceAPI--_1">Все страны<a class="headerlink" href="#kwork_api.client.KworkClient.ReferenceAPI--_1" title="Permanent link">¶</a></h5>
|
||
<p>countries = await client.reference.get_countries()</p>
|
||
<h5 id="kwork_api.client.KworkClient.ReferenceAPI--_2">Все города<a class="headerlink" href="#kwork_api.client.KworkClient.ReferenceAPI--_2" title="Permanent link">¶</a></h5>
|
||
<p>cities = await client.reference.get_cities()</p>
|
||
<h5 id="kwork_api.client.KworkClient.ReferenceAPI--_3">Доступные фичи<a class="headerlink" href="#kwork_api.client.KworkClient.ReferenceAPI--_3" title="Permanent link">¶</a></h5>
|
||
<p>features = await client.reference.get_features()</p>
|
||
</details>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">769</span>
|
||
<span class="normal">770</span></pre></div></td><td class="code"><div><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">client</span><span class="p">:</span> <span class="s2">"KworkClient"</span><span class="p">):</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
|
||
|
||
|
||
<div class="doc doc-children">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h5 id="kwork_api.client.KworkClient.ReferenceAPI-functions">Functions<a href="#kwork_api.client.KworkClient.ReferenceAPI-functions" class="headerlink" title="Permanent link">¶</a></h5>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ReferenceAPI.get_badges_info" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_badges_info</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_badges_info" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_badges_info</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить информацию о значках пользователей.</p>
|
||
<p>Значки (badges) отображают достижения и статусы:
|
||
- "Профессионал"
|
||
- "Быстрый ответ"
|
||
- "Надёжный продавец"
|
||
- и т.д.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Badge (kwork_api.models.Badge)" href="../models/#kwork_api.models.Badge">Badge</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список значков с описаниями и иконками.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>badges = await client.reference.get_badges_info()
|
||
for badge in badges:
|
||
print(f"{badge.name}: {badge.description}")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">848</span>
|
||
<span class="normal">849</span>
|
||
<span class="normal">850</span>
|
||
<span class="normal">851</span>
|
||
<span class="normal">852</span>
|
||
<span class="normal">853</span>
|
||
<span class="normal">854</span>
|
||
<span class="normal">855</span>
|
||
<span class="normal">856</span>
|
||
<span class="normal">857</span>
|
||
<span class="normal">858</span>
|
||
<span class="normal">859</span>
|
||
<span class="normal">860</span>
|
||
<span class="normal">861</span>
|
||
<span class="normal">862</span>
|
||
<span class="normal">863</span>
|
||
<span class="normal">864</span>
|
||
<span class="normal">865</span>
|
||
<span class="normal">866</span>
|
||
<span class="normal">867</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_badges_info</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="n">Badge</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить информацию о значках пользователей.</span>
|
||
|
||
<span class="sd"> Значки (badges) отображают достижения и статусы:</span>
|
||
<span class="sd"> - "Профессионал"</span>
|
||
<span class="sd"> - "Быстрый ответ"</span>
|
||
<span class="sd"> - "Надёжный продавец"</span>
|
||
<span class="sd"> - и т.д.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список значков с описаниями и иконками.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> badges = await client.reference.get_badges_info()</span>
|
||
<span class="sd"> for badge in badges:</span>
|
||
<span class="sd"> print(f"{badge.name}: {badge.description}")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/getBadgesInfo"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Badge</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> <span class="k">for</span> <span class="n">b</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"badges"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ReferenceAPI.get_cities" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_cities</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_cities" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_cities</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список всех городов.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="City (kwork_api.models.City)" href="../models/#kwork_api.models.City">City</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список всех городов из справочника Kwork.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>cities = await client.reference.get_cities()
|
||
moscow = next(c for c in cities if c.name == "Москва")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">772</span>
|
||
<span class="normal">773</span>
|
||
<span class="normal">774</span>
|
||
<span class="normal">775</span>
|
||
<span class="normal">776</span>
|
||
<span class="normal">777</span>
|
||
<span class="normal">778</span>
|
||
<span class="normal">779</span>
|
||
<span class="normal">780</span>
|
||
<span class="normal">781</span>
|
||
<span class="normal">782</span>
|
||
<span class="normal">783</span>
|
||
<span class="normal">784</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_cities</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="n">City</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список всех городов.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список всех городов из справочника Kwork.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> cities = await client.reference.get_cities()</span>
|
||
<span class="sd"> moscow = next(c for c in cities if c.name == "Москва")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/cities"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">City</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"cities"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ReferenceAPI.get_countries" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_countries</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_countries" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_countries</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список всех стран.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Country (kwork_api.models.Country)" href="../models/#kwork_api.models.Country">Country</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список всех стран с кодами и городами.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>countries = await client.reference.get_countries()
|
||
russia = next(c for c in countries if c.code == "RU")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">786</span>
|
||
<span class="normal">787</span>
|
||
<span class="normal">788</span>
|
||
<span class="normal">789</span>
|
||
<span class="normal">790</span>
|
||
<span class="normal">791</span>
|
||
<span class="normal">792</span>
|
||
<span class="normal">793</span>
|
||
<span class="normal">794</span>
|
||
<span class="normal">795</span>
|
||
<span class="normal">796</span>
|
||
<span class="normal">797</span>
|
||
<span class="normal">798</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_countries</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="n">Country</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список всех стран.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список всех стран с кодами и городами.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> countries = await client.reference.get_countries()</span>
|
||
<span class="sd"> russia = next(c for c in countries if c.code == "RU")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/countries"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Country</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"countries"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ReferenceAPI.get_features" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_features</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_features" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_features</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить доступные дополнительные функции (features).</p>
|
||
<p>Features — это платные дополнения к кворкам:
|
||
- Увеличенные сроки
|
||
- Дополнительные правки
|
||
- Приоритетная поддержка
|
||
- и т.д.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Feature (kwork_api.models.Feature)" href="../models/#kwork_api.models.Feature">Feature</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список доступных features с названиями и ценами.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>features = await client.reference.get_features()
|
||
for f in features:
|
||
print(f"{f.name}: {f.price} RUB")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">814</span>
|
||
<span class="normal">815</span>
|
||
<span class="normal">816</span>
|
||
<span class="normal">817</span>
|
||
<span class="normal">818</span>
|
||
<span class="normal">819</span>
|
||
<span class="normal">820</span>
|
||
<span class="normal">821</span>
|
||
<span class="normal">822</span>
|
||
<span class="normal">823</span>
|
||
<span class="normal">824</span>
|
||
<span class="normal">825</span>
|
||
<span class="normal">826</span>
|
||
<span class="normal">827</span>
|
||
<span class="normal">828</span>
|
||
<span class="normal">829</span>
|
||
<span class="normal">830</span>
|
||
<span class="normal">831</span>
|
||
<span class="normal">832</span>
|
||
<span class="normal">833</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_features</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="n">Feature</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить доступные дополнительные функции (features).</span>
|
||
|
||
<span class="sd"> Features — это платные дополнения к кворкам:</span>
|
||
<span class="sd"> - Увеличенные сроки</span>
|
||
<span class="sd"> - Дополнительные правки</span>
|
||
<span class="sd"> - Приоритетная поддержка</span>
|
||
<span class="sd"> - и т.д.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список доступных features с названиями и ценами.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> features = await client.reference.get_features()</span>
|
||
<span class="sd"> for f in features:</span>
|
||
<span class="sd"> print(f"{f.name}: {f.price} RUB")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/getAvailableFeatures"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Feature</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"features"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ReferenceAPI.get_public_features" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_public_features</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_public_features" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_public_features</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить публичные функции.</p>
|
||
<p>Аналогично get_features(), но возвращает только
|
||
публично доступные опции.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Feature (kwork_api.models.Feature)" href="../models/#kwork_api.models.Feature">Feature</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список публичных features.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">835</span>
|
||
<span class="normal">836</span>
|
||
<span class="normal">837</span>
|
||
<span class="normal">838</span>
|
||
<span class="normal">839</span>
|
||
<span class="normal">840</span>
|
||
<span class="normal">841</span>
|
||
<span class="normal">842</span>
|
||
<span class="normal">843</span>
|
||
<span class="normal">844</span>
|
||
<span class="normal">845</span>
|
||
<span class="normal">846</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_public_features</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="n">Feature</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить публичные функции.</span>
|
||
|
||
<span class="sd"> Аналогично get_features(), но возвращает только</span>
|
||
<span class="sd"> публично доступные опции.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список публичных features.</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/getPublicFeatures"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Feature</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">f</span><span class="p">)</span> <span class="k">for</span> <span class="n">f</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"features"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.ReferenceAPI.get_timezones" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_timezones</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.ReferenceAPI.get_timezones" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_timezones</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список всех часовых поясов.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="TimeZone (kwork_api.models.TimeZone)" href="../models/#kwork_api.models.TimeZone">TimeZone</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список часовых поясов с названиями и смещениями.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>timezones = await client.reference.get_timezones()
|
||
msks = next(tz for tz in timezones if "Moscow" in tz.name)</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">800</span>
|
||
<span class="normal">801</span>
|
||
<span class="normal">802</span>
|
||
<span class="normal">803</span>
|
||
<span class="normal">804</span>
|
||
<span class="normal">805</span>
|
||
<span class="normal">806</span>
|
||
<span class="normal">807</span>
|
||
<span class="normal">808</span>
|
||
<span class="normal">809</span>
|
||
<span class="normal">810</span>
|
||
<span class="normal">811</span>
|
||
<span class="normal">812</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_timezones</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="n">TimeZone</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список всех часовых поясов.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список часовых поясов с названиями и смещениями.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> timezones = await client.reference.get_timezones()</span>
|
||
<span class="sd"> msks = next(tz for tz in timezones if "Moscow" in tz.name)</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/timezones"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">TimeZone</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">t</span><span class="p">)</span> <span class="k">for</span> <span class="n">t</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"timezones"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-class">
|
||
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.UserAPI" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-class-name">UserAPI</span>
|
||
|
||
|
||
<a href="#kwork_api.client.KworkClient.UserAPI" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">UserAPI</span><span class="p">(</span><span class="n">client</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
|
||
|
||
<p>Пользовательское API.</p>
|
||
<p>Предоставляет доступ к данным текущего пользователя:
|
||
- Профиль и информация об аккаунте
|
||
- Отзывы (полученные и оставленные)
|
||
- Избранные кворки</p>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.UserAPI--_1">Информация о пользователе<a class="headerlink" href="#kwork_api.client.KworkClient.UserAPI--_1" title="Permanent link">¶</a></h5>
|
||
<p>info = await client.user.get_info()</p>
|
||
<h5 id="kwork_api.client.KworkClient.UserAPI--_2">Мои отзывы<a class="headerlink" href="#kwork_api.client.KworkClient.UserAPI--_2" title="Permanent link">¶</a></h5>
|
||
<p>reviews = await client.user.get_reviews()</p>
|
||
<h5 id="kwork_api.client.KworkClient.UserAPI--_3">Избранные кворки<a class="headerlink" href="#kwork_api.client.KworkClient.UserAPI--_3" title="Permanent link">¶</a></h5>
|
||
<p>favorites = await client.user.get_favorite_kworks()</p>
|
||
</details>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">666</span>
|
||
<span class="normal">667</span></pre></div></td><td class="code"><div><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">client</span><span class="p">:</span> <span class="s2">"KworkClient"</span><span class="p">):</span>
|
||
<span class="bp">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
|
||
|
||
|
||
<div class="doc doc-children">
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<h5 id="kwork_api.client.KworkClient.UserAPI-functions">Functions<a href="#kwork_api.client.KworkClient.UserAPI-functions" class="headerlink" title="Permanent link">¶</a></h5>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.UserAPI.get_favorite_kworks" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_favorite_kworks</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_favorite_kworks" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_favorite_kworks</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить список избранных кворков.</p>
|
||
<p>Возвращает все кворки, добавленные пользователем в избранное.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="Kwork (kwork_api.models.Kwork)" href="../models/#kwork_api.models.Kwork">Kwork</a>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Список избранных кворков.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>favorites = await client.user.get_favorite_kworks()
|
||
for kwork in favorites:
|
||
print(f"{kwork.title}: {kwork.price} RUB")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">728</span>
|
||
<span class="normal">729</span>
|
||
<span class="normal">730</span>
|
||
<span class="normal">731</span>
|
||
<span class="normal">732</span>
|
||
<span class="normal">733</span>
|
||
<span class="normal">734</span>
|
||
<span class="normal">735</span>
|
||
<span class="normal">736</span>
|
||
<span class="normal">737</span>
|
||
<span class="normal">738</span>
|
||
<span class="normal">739</span>
|
||
<span class="normal">740</span>
|
||
<span class="normal">741</span>
|
||
<span class="normal">742</span>
|
||
<span class="normal">743</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_favorite_kworks</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="n">Kwork</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить список избранных кворков.</span>
|
||
|
||
<span class="sd"> Возвращает все кворки, добавленные пользователем в избранное.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Список избранных кворков.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> favorites = await client.user.get_favorite_kworks()</span>
|
||
<span class="sd"> for kwork in favorites:</span>
|
||
<span class="sd"> print(f"{kwork.title}: {kwork.price} RUB")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/favoriteKworks"</span><span class="p">)</span>
|
||
<span class="k">return</span> <span class="p">[</span><span class="n">Kwork</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">k</span><span class="p">)</span> <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"kworks"</span><span class="p">,</span> <span class="p">[])]</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.UserAPI.get_info" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_info</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_info" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_info</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить информацию о текущем пользователе.</p>
|
||
<p>Возвращает основные данные аккаунта:
|
||
- ID, username, email
|
||
- Баланс, рейтинг
|
||
- Статус верификации
|
||
- Настройки профиля</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Словарь с информацией о пользователе.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><span title="dict">dict</span>[<span title="str">str</span>, <span title="typing.Any">Any</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Структура зависит от ответа API.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<p>info = await client.user.get_info()
|
||
print(f"User: {info.get('username')}")
|
||
print(f"Balance: {info.get('balance')} RUB")</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">669</span>
|
||
<span class="normal">670</span>
|
||
<span class="normal">671</span>
|
||
<span class="normal">672</span>
|
||
<span class="normal">673</span>
|
||
<span class="normal">674</span>
|
||
<span class="normal">675</span>
|
||
<span class="normal">676</span>
|
||
<span class="normal">677</span>
|
||
<span class="normal">678</span>
|
||
<span class="normal">679</span>
|
||
<span class="normal">680</span>
|
||
<span class="normal">681</span>
|
||
<span class="normal">682</span>
|
||
<span class="normal">683</span>
|
||
<span class="normal">684</span>
|
||
<span class="normal">685</span>
|
||
<span class="normal">686</span>
|
||
<span class="normal">687</span>
|
||
<span class="normal">688</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_info</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="nb">dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить информацию о текущем пользователе.</span>
|
||
|
||
<span class="sd"> Возвращает основные данные аккаунта:</span>
|
||
<span class="sd"> - ID, username, email</span>
|
||
<span class="sd"> - Баланс, рейтинг</span>
|
||
<span class="sd"> - Статус верификации</span>
|
||
<span class="sd"> - Настройки профиля</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Словарь с информацией о пользователе.</span>
|
||
<span class="sd"> Структура зависит от ответа API.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> info = await client.user.get_info()</span>
|
||
<span class="sd"> print(f"User: {info.get('username')}")</span>
|
||
<span class="sd"> print(f"Balance: {info.get('balance')} RUB")</span>
|
||
<span class="sd"> """</span>
|
||
<span class="k">return</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span><span class="s2">"POST"</span><span class="p">,</span> <span class="s2">"/user"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h6 id="kwork_api.client.KworkClient.UserAPI.get_reviews" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">get_reviews</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.UserAPI.get_reviews" class="headerlink" title="Permanent link">¶</a></h6>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_reviews</span><span class="p">(</span><span class="n">user_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">page</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Получить отзывы пользователя.</p>
|
||
<p>Если user_id не указан — возвращает отзывы текущего пользователя.
|
||
Если указан — отзывы другого пользователя по ID.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>user_id</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="typing.Optional">Optional</span>[<span title="int">int</span>]</code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>ID пользователя. Если None — текущий пользователь.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>None</code>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>page</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="int">int</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Номер страницы для пагинации (начиная с 1).</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>1</code>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ReviewsResponse (kwork_api.models.ReviewsResponse)" href="../models/#kwork_api.models.ReviewsResponse">ReviewsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>ReviewsResponse содержащий:</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ReviewsResponse (kwork_api.models.ReviewsResponse)" href="../models/#kwork_api.models.ReviewsResponse">ReviewsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>reviews: список отзывов на странице</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ReviewsResponse (kwork_api.models.ReviewsResponse)" href="../models/#kwork_api.models.ReviewsResponse">ReviewsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>pagination: информация о пагинации</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="ReviewsResponse (kwork_api.models.ReviewsResponse)" href="../models/#kwork_api.models.ReviewsResponse">ReviewsResponse</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<ul>
|
||
<li>average_rating: средний рейтинг</li>
|
||
</ul>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h6 id="kwork_api.client.KworkClient.UserAPI.get_reviews--_1">Мои отзывы<a class="headerlink" href="#kwork_api.client.KworkClient.UserAPI.get_reviews--_1" title="Permanent link">¶</a></h6>
|
||
<p>my_reviews = await client.user.get_reviews()</p>
|
||
<h6 id="kwork_api.client.KworkClient.UserAPI.get_reviews--_2">Отзывы другого пользователя<a class="headerlink" href="#kwork_api.client.KworkClient.UserAPI.get_reviews--_2" title="Permanent link">¶</a></h6>
|
||
<p>user_reviews = await client.user.get_reviews(user_id=12345)</p>
|
||
<h6 id="kwork_api.client.KworkClient.UserAPI.get_reviews--_3">С пагинацией<a class="headerlink" href="#kwork_api.client.KworkClient.UserAPI.get_reviews--_3" title="Permanent link">¶</a></h6>
|
||
<p>page2 = await client.user.get_reviews(page=2)</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">690</span>
|
||
<span class="normal">691</span>
|
||
<span class="normal">692</span>
|
||
<span class="normal">693</span>
|
||
<span class="normal">694</span>
|
||
<span class="normal">695</span>
|
||
<span class="normal">696</span>
|
||
<span class="normal">697</span>
|
||
<span class="normal">698</span>
|
||
<span class="normal">699</span>
|
||
<span class="normal">700</span>
|
||
<span class="normal">701</span>
|
||
<span class="normal">702</span>
|
||
<span class="normal">703</span>
|
||
<span class="normal">704</span>
|
||
<span class="normal">705</span>
|
||
<span class="normal">706</span>
|
||
<span class="normal">707</span>
|
||
<span class="normal">708</span>
|
||
<span class="normal">709</span>
|
||
<span class="normal">710</span>
|
||
<span class="normal">711</span>
|
||
<span class="normal">712</span>
|
||
<span class="normal">713</span>
|
||
<span class="normal">714</span>
|
||
<span class="normal">715</span>
|
||
<span class="normal">716</span>
|
||
<span class="normal">717</span>
|
||
<span class="normal">718</span>
|
||
<span class="normal">719</span>
|
||
<span class="normal">720</span>
|
||
<span class="normal">721</span>
|
||
<span class="normal">722</span>
|
||
<span class="normal">723</span>
|
||
<span class="normal">724</span>
|
||
<span class="normal">725</span>
|
||
<span class="normal">726</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">get_reviews</span><span class="p">(</span>
|
||
<span class="bp">self</span><span class="p">,</span>
|
||
<span class="n">user_id</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
|
||
<span class="n">page</span><span class="p">:</span> <span class="nb">int</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>
|
||
<span class="p">)</span> <span class="o">-></span> <span class="n">ReviewsResponse</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Получить отзывы пользователя.</span>
|
||
|
||
<span class="sd"> Если user_id не указан — возвращает отзывы текущего пользователя.</span>
|
||
<span class="sd"> Если указан — отзывы другого пользователя по ID.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> user_id: ID пользователя. Если None — текущий пользователь.</span>
|
||
<span class="sd"> page: Номер страницы для пагинации (начиная с 1).</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> ReviewsResponse содержащий:</span>
|
||
<span class="sd"> - reviews: список отзывов на странице</span>
|
||
<span class="sd"> - pagination: информация о пагинации</span>
|
||
<span class="sd"> - average_rating: средний рейтинг</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> # Мои отзывы</span>
|
||
<span class="sd"> my_reviews = await client.user.get_reviews()</span>
|
||
|
||
<span class="sd"> # Отзывы другого пользователя</span>
|
||
<span class="sd"> user_reviews = await client.user.get_reviews(user_id=12345)</span>
|
||
|
||
<span class="sd"> # С пагинацией</span>
|
||
<span class="sd"> page2 = await client.user.get_reviews(page=2)</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">data</span> <span class="o">=</span> <span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">client</span><span class="o">.</span><span class="n">_request</span><span class="p">(</span>
|
||
<span class="s2">"POST"</span><span class="p">,</span>
|
||
<span class="s2">"/userReviews"</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="p">{</span><span class="s2">"user_id"</span><span class="p">:</span> <span class="n">user_id</span><span class="p">,</span> <span class="s2">"page"</span><span class="p">:</span> <span class="n">page</span><span class="p">},</span>
|
||
<span class="p">)</span>
|
||
<span class="k">return</span> <span class="n">ReviewsResponse</span><span class="o">.</span><span class="n">model_validate</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
<h3 id="kwork_api.client.KworkClient-functions">Functions<a href="#kwork_api.client.KworkClient-functions" class="headerlink" title="Permanent link">¶</a></h3>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.close" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">close</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.close" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">close</span><span class="p">()</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Close HTTP client.</p>
|
||
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">315</span>
|
||
<span class="normal">316</span>
|
||
<span class="normal">317</span>
|
||
<span class="normal">318</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">close</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""Close HTTP client."""</span>
|
||
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span> <span class="ow">and</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">is_closed</span><span class="p">:</span>
|
||
<span class="k">await</span> <span class="bp">self</span><span class="o">.</span><span class="n">_client</span><span class="o">.</span><span class="n">aclose</span><span class="p">()</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="doc doc-object doc-function">
|
||
|
||
|
||
<h4 id="kwork_api.client.KworkClient.login" class="doc doc-heading">
|
||
<span class="doc doc-object-name doc-function-name">login</span>
|
||
|
||
|
||
<span class="doc doc-labels">
|
||
<small class="doc doc-label doc-label-async"><code>async</code></small>
|
||
<small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small>
|
||
</span>
|
||
|
||
<a href="#kwork_api.client.KworkClient.login" class="headerlink" title="Permanent link">¶</a></h4>
|
||
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">login</span><span class="p">(</span><span class="n">username</span><span class="p">,</span> <span class="n">password</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="mf">30.0</span><span class="p">)</span>
|
||
</code></pre></div>
|
||
|
||
<div class="doc doc-contents ">
|
||
|
||
<p>Аутентификация по логину и паролю.</p>
|
||
<p>Выполняет двухэтапный процесс аутентификации Kwork:
|
||
1. POST /signIn — проверка учётных данных, получение session cookies
|
||
2. POST /getWebAuthToken — обмен cookies на web_auth_token</p>
|
||
<p>Полученный токен и cookies сохраняются в клиенте для последующих запросов.</p>
|
||
|
||
|
||
<p><span class="doc-section-title">Parameters:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
<th>Default</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>username</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="str">str</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Логин или email аккаунта Kwork.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<em>required</em>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>password</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="str">str</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Пароль аккаунта Kwork.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<em>required</em>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code>timeout</code>
|
||
</td>
|
||
<td>
|
||
<code><span title="float">float</span></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Таймаут запросов в секундах. Применяется к каждому этапу.</p>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
<code>30.0</code>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Returns:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="kwork_api.client.KworkClient" href="#kwork_api.client.KworkClient">KworkClient</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Полностью аутентифицированный экземпляр KworkClient,</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="kwork_api.client.KworkClient" href="#kwork_api.client.KworkClient">KworkClient</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>готовый к работе с API.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<p><span class="doc-section-title">Raises:</span></p>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Type</th>
|
||
<th>Description</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="KworkAuthError (kwork_api.errors.KworkAuthError)" href="../errors/#kwork_api.errors.KworkAuthError">KworkAuthError</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Если логин/пароль неверны или токен не получен.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr class="doc-section-item">
|
||
<td>
|
||
<code><a class="autorefs autorefs-internal" title="KworkNetworkError (kwork_api.errors.KworkNetworkError)" href="../errors/#kwork_api.errors.KworkNetworkError">KworkNetworkError</a></code>
|
||
</td>
|
||
<td>
|
||
<div class="doc-md-description">
|
||
<p>Если произошла ошибка сети.</p>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
|
||
<details class="example" open>
|
||
<summary>Example</summary>
|
||
<h5 id="kwork_api.client.KworkClient.login--_1">Базовое использование<a class="headerlink" href="#kwork_api.client.KworkClient.login--_1" title="Permanent link">¶</a></h5>
|
||
<p>client = await KworkClient.login("myuser", "mypassword")</p>
|
||
<h5 id="kwork_api.client.KworkClient.login--_2">С кастомным таймаутом<a class="headerlink" href="#kwork_api.client.KworkClient.login--_2" title="Permanent link">¶</a></h5>
|
||
<p>client = await KworkClient.login("user", "pass", timeout=60.0)</p>
|
||
<h5 id="kwork_api.client.KworkClient.login--_3">Сохранение токена для повторного использования<a class="headerlink" href="#kwork_api.client.KworkClient.login--_3" title="Permanent link">¶</a></h5>
|
||
<p>token = client._token</p>
|
||
<h5 id="kwork_api.client.KworkClient.login--client-kworkclienttokentoken">Позже: client = KworkClient(token=token)<a class="headerlink" href="#kwork_api.client.KworkClient.login--client-kworkclienttokentoken" title="Permanent link">¶</a></h5>
|
||
</details>
|
||
|
||
<details class="security" open>
|
||
<summary>Security</summary>
|
||
<p>Пароль не сохраняется в клиенте. Только token и cookies.
|
||
Рекомендуется сохранять token для повторного использования
|
||
вместо хранения пароля.</p>
|
||
</details>
|
||
|
||
<details class="note" open>
|
||
<summary>Note</summary>
|
||
<p>Токен имеет ограниченное время жизни. При получении 401 ошибки
|
||
необходимо выполнить повторный login().</p>
|
||
</details>
|
||
|
||
<details class="mkdocstrings-source">
|
||
<summary>Source code in <code>src/kwork_api/client.py</code></summary>
|
||
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">196</span>
|
||
<span class="normal">197</span>
|
||
<span class="normal">198</span>
|
||
<span class="normal">199</span>
|
||
<span class="normal">200</span>
|
||
<span class="normal">201</span>
|
||
<span class="normal">202</span>
|
||
<span class="normal">203</span>
|
||
<span class="normal">204</span>
|
||
<span class="normal">205</span>
|
||
<span class="normal">206</span>
|
||
<span class="normal">207</span>
|
||
<span class="normal">208</span>
|
||
<span class="normal">209</span>
|
||
<span class="normal">210</span>
|
||
<span class="normal">211</span>
|
||
<span class="normal">212</span>
|
||
<span class="normal">213</span>
|
||
<span class="normal">214</span>
|
||
<span class="normal">215</span>
|
||
<span class="normal">216</span>
|
||
<span class="normal">217</span>
|
||
<span class="normal">218</span>
|
||
<span class="normal">219</span>
|
||
<span class="normal">220</span>
|
||
<span class="normal">221</span>
|
||
<span class="normal">222</span>
|
||
<span class="normal">223</span>
|
||
<span class="normal">224</span>
|
||
<span class="normal">225</span>
|
||
<span class="normal">226</span>
|
||
<span class="normal">227</span>
|
||
<span class="normal">228</span>
|
||
<span class="normal">229</span>
|
||
<span class="normal">230</span>
|
||
<span class="normal">231</span>
|
||
<span class="normal">232</span>
|
||
<span class="normal">233</span>
|
||
<span class="normal">234</span>
|
||
<span class="normal">235</span>
|
||
<span class="normal">236</span>
|
||
<span class="normal">237</span>
|
||
<span class="normal">238</span>
|
||
<span class="normal">239</span>
|
||
<span class="normal">240</span>
|
||
<span class="normal">241</span>
|
||
<span class="normal">242</span>
|
||
<span class="normal">243</span>
|
||
<span class="normal">244</span>
|
||
<span class="normal">245</span>
|
||
<span class="normal">246</span>
|
||
<span class="normal">247</span>
|
||
<span class="normal">248</span>
|
||
<span class="normal">249</span>
|
||
<span class="normal">250</span>
|
||
<span class="normal">251</span>
|
||
<span class="normal">252</span>
|
||
<span class="normal">253</span>
|
||
<span class="normal">254</span>
|
||
<span class="normal">255</span>
|
||
<span class="normal">256</span>
|
||
<span class="normal">257</span>
|
||
<span class="normal">258</span>
|
||
<span class="normal">259</span>
|
||
<span class="normal">260</span>
|
||
<span class="normal">261</span>
|
||
<span class="normal">262</span>
|
||
<span class="normal">263</span>
|
||
<span class="normal">264</span>
|
||
<span class="normal">265</span>
|
||
<span class="normal">266</span>
|
||
<span class="normal">267</span>
|
||
<span class="normal">268</span>
|
||
<span class="normal">269</span>
|
||
<span class="normal">270</span>
|
||
<span class="normal">271</span>
|
||
<span class="normal">272</span>
|
||
<span class="normal">273</span>
|
||
<span class="normal">274</span>
|
||
<span class="normal">275</span>
|
||
<span class="normal">276</span>
|
||
<span class="normal">277</span>
|
||
<span class="normal">278</span>
|
||
<span class="normal">279</span>
|
||
<span class="normal">280</span>
|
||
<span class="normal">281</span>
|
||
<span class="normal">282</span>
|
||
<span class="normal">283</span>
|
||
<span class="normal">284</span>
|
||
<span class="normal">285</span>
|
||
<span class="normal">286</span>
|
||
<span class="normal">287</span>
|
||
<span class="normal">288</span>
|
||
<span class="normal">289</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="nd">@classmethod</span>
|
||
<span class="k">async</span> <span class="k">def</span><span class="w"> </span><span class="nf">login</span><span class="p">(</span>
|
||
<span class="bp">cls</span><span class="p">,</span>
|
||
<span class="n">username</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||
<span class="n">password</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span>
|
||
<span class="n">timeout</span><span class="p">:</span> <span class="nb">float</span> <span class="o">=</span> <span class="mf">30.0</span><span class="p">,</span>
|
||
<span class="p">)</span> <span class="o">-></span> <span class="s2">"KworkClient"</span><span class="p">:</span>
|
||
<span class="w"> </span><span class="sd">"""</span>
|
||
<span class="sd"> Аутентификация по логину и паролю.</span>
|
||
|
||
<span class="sd"> Выполняет двухэтапный процесс аутентификации Kwork:</span>
|
||
<span class="sd"> 1. POST /signIn — проверка учётных данных, получение session cookies</span>
|
||
<span class="sd"> 2. POST /getWebAuthToken — обмен cookies на web_auth_token</span>
|
||
|
||
<span class="sd"> Полученный токен и cookies сохраняются в клиенте для последующих запросов.</span>
|
||
|
||
<span class="sd"> Args:</span>
|
||
<span class="sd"> username: Логин или email аккаунта Kwork.</span>
|
||
<span class="sd"> password: Пароль аккаунта Kwork.</span>
|
||
<span class="sd"> timeout: Таймаут запросов в секундах. Применяется к каждому этапу.</span>
|
||
|
||
<span class="sd"> Returns:</span>
|
||
<span class="sd"> Полностью аутентифицированный экземпляр KworkClient,</span>
|
||
<span class="sd"> готовый к работе с API.</span>
|
||
|
||
<span class="sd"> Raises:</span>
|
||
<span class="sd"> KworkAuthError: Если логин/пароль неверны или токен не получен.</span>
|
||
<span class="sd"> KworkNetworkError: Если произошла ошибка сети.</span>
|
||
|
||
<span class="sd"> Example:</span>
|
||
<span class="sd"> # Базовое использование</span>
|
||
<span class="sd"> client = await KworkClient.login("myuser", "mypassword")</span>
|
||
|
||
<span class="sd"> # С кастомным таймаутом</span>
|
||
<span class="sd"> client = await KworkClient.login("user", "pass", timeout=60.0)</span>
|
||
|
||
<span class="sd"> # Сохранение токена для повторного использования</span>
|
||
<span class="sd"> token = client._token</span>
|
||
<span class="sd"> # Позже: client = KworkClient(token=token)</span>
|
||
|
||
<span class="sd"> Security:</span>
|
||
<span class="sd"> Пароль не сохраняется в клиенте. Только token и cookies.</span>
|
||
<span class="sd"> Рекомендуется сохранять token для повторного использования</span>
|
||
<span class="sd"> вместо хранения пароля.</span>
|
||
|
||
<span class="sd"> Note:</span>
|
||
<span class="sd"> Токен имеет ограниченное время жизни. При получении 401 ошибки</span>
|
||
<span class="sd"> необходимо выполнить повторный login().</span>
|
||
<span class="sd"> """</span>
|
||
<span class="n">client</span> <span class="o">=</span> <span class="bp">cls</span><span class="p">(</span><span class="n">timeout</span><span class="o">=</span><span class="n">timeout</span><span class="p">)</span>
|
||
|
||
<span class="k">try</span><span class="p">:</span>
|
||
<span class="k">async</span> <span class="k">with</span> <span class="n">client</span><span class="o">.</span><span class="n">_get_httpx_client</span><span class="p">()</span> <span class="k">as</span> <span class="n">http_client</span><span class="p">:</span>
|
||
<span class="c1"># Step 1: Login to get session cookies</span>
|
||
<span class="n">login_data</span> <span class="o">=</span> <span class="p">{</span>
|
||
<span class="s2">"login_or_email"</span><span class="p">:</span> <span class="n">username</span><span class="p">,</span>
|
||
<span class="s2">"password"</span><span class="p">:</span> <span class="n">password</span><span class="p">,</span>
|
||
<span class="p">}</span>
|
||
|
||
<span class="n">response</span> <span class="o">=</span> <span class="k">await</span> <span class="n">http_client</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
|
||
<span class="bp">cls</span><span class="o">.</span><span class="n">LOGIN_URL</span><span class="p">,</span>
|
||
<span class="n">data</span><span class="o">=</span><span class="n">login_data</span><span class="p">,</span>
|
||
<span class="n">headers</span><span class="o">=</span><span class="p">{</span><span class="s2">"Referer"</span><span class="p">:</span> <span class="s2">"https://kwork.ru/"</span><span class="p">},</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="k">if</span> <span class="n">response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">!=</span> <span class="mi">200</span><span class="p">:</span>
|
||
<span class="k">raise</span> <span class="n">KworkAuthError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Login failed: </span><span class="si">{</span><span class="n">response</span><span class="o">.</span><span class="n">status_code</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Extract cookies</span>
|
||
<span class="n">cookies</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">cookies</span><span class="p">)</span>
|
||
|
||
<span class="k">if</span> <span class="s2">"userId"</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">cookies</span><span class="p">:</span>
|
||
<span class="k">raise</span> <span class="n">KworkAuthError</span><span class="p">(</span><span class="s2">"Login failed: no userId in cookies"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Step 2: Get web auth token</span>
|
||
<span class="n">token_response</span> <span class="o">=</span> <span class="k">await</span> <span class="n">http_client</span><span class="o">.</span><span class="n">post</span><span class="p">(</span>
|
||
<span class="bp">cls</span><span class="o">.</span><span class="n">TOKEN_URL</span><span class="p">,</span>
|
||
<span class="n">json</span><span class="o">=</span><span class="p">{},</span>
|
||
<span class="p">)</span>
|
||
|
||
<span class="k">if</span> <span class="n">token_response</span><span class="o">.</span><span class="n">status_code</span> <span class="o">!=</span> <span class="mi">200</span><span class="p">:</span>
|
||
<span class="k">raise</span> <span class="n">KworkAuthError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Token request failed: </span><span class="si">{</span><span class="n">token_response</span><span class="o">.</span><span class="n">status_code</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||
|
||
<span class="n">token_data</span> <span class="o">=</span> <span class="n">token_response</span><span class="o">.</span><span class="n">json</span><span class="p">()</span>
|
||
<span class="n">web_token</span> <span class="o">=</span> <span class="n">token_data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"web_auth_token"</span><span class="p">)</span>
|
||
|
||
<span class="k">if</span> <span class="ow">not</span> <span class="n">web_token</span><span class="p">:</span>
|
||
<span class="k">raise</span> <span class="n">KworkAuthError</span><span class="p">(</span><span class="s2">"No web_auth_token in response"</span><span class="p">)</span>
|
||
|
||
<span class="c1"># Create new client with token</span>
|
||
<span class="k">return</span> <span class="bp">cls</span><span class="p">(</span><span class="n">token</span><span class="o">=</span><span class="n">web_token</span><span class="p">,</span> <span class="n">cookies</span><span class="o">=</span><span class="n">cookies</span><span class="p">,</span> <span class="n">timeout</span><span class="o">=</span><span class="n">timeout</span><span class="p">)</span>
|
||
|
||
<span class="k">except</span> <span class="n">httpx</span><span class="o">.</span><span class="n">RequestError</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span>
|
||
<span class="k">raise</span> <span class="n">KworkNetworkError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"Login request failed: </span><span class="si">{</span><span class="n">e</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
||
</code></pre></div></td></tr></table></div>
|
||
</details>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</article>
|
||
</div>
|
||
|
||
|
||
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
||
</div>
|
||
|
||
</main>
|
||
|
||
<footer class="md-footer">
|
||
|
||
<div class="md-footer-meta md-typeset">
|
||
<div class="md-footer-meta__inner md-grid">
|
||
<div class="md-copyright">
|
||
|
||
|
||
Made with
|
||
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
||
Material for MkDocs
|
||
</a>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
<div class="md-dialog" data-md-component="dialog">
|
||
<div class="md-dialog__inner md-typeset"></div>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
<script id="__config" type="application/json">{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "toc.integrate", "search.suggest", "search.highlight"], "search": "../../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
|
||
|
||
|
||
<script src="../../assets/javascripts/bundle.79ae519e.min.js"></script>
|
||
|
||
|
||
</body>
|
||
</html> |