You are here: Foswiki>Gnumed Web>GmManualHooksFrameworkRu (29 Jan 2013, IvanLykov)EditAttach

Использование обработчиков, чтобы GNUmed делал то, что нужно

В различных точках рабочего процесса (например, сразу после активации пациента) GNUmed может вызывать сценарий, чтобы разрешить вам настройку происходящего. Он и мощен и, возможно, опасен: можно через GNUmed делать почти все, что вы хотите - но злоумышленник также может найти дыру в эксплуатации, которая послужит для злодеяний. Однако, GNUmed принял некоторые меры предосторожности, чтобы вообще предотвратить скриптового малыша или подражателя E7EET haxxor.

Документация, поставляемая с пакетом, содержит примерный сценарий hook_script_example.py, имеющий ряд примеров для некоторых известных обработчиков.

Вы всегда можете узнать точно версию ваших обработчиков из поддержки GNUmed через запуск GNUmed с --debug (или отметьте поле отладки [x] включенным в окне системного входа) и затем посмотрите лог-файл.

Сценарий обработчика

Сценарий ~/.gnumed/scripts/hook_script.py вызывается для всех обработчиков, поэтому имеется единый сценарий для действий обработчика каждого пользователя.

Этот файл сценария должен соответствовать следующим условиям:

  • должен принадлежать пользователю, запустившему GNUmed
  • должен иметь набор малых разрешений 100600 (- rw- --- ---)
  • должен иметь функцию Python на уровне модуля run_script(hook=None)

GNUmed затем импортирует этот файл и выполнит функцию run_script() в разное время. Единственный аргумент, передаваемый в эту функцию, называется hook. Он удержит фактическое имя обработчика, из которого был вызван сценарий. Таким образом, может приниматься соответствующее действие, зависящее от того, из какого обработчика вызывается сценарий. Он может сделать затем довольно много из того, что Python может сделать в рамках GNUmed - включая выяснение, какие пользователи запущены, как и какое рабочее место он вызвал.

Учтите, что некоторые обработчики могут быть вызваны до или после того, как доступен графический интерфейс wxPython.

Известные обработчики

Учтите, что некоторые обработчики могут быть еще недоступны в текущей изданной версии.
Topic revision: 29 Jan 2013, IvanLykov
 
Download.png
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback
Powered by Olark