Coder Social home page Coder Social logo

zt50tz / yandex-connect Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 5.0 24 KB

Библиотека python для использования API Yandex connect / Яндекс коннект.

License: MIT License

Python 100.00%
python yandex yandex-connect yandex-directory

yandex-connect's People

Contributors

alexeevnick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

yandex-connect's Issues

Небольшие доработки

Использовал 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 (блокировка пользователя)

В документации об этом не написано, но есть еще буленовский флаг блокировки пользователя 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 7 RUS

На русских версиях 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()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.