zt50tz / yandex-connect Goto Github PK
View Code? Open in Web Editor NEWБиблиотека python для использования API Yandex connect / Яндекс коннект.
License: MIT License
Библиотека python для использования API Yandex connect / Яндекс коннект.
License: MIT License
Использовал JupyterLab, ядро 3.8
В base.py пришлось изменить encodestring на encodebytes (т.к. encodestring в 3 версии питона deprecated):
28 auth_base64 = base64.encodebytes(auth.encode()).decode("utf-8")
Возможно, поэтому (но это не точно) в directory.py в user_id_check() если user_id задан текстом, съедается последний символ. Исправил, тупо добавив пробел:
96 user_id = self.user_get_id_by_nickname(user_id+' ')
В документации об этом не написано, но есть еще буленовский флаг блокировки пользователя is_enabled, который в текущей версии библиотеки не обрабатывается. Чтобы все было хорошо, функция обновления пользователя надо чуточку изменить:
def user_upd(self, user_id, password=None, about=None, birthday=None, contacts=None, department_id=None, gender=None, is_admin=None, is_dismissed=None, name=None, secname=None, sername=None, position=None, is_enabled=None):
"""
Изменение сотрудника
:param user_id: ID сотрудника
:param password: пароль
:param about: описание
:param aliases: list, ['псевдоним1', ...]
:param birthday: datetime.date, день рождения
:param contacts: list, Контакты в типах яндекса, либо [tuple('type', 'value'), ...]
:param department_id: ID отдела, 1
:param gender: Пол — male|female
:param is_admin: bool, Администор
:param is_dismissed: bool, Увольнение
:param name: Имя
:param secname: Фамилия
:param sername: Отчество
:param position: Должность
:param is_enabled: bool, Блокировка
:url man: https://tech.yandex.ru/connect/directory/api/concepts/users/edit-user-docpage/
:return: yandex request dict — измененный сотрудник
"""
user_id = self.user_id_check(user_id)
data = inspect_args_func(currentframe())
self.prepare_name(data)
data['contacts'] = self.prepare_contacts(data['contacts'])
return self.request('users/%s' % user_id, data, method='patch')
На русских версиях Windows при установке возникает ошибка, потому что по умолчанию используется кодировка 1251
(venv) d:\YandexDisk\Python\WORK\GTMail\venv\Scripts>pip install yandex-connect
Collecting yandex-connect
Using cached https://files.pythonhosted.org/packages/99/e7/eafe4d1ce9fc8e8dc745a3b90fef97b2de07f630f852794c4f82261eadc
a/yandex_connect-0.25b0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "c:\TEMP\pip-install-fnelme13\yandex-connect\setup.py", line 8, in <module>
long_description = f.read()
File "C:\Program Files\Python37\lib\encodings\cp1251.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 3156: character maps to <undefined>
Лучше явно указывать кодировку при открытии файлов из setup.py. Например так:
long_description=open(join(dirname(__file__), 'README.md'), encoding="utf-8").read()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.