|   |     | 
| (44 intermediate revisions by the same user not shown) | 
| Line 1: | Line 1: | 
| − | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Расширение]]/[[Доступ к ejudge из программ на Питоне]]/[[Python: Работа с базой пользователей]]/[[Python: Запросы к базе пользователей]].
 | + | [[Category:Deleted]] | 
| − |   |  | 
| − | === Получение информации о пользователях ===
 |  | 
| − |   |  | 
| − | ==== listAllUsers ====
 |  | 
| − |   |  | 
| − | Метод listAllUsers позволяет получить список всех пользователей в базе пользователей.
 |  | 
| − |  str = clnt.listAllUsers()
 |  | 
| − | При ошибке выбрасывается исключение IOError. При успехе возвращается строка str, содержащая список всех пользователей в формате XML.
 |  | 
| − |   |  | 
| − | ==== listContestUsers ====
 |  | 
| − |   |  | 
| − | Метод listContestUsers позволяет получить список всех пользователей, зарегистрированных на заданный турнир.
 |  | 
| − |  str = clnt.listContestUsers([[Python:contest_id|contest_id]])
 |  | 
| − | При ошибке выбрасывается исключение IOError. При успехе возвращается строка str, содержащая список всех пользователей в формате XML.
 |  | 
| − |   |  | 
| − | ==== getContestUsers ====
 |  | 
| − |   |  | 
| − | Метод getContestUsers позволяет получить полную информацию о всех пользователях, зарегистрированных на заданный турнир.
 |  | 
| − |  str = clnt.getContestUsers([[Python:contest_id|contest_id]])
 |  | 
| − | При ошибке выбрасывается исключение IOError. При успехе возвращается строка str, содержащая информацию о пользователях в формате XML.
 |  | 
| − |   |  | 
| − | ==== getUserInfo ====
 |  | 
| − |   |  | 
| − | Метод getUserInfo позволяет получить информацию о пользователе, авторизованном на данном подключении к серверу. Метод доступен непривилегированным пользователям.
 |  | 
| − |  str = clnt.getUserInfo([[Python:contest_id|contest_id]])
 |  | 
| − | При ошибке выбрасывается исключение IOError. При успехе возвращается строка str, содержащая информацию о пользователях в формате XML.
 |  | 
| − |   |  | 
| − | ==== privGetUserInfo ====
 |  | 
| − |   |  | 
| − | Метод privGetUserInfo позволяет получить информацию о произвольном пользователе. Метод доступен только привилегированным пользователям.
 |  | 
| − |  str = clnt.privGetUserInfo([[Python:user_id|user_id]], [[Python:contest_id|contest_id]])
 |  | 
| − | При ошибке выбрасывается исключение IOError. При успехе возвращается строка str, содержащая информацию о пользователях в формате XML.
 |  | 
| − |   |  | 
| − | При получении общей информации (contest_id равен 0) у пользователя, выполняющего запрос, должен быть установлен глобальный бит полномочий GET_USER. При получении информации о турнире (contest_id больше 0) у пользователя, выполняющего запрос, должен быть установлен бит полномочий GET_USER либо глобальный, либо для данного турнира.
 |  | 
| − |   |  | 
| − | === Создание новых пользователей ===
 |  | 
| − |   |  | 
| − | ==== createUser ====
 |  | 
| − |   |  | 
| − | Метод createUser позволяет создать нового пользователя в базе пользователей.
 |  | 
| − |  user_id = clnt.createUser([[Python:login|login]])
 |  | 
| − | login - это регистрационное има создаваемого пользователя. Логин может быть равен пустой строке или None, в этом случае логин для создаваемого пользователя будет сгенерирован автоматически по шаблону New_login, New_login_2 ...
 |  | 
| − | При ошибке выбрасывается исключение IOError. При успехе возвращается идентификатор нового пользователя.
 |  | 
| − |   |  | 
| − | Метод доступен только привилегированным пользователям, для которых установлен глобальный бит полномочий CREATE_USER.
 |  | 
| − |   |  | 
| − | === Редактирование данных ===
 |  | 
| − |   |  | 
| − | ==== privEditField ====
 |  | 
| − |   |  | 
| − | Метод privEditField позволяет изменить поля данных пользователей.
 |  | 
| − |  clnt.privEditField([[Python:user_id|user_id]], [[Python:contest_id|contest_id]], [[Python:serial|serial]], [[Python:field_str|field_str]], [[Python:value|value]])
 |  | 
| − | При ошибке выбрасывается исключение IOError.
 |  | 
| − |   |  | 
| − | ==== privDeleteField ====
 |  | 
| − |   |  | 
| − | Метод privDeleteField позволяет сбросить значение указанного поля.
 |  | 
| − |  clnt.privDeleteField([[Python:user_id|user_id]], [[Python:contest_id|contest_id]], [[Python:serial|serial]], [[Python:field_str|field_str]])
 |  | 
| − | При ошибке выбрасывается исключение IOError.
 |  | 
| − |   |  | 
| − | ==== privCopyUserInfo ====
 |  | 
| − |   |  | 
| − | Метод privCopyUserInfo позволяет скопировать регистрационные данные пользователя из одного турнира в другой.
 |  | 
| − |  clnt.privCopyUserInfo([[Python:user_id|user_id]], [[Python:contest_id|contest_id_from]], [[Python:contest_id|contest_id_to]])
 |  | 
| − | При ошибке выбрасывается исключение IOError.
 |  | 
| − |   |  | 
| − | ==== privCreateMember ====
 |  | 
| − |   |  | 
| − | Метод privCreateMember позволяет создать члена команды.
 |  | 
| − |  clnt.privCreateMember([[Python:user_id|user_id]], [[Python:contest_id|contest_id]], [[Python:role|role]])
 |  | 
| − | При ошибке выбрасывается исключение IOError.
 |  | 
| − |   |  | 
| − | FIXME: нужно возвращать serial созданного члена команды.
 |  | 
| − |   |  | 
| − | ==== privDeleteMember ====
 |  | 
| − |   |  | 
| − | Метод privDeleteMember позволяет удалить члена команды.
 |  | 
| − |  clnt.privDeleteMember([[Python:user_id|user_id]], [[Python:contest_id|contest_id]], [[Python:serial|serial]])
 |  | 
| − | При ошибке выбрасывается исключение IOError.
 |  |