Skip to content

ASGAlex/openpsy-pyqt4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenPsy-pyqt4

Версия openpsy на PyQt4

Внимание! Версия в стадии разработки, поэтому стоит со снисхождениям относиться к возможным ошибкам и недоработкам!

ЧТО РАБОТАЕТ?

В настоящий момент работают тесты, идущие в поставке и механизм формирования шаблонов для быстрого написания кода нового теста.

ЧТО НЕ РАБОТАЕТ?

Не работает пользовательский интерфейс для интерактивного конструирования тестов без использования программирования. Не осуществлено портирование в Windows.

ПРОГРАММЫ, НЕОБХОДИМЫЕ ДЛЯ РАБОТЫ СИСТЕМЫ

Чтобя вся эта байдазаработала, нужно иметь на борту:

  1. GNU/Linux
  2. Python 2.6 (NOT 3!!!)
  3. PyQt4
  4. Qt4

КАК ПОЛЬЗОВАТЬСЯ?

  1. ЗАПУСК ТЕСТОВ
  • Проверьте, что у launcher.py стоит флаг "исполняемый". Или же стартуйте из консоли "$python ./launcher.py". Test_editor.py всё равно не работает, так что можно не заморачиваться.
  • Дальше в окне выбираем нужный тест и запускаем его.

З.Ы.: если вы закрыли тест на середине тестирования, а потом открыли снова (не закрывая окна), то он возникнет перед вами в том же состоянии, в котором был в момент закрытия. Я пытался бороться с этим, но потом решил провозгласить этот глюк фичей, так что вотЪ.

  1. СОЗДАНИЕ ТЕСТОВ

ВНИМАНИЕ: для того, чтобы уметь самому создать новый тест, нужно знать основы python и, как следствие, основы программирования, так что имейте ввиду. В разработке ж. Граический редактор "Teaport", чьё название кагбэ намекает на уровень предполагаемого пользователя, ещё не дописан, так что увы.

  • Открываем терминал в папке "tests"

  • Командой "$python ./MAKE_TEST.py <Имя_теста>" создаём необходимые файлы для нового теста. В результате в каталоге появится новый файл <Имя_теста>.py и новая папка <Имя_теста>. В файле <Имя_теста>.py нужно будет указать алгоритмы рассчета результатов тестирования, алгоритм вывода результатов пользователю и алгоритм отрисовки графика. Правила, по которым составляются алгоритмы, а также некоторые полезные функции, облегчающие жизнь, указаны в файле в качестве комментариев. В папке <Имя_тестов> находятся текстовые файлы, в которых нужно указать такие данные, как инструкция испытуемому, списов вопросов и список ответов на вопросы, баллы, зачисляющиеся за каждый ответ, и т.п. В каждом файле имеется подробное описание его назначнения и формата, в котором необходимо вводить данные.

  • Если увас уже есть какой-либо готовый шаблон для генерации нового теста, вы можете указать его при формировании файлов следующим образом: "$python ./MAKE_TEST.py <Имя_теста> -t <папка_с_шаблонами>". В папке с шаблонами могут находиться все или некоторые из текстовых файлов, помещемых в папку с именем теста. Вместо параметра "-t" можно также использовать "--template" - это если вдруг читатель в танке.

    Зачем нужна эта возможность? Представьте, что вы хотите создать несколько тестов и выпустить их под одинаковой лицензией, с указанием имени одного и того же автора и очень похожими файлами помощи. В таком случае, вместо того, чтобы несколько раз вводить одни и те же данные, можно просто указать их в качестве шаблона для новых тестов. Андерстенд?..

  • Наконец, можно открывать файлыи начинать ввод/редактирование данных. Ваш новоиспеченный тест автоматически опознается при запуске launcher.py. Удачи!

СТРУКТУРА КАТАЛОГОВ И МОДУЛЕЙ

Для любителей копаться в исходниках дяю вводный инструктаж.

  • classes - основные классы приложения, наследуемые нашими самописными тестами.
    • alg - содержит алгоритмы без графических интерфейсов.
      • visual - функции рисования графиков/гистрограмм
      • TestDescriptor - недописанный пока класс, призваный рассчитывать результаты тестов, формировать текст интерпретации и отрисовывать графики на основе одного алгоритма, избавляя пользователя тем самым от написания кода. Является основой для будующего рдактора тестов. Тест NCHL уже работает на его основе, хотя я не уверен, что правильно...
    • launcher - основа для окна запуска тестов. Ничего особенного.
    • teaport - базовые классы для редактора тестов. Тут пока всё туманно и изменчиво, так что воздержусь от описания, тем более что сам уже ничего не помню.
    • tests - базовые классы для окна тестов. Сбор ответов на вопросы, нажатия кнопочек, окна справки, и т.п. - всё это тут.
  • icons - иконки к тестам
  • tests - наши самописные (пользовательские) тесты

ПОРТИРОВАНИЕ В WINDOWS

В принципе портирование не является таким уж сложным, однако я не принимался за него, желая сначала дописать редактор тестов "для чайников", отладить всё и уже потом, имея рабочую стабильную Linux-версию, перегонять её под маздай. В принципе, ничего страшного, если сделать это на данном этапе. Портировние, по сути, будет сведено к реорганизации структуры модулей, поскольку в Linux и Windows пути к ним видятся по-разному. Окромя же расположения файлов и папок, а также содержания строк "from <бла-бла-бла> inport *" ничего не изменится.

НАПОСЛЕДОК

Итак, если увас всё ещё есть вопросы - что ж, пишите. Если у вас есть предложения (ПРЕДЛОЖЕНИЯ, не фантазии!) - пишите тем более. Кроме того, позвольте выразить надежду, что чтение мануала доставляет не менее самих тестов =) Искренне ваш...

About

Версия openpsy на PyQt4

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published