Яндекс Браузер — Общие вопросы. Справка
Яндекс заботится о пользователях и делает браузер и другие сервисы более доступными для людей с ограниченными возможностями.
- Программы экранного доступа
- Умная строка
- Алиса
- Боковая панель
- Режим активного курсора
- Горячие клавиши
- Масштаб страницы и размер шрифта
Программы экранного доступа позволяют людям с ослабленным зрением считывать информацию с экрана компьютера. Программа воспроизводит вслух всё, что находится на экране, а пользователь управляет ею с помощью сенсорных жестов и сочетаний клавиш.
В Яндекс Браузер встроена поддержка программ экранного доступа:
Программа | Операционная система | Версия браузера |
---|---|---|
JAWS (лицензия платная) | MS Windows | 14. 12 и выше |
NVDA | MS Windows | 14.12 и выше |
ZoomText (лицензия платная) | MS Windows | 14.12 и выше |
Orca | Linux | 21.3.3 и выше |
VoiceOver | macOS (встроена)
Нажмите сочетание клавиш ⌘ Cmd + F5 | 21. 3.0 и выше |
Возможности горячей клавиши F6 расширены, используйте все функции боковой панели и Умной строки, переключайтесь на всплывающие окна.
Умная строка служит для ввода адреса и поиска информации. Также она дает возможность отображать адреса в виде «домен > заголовок».
Нажмите клавишу F6 и перейдите в Умную строку — скринридер озвучит заголовок.
Совет. Чтобы озвучить страницу, нажмите значок (Алиса, прочитай эту статью).Чтобы включить отображение заголовка в Умной строке:
- Нажмите (Меню) → Настройки.
Откройте Интерфейс.
В блоке Умная строка включите опцию Отображать адреса страниц в виде «домен > заголовок».
Алиса — это голосовой помощник, который установлен в Яндекс Браузере. Она поможет найти информацию в интернете, расскажет о новостях и погоде, включит музыку, запустит программу, прочитает страницу вслух или просто поболтает с вами.
Примечание. Алиса доступна только на русском языке на устройствах с Windows 7 и выше, а также на устройствах с Android и iOS.
Два способа озвучить страницу:
Запустите Алису фразой «Привет, Алиса».
Произнесите фразу «Алиса, прочитай страницу». Чтобы остановить чтение, скажите: «Алиса, стоп».
- Если Алиса не активируется
- Нажмите (Меню) → Настройки.
Откройте Инструменты.
В блоке Голосовой помощник «Алиса» выберите Включить голосовую активацию фразой.
Какая сегодня погода?
Расскажи новости футбола.
Найди кафе рядом.
Закажи такси до Манежной площади.
Где купить посудомойку недорого?
Открой сайт Госуслуг.
Включи радио «Рок».
Открой рецепт ризотто с белыми грибами.
Хочу послушать Beatles.
Давай поболтаем.
Вы можете обратиться к Алисе с фразами:
Больше примеров команд см. в справочнике голосовых команд.
С помощью программы экранного доступа:
Нажимая клавишу F6, перейдите к значкам Умной строки.
- Нажимайте Tab, пока не перейдете к значку (Алиса, прочитай эту статью).
Нажмите Enter.
Если значка нет в Умной строке:
- Нажмите (Меню) → Настройки.
Откройте Интерфейс.
В блоке Умная строка включите опцию Показывать кнопку чтения вслух.
Примечание. Если значок чтения вслух не появился, то эту страницу нельзя озвучить.
Примечание. Боковая панель доступна только в Windows.
Боковая панель обеспечивает легкий доступ к сервисам Яндекса, уведомлениям, вкладкам и закладкам, позволяет управлять воспроизведением аудио и работать с заметками.
Теперь возможности боковой панели стали доступны пользователям с ослабленным зрением.
Выберите функцию с помощью программы экранного доступа:
Нажимая клавишу F6, перейдите к боковой панели.
Нажимайте Tab, пока не перейдете к значку нужной функции.
Нажмите Enter.
Чтобы включить боковую панель:
- Нажмите (Меню) → Настройки.
Откройте Интерфейс.
В блоке Боковая панель включите опцию Показывать боковую панель и выберите в списке Всегда.
В режиме активного курсора для навигации по странице используется не мышь, а клавиатура, как в текстовых редакторах.
Включите режим клавишей F7, нажмите в любом месте страницы левую кнопку мыши, и указатель превратится в курсор.
Возможности:
Перемещаться по сайту с помощью стрелок (влево, вправо, вверх и вниз).
Выделять фрагменты текста — для этого удерживайте Shift.
Переходить по ссылкам — поставьте курсор в любое место ссылки и нажмите Enter.
Чтобы отключить режим, еще раз нажмите клавишу F7.
При работе в Яндекс Браузере используйте следующие клавиши и их сочетания:
Действие | Windows | macOS |
---|---|---|
Развернуть окно во весь экран | F11 | Shift + ⌘ + F |
Выйти из полноэкранного режима | F11 | Shift + ⌘ + F |
Увеличить масштаб страницы | Ctrl + Плюс | Ctrl + ⌘ + Плюс |
Уменьшить масштаб страницы | Ctrl + Минус | Ctrl + ⌘ + Минус |
Установить для страницы масштаб 100% | Ctrl + 0 | Ctrl + ⌘ + 0 |
Перейти в поле ввода поискового запроса | Ctrl + L Alt + D F6 | |
Перейти вперед | Alt + → | ⌘ + ] |
Перейти назад | Alt + ← | ⌘ + [ |
Переключиться между элементами в окне браузера. Подробнее в разделе Горячая клавиша F6 | F6 | |
Перейти на панель закладок | Alt + Shift + B | |
Перейти к значкам Умной строки | Alt + Shift + T | |
Открыть контекстное меню Примечание. Эту комбинацию клавиш может использовать Zoom. Если необходимо, отключите ее в настройках Zoom. | Shift + F10 |
Более подробную информацию о горячих клавишах ищите в разделе Справки.
Используйте клавишу F6, чтобы последовательно перемещаться между панелями браузера.
Совет. Включите программу экранного доступа, чтобы озвучивать элементы интерфейса.
Адресная строка.
Используйте Tab, чтобы переключаться между кнопками Копировать, Поделиться, (Добавить страницу в закладки), а также сайтами на Табло.
Значки Умной строки.
Используйте Tab, чтобы переключаться между кнопками (Protect), Отзывы, (Алиса, прочитай эту статью), (Перейти в режим чтения) и т. д.
Другие значки в Умной строке.
Используйте Tab, чтобы переключаться между кнопками (Обновить страницу), (Перейти на Яндекс), (Менеджер паролей), (Загрузки), (Назад) и т. д.
Панель закладок (если включена).
Используйте Tab, чтобы переключаться между закладками.
Информационная панель (если отображается).
Используйте Tab, чтобы перемещаться между элементами панели.
Боковая панель (если включена).
Используйте Tab, чтобы переключаться между кнопками Уведомления, История и т. д.
Окно (если отображается).
Используйте Tab, чтобы перемещаться между элементами окна.
Масштаб страницы и размер шрифта в браузере можно регулировать, чтобы слабовидящим людям было удобно читать с экрана.
Измените масштаб страницы браузера с помощью горячих клавиш.
Измените только размер шрифта на сайтах:
- Нажмите (Меню) → Настройки.
Откройте Сайты.
В блоке Размер шрифта нажмите Настройки шрифтов.
На странице Настройки шрифтов в блоке Размер шрифта передвиньте ползунок вправо.
Написать в службу поддержки
Табло. Справка
- Что такое Табло?
- Автоматический подбор сайтов для Табло
- Добавление плиток на Табло
- Редактирование плиток
- Папки с плитками на Табло
- Синхронизация Табло
- Пропадают плитки на Табло
- Горячие клавиши и жесты мыши для работы с Табло
Когда вы открываете новую вкладку или нажимаете В адресную строку можно вводить поисковые запросы — Браузер сам поймет, что вам нужно.
«}}»>, появляется Табло. Это панель с плитками — виджетами сайтов, которые вы чаще всего посещаете. По умолчанию на Табло установлены плитки некоторых сервисов Яндекса.Для перехода на нужный сайт нажмите плитку (на ней отображается логотип и, если по ссылке открывается не главная страница сайта, название страницы).
Совет. Чтобы быстро открыть сайт с помощью Табло, используйте клавиши:в Windows: нажмите Ctrl + T, а затем Alt + 1, 2…;
в macOS: нажмите ⌘ + T, а затем Ctrl + 1, 2…
Здесь 1, 2… — это номера плиток на Табло (слева направо и сверху вниз).
Набор и последовательность плиток на Табло можно настроить вручную.
Примечание. Чтобы видеть больше фона, выберите режим Минимальный — в нем отображается только нижний ряд плиток Табло. Для просмотра остальных плиток на Табло, прокрутите страницу вверх.
- Изменить размер плиток
- Нажмите рядом с Табло значок или на любую плитку правой кнопкой мыши.
Выберите Размер плиток → Маленький, Средний или Большой.
Нажмите на любую плитку правой кнопкой мыши.
Выберите команду Ширина Табло → Маленькая, Средняя или Большая.
- Нажмите → Настройки.
Откройте Интерфейс → Вид первого экрана.
- В разделе Показывать Табло выберите нужную вам опцию:
Полное — если хотите видеть максимальное количество плиток.
Сокращённое — если хотите видеть минимальное количество плиток. Чтобы увидеть остальные плитки, прокрутите страницу вверх.
Если выбрать Подстраивать под окно браузера, то при уменьшении окна Яндекс Браузера размер плиток тоже будет меняться.
Вид ТаблоНа новой вкладке вы можете видеть полный или сокращенный список плиток Табло, для этого:
При установке Браузер формирует Табло автоматически:
если вы выберете импорт данных из других браузеров, на Табло попадут сайты, которые вы открывали чаще всего;
если вы откажетесь от импорта данных, на Табло появится набор сайтов по умолчанию.
Периодически Браузер обновляет плитки на Табло, добавляет сайты, которые вы чаще других ищете через В адресную строку можно вводить поисковые запросы — Браузер сам поймет, что вам нужно.
«}}»> или открываете через Табло. Чтобы не потерять нужные вам плитки, закрепите их.Если вы удалили сайт с Табло, вернуть его обратно сможете только вручную. Автоматически такие сайты на Табло не добавляются.
Откройте Табло.
- Рядом с Табло нажмите → Добавить сайт.
Укажите сайт, который вы хотите добавить на Табло. Вы можете выбрать сайт из списков Популярные или Недавно посещённые или ввести его адрес вручную.
Другой вариант: нажмите пустую плитку на Табло и укажите нужный сайт.
Ограничение. На Табло можно разместить до 24 плиток.
Совет. Если нужный сайт открыт, нажмите на его странице В адресную строку можно вводить поисковые запросы — Браузер сам поймет, что вам нужно.»}}»> и выберите Добавить этот сайт на Табло.
Плитки можно менять местами с помощью перетаскивания.
Чтобы управлять содержимым Табло, перейдите в режим редактирования:
- для отдельной плитки — наведите указатель мыши на плитку и нажмите значок ;
- для всех плиток — нажмите и удерживайте одну из плиток на Табло, либо нажмите рядом с Табло → Настроить Табло.
Примечание. Чтобы сохранить изменения после редактирования, нажмите кнопку Готово или клавишу Enter.
В режиме редактирования вы можете:
Дополнительные возможности редактирования | |
---|---|
Изменить сайт, на который ведет плитка | Нажмите значок и введите адрес сайта в строку под Табло. |
Добавить название сайта на плитку | Нажмите значок , затем в строке под Табло нажмите кнопку Добавить подпись и введите название сайта. |
Изменить название сайта на плитке | Нажмите значок , затем исправьте название сайта в строке под Табло. |
Вы можете группировать плитки в папки. Например, по умолчанию плитки со ссылками на сервисы Яндекса сгруппированы в одну папку.
- Создать папку с плитками
Откройте Табло.
Наведите указатель на плитку одного из сайтов и перетащите ее на плитку другого сайта. Удерживайте 1–2 секунды.
Появится окно новой папки. Поместите в него плитку.
Закройте папку.
Перетащите в папку плитки всех сайтов, которые хотите сгруппировать.
- Рядом с Табло нажмите → Создать папку.
Нажмите Добавить сайт и укажите адрес или название сайта.
Повторите действие для всех сайтов, плитки которых хотите добавить в папку.
Закройте папку.
Откройте Табло.
Наведите указатель мыши на папку.
- В правом верхнем углу папки нажмите значок .
Если на Табло нет плиток нужных сайтов, создайте папку и добавьте в нее плитки:
На разных устройствах у вас могут быть разные любимые сайты, поэтому Табло на устройствах формируются независимо друг от друга. Синхронизация позволяет сохранить на сервере разные версии Табло, чтобы вы могли восстановить любую из них.
- Восстановление Табло
- Нажмите → Настройки → Восстановить табло.
Выберите нужную версию Табло.
- Нажмите → Настройки → Настройки синхронизации.
Отключите опцию Табло.
При переустановке Браузер вернет прошлую версию вашего Табло или предложит выбрать из нескольких доступных.
Чтобы просмотреть сохраненные версии и восстановить нужную:
Плитки на Табло меняются, так как их список автоматически формируется из страниц, которые вы чаще всего посещаете. Чтобы плитки не пропадали, можно их закрепить.
- Закрепить одну плитку
Откройте Табло.
- Наведите указатель на плитку и нажмите значок . Если «замок» на значке закрыт , то плитка уже закреплена.
Откройте Табло.
Под Табло нажмите Настроить экран и выберите Режим редактирования.
- Закрепите нужные плитки, нажав значок .
Нажмите Готово.
Примечание. Чтобы закрепить плитку, можно также выбрать в контекстном меню пункт Закрепить.
Закрепить несколько плитокГорячие клавиши | |
---|---|
Открыть Табло | Ctrl + T |
Перейти на сайт после открытия Табло | Alt + 1, 2… |
Открыть Табло и установить курсор в Умную строку | Ctrl + L Alt + D F6 |
Внимание. При выполнении жеста удерживайте правую кнопку мыши.
Движения мыши | |
---|---|
Открыть Табло и установить курсор в Умную строку |
Горячие клавиши | |
---|---|
Открыть Табло | ⌘ + T |
Перейти на сайт после открытия Табло | ⌘ + 1, 2. .. |
Внимание. При выполнении жеста удерживайте правую кнопку мыши. Если вы пользуетесь однокнопочной мышью, выполняйте жесты, удерживая клавишу Ctrl и кнопку мыши.
Движения мыши | |
---|---|
Открыть Табло и установить курсор в Умную строку |
Написать в службу поддержки
Была ли статья полезна?
Пакет yadisk— github.com/nikitaksv/yandex-disk-sdk-go — Пакеты Go
- Константы
- введите идентификаторы комментариев
- введите DeleteResource
- тип Диск
- тип Встроенный
- введите Ошибка
- func (e *Error) Ошибка() строка
- тип Exif
- введите FilesResourceList
- введите LastUploadedResourceList
- тип Ссылка
- тип OperationStatus
- тип Владелец
- введите PerformUpload
- тип PublicEmbedded
- введите PublicResource
- введите PublicResourcesList
- тип Ресурс
- введите ResourcePatch
- введите ResourceUploadLink
- тип Доля
- введите жетон
- тип TrashEmbedded
- введите TrashResource
- введите Пользователь
- типа ЯДиск
- func NewYaDisk(ctx context. Context, клиент *http.Client, токен *Token) (ЯДиск, ошибка)
константа ( Строка базового URL = "https://cloud-api.yandex.net" MaxFileUploadSize int64 = 1e10 )
Этот раздел пуст.
Этот раздел пуст.
введите CommentIds struct { Строка PrivateResource `json:"private_resource"` Строка PublicResource `json:"public_resource"` }
тип DeleteResource struct { }
тип Дисковая структура { MaxFileSize int `json:"max_file_size"` UnlimitedAutouploadEnabled bool `json:"unlimited_autoupload_enabled"` TotalSpace int `json: "total_space"` TrashSize int `json: "trash_size"` IsPaid bool `json:"is_paid"` UsedSpace int `json:"используемое_пространство"` Структура системных папок { Одноклассники строка `json:"odnoklassniki"` Строка Google `json:"google"` Строка Instagram `json:"instagram"` Вконтакте строка `json:"vkontakte"` Строка Mailru `json:"mailru"` Строка загрузки `json:"downloads"` Строка приложений `json:"applications"` Строка Facebook `json:"facebook"` Социальная строка `json:"social"` Строка скриншотов `json:"скриншоты"` Строка фотопотока `json:"photostream"` } `json:"системные_папки"` Пользователь Пользователь `json:"user"` Ревизия int `json:"редакция"` }
тип Встроенная структура { Предметы []Ресурс `json:"items"` // содержит отфильтрованные или неэкспортированные поля }
тип Структура ошибки { Строка сообщения `json:"message"` Строка описания `json:"описание"` Строка ErrorID `json:"ошибка"` }
func (e *Error) Error() string
type Exif struct { Строка DateTime `json: "date_time"` }
тип FilesResourceList struct { Предметы []Ресурс `json:"items"` Лимит int `json:"limit"` Смещение int `json:"смещение"` }
тип структуры LastUploadedResourceList { Предметы []Ресурс `json:"items"` Лимит int `json:"limit"` }
тип Структура ссылки { Строка href `json:"href"` Строка метода `json:"method"` Шаблон bool `json:"шаблон"` }
тип OperationStatus struct { Строка состояния `json:"status"` }
тип структуры владельца { Строка входа `json:"login"` Строка DisplayName `json:"display_name"` Строка UID `json:"uid"` }
введите структуру PerformUpload { }
тип PublicEmbedded struct { Предметы []PublicResource `json:"items"` // содержит отфильтрованные или неэкспортированные поля }
тип структуры PublicResource { ViewsCount int `json:"views_count"` Владелец Владелец `json:"владелец"` Встроенный PublicEmbedded `json:"_embedded"` // содержит отфильтрованные или неэкспортированные поля }
тип структуры PublicResourcesList { Предметы []Ресурс `json:"items"` Введите строку `json:"type"` Лимит int `json:"limit"` Смещение int `json:"смещение"` }
тип Структура ресурсов { CustomProperties customProperties `json:"custom_properties"` Встроенный Встроенный `json:"_embedded"` // содержит отфильтрованные или неэкспортированные поля }
тип структуры ResourcePatch { // Ресурс атрибутов пользователя // Поля структуры должны иметь тег `json` CustomProperties customProperties `json:"custom_properties"` }
тип структуры ResourceUploadLink { Строка OperationID `json:"operation_id"` Строка href `json:"href"` Строка метода `json:"method"` Шаблон bool `json:"шаблон"` }
тип Share struct { IsRoot bool `json:"is_root"` IsOwned bool `json:"is_owned"` Строка прав `json:"rights"` }
тип Token struct { Строка AccessToken }
Токен для доступа к Rest-API Яндекс. Диска
тип TrashEmbedded struct { Предметы []TrashResource `json:"items"` // содержит отфильтрованные или неэкспортированные поля }
тип структуры TrashResource { Встроенная корзинаEmbedded `json:"_embedded"` CustomProperties customProperties `json:"custom_properties"` Строка OriginPath `json:"origin_path"` Удалена строка `json:"deleted"` // содержит отфильтрованные или неэкспортированные поля }
тип Пользовательская структура { Строка страны `json:"country"` Строка входа `json:"login"` Строка DisplayName `json:"display_name"` Строка UID `json:"uid"` }
тип интерфейс ЯДиск { // Получить метаинформацию о пользовательском диске. GetDisk(fields []string) (d *Disk, e ошибка) // Очистить корзину. // // Если удаление происходит асинхронно, вернет ответ со статусом 202 и ссылкой на асинхронную операцию. // В противном случае будет возвращен ответ со статусом 204 и пустым телом. // // Если параметр пути не указан или указывает на корень корзины, // корзина будет полностью очищена, иначе из корзины будет удален только ресурс, на который указывает путь. ClearTrash(fields []string, forceAsync bool, path string) (l *Link, e error) // Получить содержимое корзины. GetTrashResource (строка пути, поля [] строка, ограничение int, смещение int, previewCrop bool, previewSize string, sort string) (r *TrashResource, e ошибка) // Восстановить ресурс из корзины. // // Если восстановление асинхронное, то вернет ответ с кодом 202 и ссылкой на асинхронную операцию. // В противном случае вернет ответ с кодом 201 и ссылкой на созданный ресурс. RestoreFromTrash(строка пути, строка []поля, логическое значение forceAsync, строка имени, логическое значение перезаписи) (l *Link, e ошибка) // Удалить файл или папку. // // По умолчанию удаляем ресурс в корзину. // Чтобы удалить ресурс, не помещая его в корзину, необходимо указать параметр Permanently = true. // // Если удаление происходит асинхронно, вернет ответ со статусом 202 и ссылкой на асинхронную операцию. // В противном случае будет возвращен ответ со статусом 204 и пустым телом. DeleteResource (строка пути, поля [] строка, forceAsync bool, строка md5, постоянно bool) (l *Link, e ошибка) // Получить метаинформацию о файле или каталоге.GetResource (строка пути, строка [] string, ограничение int, смещение int, previewCrop bool, previewSize string, sort string) (r *Resource, e ошибка) // Создать каталог. CreateResource(строка пути, поля []строка) (l *Link, e ошибка) // Обновить данные о ресурсах пользователя. UpdateResource(строка пути, поля []string, тело *ResourcePatch) (r *Resource, e ошибка) // Создать копию файла или папки. // // Если копирование происходит асинхронно, вернет ответ с кодом 202 и ссылкой на асинхронную операцию. // В противном случае вернет ответ с кодом 201 и ссылкой на созданный ресурс. CopyResource(из строки, строки пути, полей []string, forceAsync bool, overwrite bool) (l *Link, e error) // Переместить файл или папку. // // Если движение происходит асинхронно, вернет ответ с кодом 202 и ссылкой на асинхронную операцию. // В противном случае вернет ответ с кодом 201 и ссылкой на созданный ресурс. MoveResource(from string, path string, fields []string, forceAsync bool, overwrite bool) (l *Link, e error) // Получить ссылку для скачивания файла. GetResourceDownloadLink(строка пути, поля []строка) (l *Link, e ошибка) // Получить список файлов, отсортированный по имени. GetFlatFilesList(fields []string, limit int, mediaType string, offset int, previewCrop bool, previewSize string, sort string) (l *FilesResourceList, e ошибка) // Получить список файлов, упорядоченных по дате загрузки. GetLastUploadedFilesList(fields []string, limit int, mediaType string, previewCrop bool, previewSize string) (l *LastUploadedResourceList, e ошибка) // Получить список опубликованных ресурсов. // // Значение типа ресурса: "","каталог","файл". ListPublicResources(fields []string, limit int, offset int, previewCrop bool, previewSize string, resourceType string) (l *PublicResourcesList, e ошибка) // Публикация ресурса. PublishResource(строка пути, поля []строка) (l *Link, e ошибка) // Отменить публикацию ресурса. UnpublishResource(строка пути, поля []строка) (l *Link, e ошибка) // Загрузить файл на Диск по URL. // // Загрузка асинхронно. // // Поэтому в ответ на запрос возвращается ссылка на асинхронную операцию. UploadExternalResource (строка пути, строка externalURL, логическое значение disableRedirects, поля [] строка) (l *Link, e ошибка) // Получить ссылку на скачивание файла. GetResourceUploadLink(строка пути, поля []string, перезаписать логическое значение) (l *ResourceUploadLink, e ошибка) // Получить метаинформацию об общедоступном файле или каталоге. GetPublicResource (строка publicKey, строка [] fields, limit int, offset int, path string, previewCrop bool, previewSize string, sort string) (r *PublicResource, e ошибка) // Получаем ссылку для скачивания общедоступного ресурса. GetPublicResourceDownloadLink(строка publicKey, поля []string, строка пути) (l *Link, e ошибка) // Сохраняем общедоступный ресурс в папку «Загрузки». // // Если сохранение происходит асинхронно, вернет ответ с кодом 202 и ссылкой на асинхронную операцию. // В противном случае вернет ответ с кодом 201 и ссылкой на созданный ресурс. SaveToDiskPublicResource (строка publicKey, строка [] fields, forceAsync bool, строка имени, строка пути, строка savePath) (l *Link, e error) // Получить статус асинхронной операции. GetOperationStatus(operationID string, fields []string) (s *OperationStatus, e error) // Этот пользовательский метод для загрузки данных по ссылке. PerformUpload(ur *ResourceUploadLink, data *bytes.Buffer) (pu *PerformUpload, e ошибка) // Этот пользовательский метод для загрузки данных по ссылке. // //parts - количество порций для загрузки файла. длина/порции данных // // partSize — если partSize > 1e10, то partSize = 1e10 (максимальный размер загружаемого файла = 1e10) PerformPartialUpload(ur *ResourceUploadLink, data *bytes.Buffer, partSize int64) (pu *PerformUpload, e ошибка) }
func NewYaDisk(ctx context.Context, client *http.Client, token *Token) (YaDisk, ошибка)
Использование get_type_string в yandex-tank с примерами
Лучший фрагмент кода Python с использованием yandex-tank
GLib.py
Source:GLib.py
... 157 def __hash__(self): 158 # Мы не используем только хэш(self.unpack()), иначе у нас будет 9 0139 159 # коллизии хешей между одним и тем же контентом в разных типах вариантов, 160 # что вызовет проблемы с производительностью в set/dict/etc. 161 return hash((self. get_type_string (), self.unpack())) 162 def unpack(self): 163 '''Разложить GVariant на собственный объект Python.''' 164 LEAF_ACCESSORS = { 165 'b': self.get_boolean, 166 'y': self.get_byte, 167 'n': self.get_int16, 168 'к': self.get_uint16, 169 'i': self.get_int32, 170 'u': self.get_uint32, 171 'x': self.get_int64, 172 't': self.get_uint64, 9013 9 173 'ч' : self.get_handle, 174 'd': self.get_double, 175 's': self.get_string, 176 'o': self.get_string, # путь к объекту 177 'g': self. get_string, # подпись 178 } 179 # простые значения 180 la = LEAF_ACCESSORS.get(self. get_type_string ()) 181 if la: 182 return la() 183 # tu ple 184 если сам. get_type_string ().startswith('('): 185 res = [self.get_child_value(i). unpack() 186 for i in range(self.n_children())] 187 return tuple( рез) 188 # словарь 189 если сам. get_type_string ().startswith('a{'): 190 res = {} 191 для i в диапазоне (self.n_children()): 192 v = self.get_child_value(i) 193 9014 0 res[v.get_child_value(0).unpack()] = v.get_child_value(1).unpack() 194 return res 195 # массив 196 , если self. get_type_string ().startswith('a'): 197 return [self.get_child_value(i).unpack() 198 for i in range(self.n_children())] 199 # вариант (просто распаковать прозрачно) 200 если self. get_type_string ().startswith('v'): 201 return self.get_variant().unpack() 202 поднять NotImplementedError('неподдерживаемый тип GVariant' + self. get_type_string ()) 20 3 @ метод класса 204 def split_signature(klass, signal): 205 '''Возвращает список сигнатур элементов самого верхнего кортежа сигнатур. 206 Если подпись не является кортежем, возвращается один элемент со всей подписью 207 . Если подпись представляет собой пустой кортеж, результатом будет []. 208 209 Это полезно для e. г. перебор параметров метода, которые 210 передаются как один вариант. 211 ''' 212 если подпись == '()': 213 возврат [] 214 если не подпись.startswith('('): 215 возврат [подпись] 216 результат = [] 217 Head = '' 218 Хвост = подпись [1: -1] # съесть окружение () 219 В то время как хвост: 220 C = хвост 222 хвост = хвост[1:] 223 if c in ('m', 'a'): 224 # префиксы, продолжайте собирать соответствующий )/} 228 уровень = 1 229 вверх = c 230 если вверх == '(': 231 вниз = ')' 232 иначе: 233 901 40 вниз = '}' 234 while level > 0: 235 c = tail[0] 236 head += c 237 tail = tail[1:] 238 if c == up: 239 901 40 уровень += 1 240 elif c == down: 241 level -= 1 242 # иначе у нас будет простой тип 243 result. append(head) 244 head = '' 245 возвращаемый результат 246 # 247 # Pythonic-итераторы 248 # 249 0139 250 если самостоятельно. get_type_string () in ['s', 'o', 'g']: 251 return len(self.get_string()) 252 # Массив, словарь, кортеж 253 если self. get_type_string ().startswith('a') или сам. get_type_string ().startswith('('): 254 return self.n_children() 255 поднять TypeError('GVariant type %s не имеет длины' % self. get_type_string ()) 256 def __getitem__(self, key): 257 # дикт 258 если сам. get_type_string ().startswith('a{'): 259 try: 260 val = self.lookup_value(key, variant_type_from_string('*')) 261 если val равно None: 262 поднять KeyError(key) 263 return val.unpack() 264 кроме TypeError: 265 # lookup_value() работает только для строковых ключей, что, безусловно, 266 # общий случай; мы должны выполнить мучительную итерацию для других 267 # типов ключей 268 для i в диапазоне (self. n_children()): 269 v = self.get_child_value(i) 270 if v.get_child_value(0).unpack() == key: 271 return v.get_child_value(1).unpack() 272 поднять KeyError(key) 273 # массив/кортеж 274 901 40 если сам. get_type_string ().startswith('a') или сам. get_type_string ().startswith('('): 275 key = int(key) 276 if key < 0: 277 key = self.n_children() + key 278 , если ключ < 0 или ключ >= self.n_children(): 279 поднять IndexError('индекс списка вне диапазона') 280 return self.get_child_value(key).unpack() 281 # строка 282 если самостоятельно. get_type_string () in ['s', 'o', 'g']: 283 return self.get_string().__getitem__(key) 284 поднять TypeError('GVariant type %s is not a container' % себя. get_type_string ()) 285 # 286 # Питонические логические операции 287 # 288 def __nonzero__(self): 289 return self. __bool__() 9013 9 290 по умолчанию __bool__(self): 291 если себя. get_type_string () in ['y', 'n', 'q', 'i', 'u', 'x', 't', 'h', 'd']: 292 вернуть себя. unpack() != 0 293 , если self. get_type_string () в ['b']: 294 return self.get_boolean() 295 если самостоятельно. get_type_string () in ['s', 'o', 'g']: 296 return len(self.get_string()) != 0 297 # Массив, словарь, кортеж 298 если self. get_type_string ().startswith('a') или сам. get_type_string ().startswith('('): 299 return self.n_children() != 0 300 if self. get_type_string () in ['v']: 301 # распаковка работает рекурсивно , поэтому bool также работает рекурсивно 302 return bool(self.unpack()) 303 # Все остальное верно 304 return True 305 def keys(self): 306 если не self. get_type_string ().