Difference between revisions of "Python: п≈п╟п©я─п╬я│я▀ п╨ п╠п╟п╥п╣ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧"

From EjudgeWiki
(Редактирование данных)
(removed)
(Tag: Replaced)
 
(41 intermediate revisions by the same user not shown)
Line 1: Line 1:
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Расширение]]/[[Доступ к ejudge из программ на Питоне]]/[[Python: Работа с базой пользователей]]/[[Python: Запросы к базе пользователей]].
+
[[Category:Deleted]]
 
 
=== Получение информации о пользователях ===
 
 
 
==== privListAllUsers ====
 
 
 
Метод privListAllUsers позволяет получить список всех пользователей в базе пользователей.
 
str = clnt.privListAllUsers()
 
При ошибке выбрасывается исключение IOError. При успехе возвращается строка str, содержащая список всех пользователей в формате XML.
 
 
 
==== privListContestUsers ====
 
 
 
Метод privListContestUsers позволяет получить список всех пользователей, зарегистрированных на заданный турнир.
 
str = clnt.privListContestUsers([[Python:contest_id|contest_id]])
 
При ошибке выбрасывается исключение IOError. При успехе возвращается строка str, содержащая список всех пользователей в формате XML.
 
 
 
==== privGetContestUsers ====
 
 
 
Метод privGetContestUsers позволяет получить полную информацию о всех пользователях, зарегистрированных на заданный турнир.
 
str = clnt.privGetContestUsers([[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 либо глобальный, либо для данного турнира.
 
 
 
=== Создание новых пользователей ===
 
 
 
==== privCreateUser ====
 
 
 
Метод privCreateUser позволяет создать нового пользователя в базе пользователей.
 
user_id = clnt.privCreateUser([[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.
 
 
 
==== privMoveMember ====
 
 
 
Метод privMoveMember позволяет изменить роль у указанного члена команды.
 
clnt.privDeleteMember([[Python:user_id|user_id]], [[Python:contest_id|contest_id]], [[Python:serial|serial]], [[Python:role|new_role]])
 
При ошибке выбрасывается исключение IOError.
 

Latest revision as of 15:38, 16 December 2021