#python #api #cmis
#python #API #cmis
Вопрос:
Я разрабатываю библиотеку, которая использует CMIS-совместимое хранилище в качестве серверной части (в моем случае на открытом воздухе). Я бы очень хотел создать «сексуальный» API, подобный 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:
Вы ознакомились с cmislib? Это клиентский API для CMIS, написанный на Python. Это позволяет вам работать с объектами в Alfresco (или любом другом репозитории, совместимом с CMIS).
API предоставляет вам такие объекты, как «Документ» и «Папка». Я думаю, вам пришлось бы написать некоторое промежуточное программное обеспечение Django, чтобы выполнить то, что вы пытаетесь сделать в модели, но, по крайней мере, cmislib избавит вас от кодирования взаимодействия с Alfresco.
Надеюсь, это поможет,
Джефф
Комментарии:
1. Моя библиотека представляет собой инкапсуляцию cmislib, позволяющую создавать модели, аналогичные объектам базы данных django. Я использую cmislib для всего «стоящего» материала 🙂