Расширенный дизайн библиотеки и API - PullRequest
2 голосов
/ 02 мая 2011

Я разрабатываю библиотеку, которая использует CMIS-совместимое хранилище в качестве внутреннего (в моем случае Alfresco). Я бы очень хотел создать «сексуальный» API, похожий на Flask-SQLAlchemy и Django. Проблема в том, что я новичок в таком продвинутом программировании на Python. Вот воображаемый способ использования этой библиотеки:

# Here is the connector that does the actual request to the CMIS server
c = CMISConnector('url', 'username', 'password')

# Here I declare the model with the desired property fields. A model
# can be either a folder or a document in Alfresco
class SomeModel(c.Model):
    name = c.Property('cmis:name')

# Some query and create examples...
foo = SomeModel.query.first(name='John Doe')
print foo.name
bar = SomeModel(name='Jane Doe')
bar.save()

Поскольку для всей объектной модели будет один бэкэнд, я хочу, чтобы каждый класс, унаследованный от Model, использовал одно и то же соединение без явной регистрации.

Любая помощь будет высоко ценится:)

1 Ответ

2 голосов
/ 03 мая 2011

Вы смотрели на cmislib ?Это клиентский API для CMIS, написанный на Python.Он позволяет вам работать с объектами в Alfresco (или любом другом CMIS-совместимом хранилище).

API предоставляет такие объекты, как «Документ» и «Папка».Я думаю, что вам нужно написать некоторое промежуточное программное обеспечение Django, чтобы выполнить то, что вы пытаетесь сделать с моделью, но, по крайней мере, cmislib избавит вас от кодирования взаимодействия с Alfresco.

Надеюсь, это поможет,

Jeff

...