2011-05-02 80 views
2

我正在开发一个库,使用CMIS兼容存储作为后端(在我的情况下是Alfresco)。我非常想创建一个类似于Flask-SQLAlchemy和Django的“性感”API。问题是,我对Python中的这种高级编程很陌生。下面是一个使用这个库的想象方式:高级库和API设计

# 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() 

由于会有一个后端的整个对象模型我想每一个从模型继承使用相同的连接类,而无需显式地注册。

任何帮助,将不胜感激:)

回答

2

你已经采取了看看cmislib?这是用Python编写的用于CMIS的客户端API。它允许您使用Alfresco(或任何其他符合CMIS的存储库)中的对象。

该API为您提供“文档”和“文件夹”等对象。我认为你必须编写一些Django中间件来完成你正在尝试做的模型工作,但至少cmislib会使你不用编写与Alfresco的交互代码。

希望帮助,

杰夫

+0

我的藏书cmislib的封装允许类似Django的数据库对象模型。我使用cmislib来处理所有“背后”的东西:) – codehugger 2011-05-04 10:56:08