Simple DRM for motor client
Project description
Simple DRM for async mongo motor client
Usage
import asyncio
from MDocument import Document
class Comment(Document):
__collection__ = "comments"
class Video(Document):
__collection__ = "videos"
@Document.lazy_property(self_field="_id", other_field="video")
def comments(self):
return Comment
loop = asyncio.get_event_loop()
Document.setup(loop, "localhost", "test_database")
video = loop.run_until_complete(Video.create(
title="Test",
))
comment1 = loop.run_until_complete(Comment.create(
video=video._id,
message="First!",
))
comment2 = loop.run_until_complete(Comment.create(
video=video._id,
message="Second!"
))
Now we can easily access our comments using our lazy property
print(loop.run_until_complete(video.comments))
[
Comment(_id=5e7533d55eb6a8c6d24d3cc7, video=5e7533d55eb6a8c6d24d3cc6, message=First!),
Comment(_id=5e7533d55eb6a8c6d24d3cc8, video=5e7533d55eb6a8c6d24d3cc6, message=Second!)
]
Play from console
If you want changes made from console immediately you can use update_immediately argument
video = await Video.create(update_immediately=True,
title="Test")
video.length = "1:10"
Now we can find that original document was changed
print(await Video.collection.find_one({"length": "1:10"}))
{'_id': ObjectId('5e75373e5eb6a8c6d24d3cce'), 'title': 'Test', 'length': '1:10'}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
MDocument-0.4.tar.gz
(4.2 kB
view details)
File details
Details for the file MDocument-0.4.tar.gz
.
File metadata
- Download URL: MDocument-0.4.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9982cd23e5c8fced85d7394f65b9c513d70b6512dd2ca9030f03376b835572af |
|
MD5 | aeeca7f405374b7e8878c8da82cf544b |
|
BLAKE2b-256 | d43d82959f7c9d322f6a07cfe085d4488c7c99af1d8245fc695dae8f33fce6c7 |