1. Организация файлов¶
Для реализации программного интерфейса используется Python версии 3.2.2 (http://python.org/). Он поставляется вместе с дистрибутивом клиента Cerebro (https://cerebrohq.com/).
Также в поставку с дистрибутивом включены сторонние пакеты:
- psycopg2 – доступ к базе данных PostgreSQL (http://initd.org/psycopg/);
- PySide – разработка пользовательского интерфейса (http://www.pyside.org/);
- xlrd3 – чтение файлов формата Excel97 (http://pypi.python.org/pypi/xlrd3/);
- xlwt3 – запись в файлы формата Excel97 (http://pypi.python.org/pypi/xlwt3/);
- html2text – преобразование текста в формате HTML в обычный текст (https://github.com/aaronsw/html2text/).
Файлы программного интерфейса расположены в папке py-frontend. Python и сторонние пакеты расположены в папке py-site-packages. Обе папки находятся рядом с исполняемым файлом приложения Cerebro.
Примечание
В случае операционной системы Mac OS X эти папки могут располагаться как внутри контейнера Cerebro.app (Cerebro.app/Contents/MacOs/), так и рядом с ним. Сначала проверяются папки рядом с контейнером Cerebro.app. Это сделано для удобства хранения Python-модулей на сервере сразу для всех операционных систем. То есть, если у вас все исполняемые файлы Cerebro для всех ОС расположены на сервере в одной папке, то папки для Python-модулей будут находиться внутри неё в единственном экземпляре.
В папке py-frontend лежат шаблоны расширяемых модулей, пакет cerebro и пакет примеров examples.
Структура файлов Cerebro Python API на жестком диске:
Cerebro/
cerebro
py-frontend/
examples/
...
cerebro/
...
event.py.template
logoff.py.template
logon.py.template
menu.py.template
py-site-packages/
linux32/
...
linux64/
...
mac/
...
psycopg2/
...
win/
...
html2text.py
python32.zip
xlrd3.zip
xlwt3.zip
...
1.1. Где приложение ищет пользовательские модули¶
Пользовательские пакеты и модули по умолчанию ищутся:
- в корневой директории, рядом с исполняемым файлом приложения Cerebro;
- в папке py-frontend;
- в папке py-site-packages;
- в папках py-site-packages/linux32, py-site-packages/linux64, py-site-packages/mac и py-site-packages/win в зависимости от операционной системы.
Все пути для поиска можно посмотреть в переменной sys.path. Вы также можете добавить дополнительные пути поиска в эту переменную, но делать это нужно до импорта пакета/модуля, который расположен по этому пути.