简单字典包装器

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第三方库


热门话题
线程“main”com4j中的java异常。执行例外:com4j。ComException:80040154 CoCreateInstance失败:类未注册:。\com4j。cpp   java如何中和HTTP头中的CRLF序列   java从单个对象以及对象集合中提取任何属性值   java如何在找到某个条目名称时转换/修改映射列表中的嵌套映射?   java如何使用RxJava/RxAndroid在OnNext中引发异常   java在查询之间更新SQL数据库?   java什么是将两个类合并为一个类,其中一个类是另一个类的子类?   java Kill应用程序每次进入后台   spring security如何转换web。java melody的java配置的xml代码   java卡夫卡启用。汽车commit false与commitSync()结合使用   Java数组从长数组中获取特定字节   java将子类对象分配给超类引用的逻辑目的或用途   sql Java隐藏从数据库检索的空值   使用mockito或Jmockit的java模拟私有静态最终字段   Java Apache HttpClient EnityUtils块   java HQL查询将使用Hibernate二级缓存   java检查是否选中复选框,是否使用Selenium   java如何在Android上逐个填充/显示语言的字母表