简单字典包装器

simpledict的Python项目详细描述


#simpledit

使基于文档的数据库的dict建模变得简单,并且具有最小的额外功能


*允许
*嵌入文档
*字段名最小化
*python属性
*一个python文件
*doctests-功能是单元测试的

misisng features

*无类型系统
*无验证-由开发人员自行添加。


python中提供此功能及更多功能的其他库

*[@j2lab'(http://twitter.com/j2lab s)[dictshield](../../j2labs/dictshield)-具有类型系统和更多的

pledict.dictionary):
field_user="u"
field_text="t"
field_count="c"
@property
def character_count():
return len(self.text)
``````

"OKIN"?
```


``python
``python
tweet-tweet-tweet-tweet-data=tweet.to_dict()
````

`````````
``python
``tweet=tweet=tweet(**tweet-tweet-data)
````
`
` ``python
`` tweet-tweet=tweet(**tweet-tweet-tweet-data)
```````````
喜欢最小化t字段名是指在传递给to-dict()方法的minimize=true值中定义的字段名。ry,例如:

`` python
最小化的tweet=tweet(**最小化的tweet=data)


断言(tweet.title==最小化的tweet.title,tweet.user==最小化的tweet.user)
````

属性

to_dict(properties={"count":none})


assert(tweet_data_props["count"]==tweet.count)
````

er):none})


assert(不是tweet_data.has_key("user"))
`````

```python


class user settings(dictionary):
field_color="c"
field_size="s"

class user(dictionary):
field_settings=("s",user settings)
field戋name="n"

`````

````python
import simpledit

class embeddedinnertest(simpledit.dictionary):
field`title="t"
field page="p"

类embeddedtest(simpledit.dictionary):
field title="t"
field author="a"
field目录=("o",列表,embeddedinnertest)

嵌入式数据={‘title’:‘嵌入式标题’,‘author’:‘嵌入式作者’,
"toc":[{'t'''t''t''t''t''t''t'''t'''t''t''t''t''t''t''t''t''t''t''t''t''t''t''t''t''t''t''t''p'''201}}
embeddeddeddeddeddeddeddeddedededtest(嵌入式数据)
嵌入式obj.author
>embeddedde嵌入式obj.toc[0].title
嵌入式obj.toc[1].title
>embe嵌入式obj.toc[1].title
[1].toc[1].toc[;MongoDB示例

``python
import simpledit
import pymongo


from pymongo import connection
connection=connection()
db=connection.main\u database


class user(simpledit.dictionary):

field\email="e"
field\password="p"

如果不是db或不是self.email或不是self.password:
raise exception()
db[self.u class_uu.u name_uuu.lower()].insert(self.to_dict(minimize=true))
返回self
````


,然后要在应用程序中使用此用户类并插入MongoDB,需要使用

``python
entry=model.user(email="robspychala@gmail.com",
密码="mysekr3t").insert()
entry_dict=entry.to_dict(minimize=false)
self.response.out.write(json.dumps({'success':true,'result':entry_dict},
default=simpledit.json_date_handler))
```

根据麻省理工学院许可证。

麻省理工学院许可证(麻省理工学院)版权所有(c)2012 Robert Spychala

但不限于使用、复制、修改、合并、发布、分发、再授权和/或出售软件副本的权利,以及允许向其提供软件的人员这样做的权利,但须符合以下条件:

我被包括在软件的所有副本或实质部分中。

在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼或其他诉讼中,由软件或软件的使用或其他交易引起的、由软件引起的或与之相关的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
连接Java Rest服务   为每个不工作的循环更改数组值   java如何在删除某个元素后重新绘制GUI?   java混淆了共享maven模块?   Java在2d数组中计算重复数   未从TomCat上的Jar文件加载java类   JavaFX SceneBuilder中的java每月概览   java对于参数类型double,Point2D,运算符*未定义。双重的   java错误:类AcceptedFriendAction中的构造函数AcceptedFriendAction无法应用于给定类型;   eclipse java如何限制文本字段?   java无法执行目标组织。阿帕奇。专家插件:mavencompilerplugin:3.8.1:编译   macos Java无法启动jar文件   spring java代理向上游应用程序传递请求   java如何解决:错误:任务“:app:kaptDebugKotlin”的执行失败?   java在构造函数中完成类的主要工作时有什么问题吗?