Skip to main content

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-1.0.1584793409.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file MDocument-1.0.1584793409.tar.gz.

File metadata

  • Download URL: MDocument-1.0.1584793409.tar.gz
  • Upload date:
  • Size: 4.5 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

Hashes for MDocument-1.0.1584793409.tar.gz
Algorithm Hash digest
SHA256 6d14acaa784b24edf7ebe85272501b60dee871527c8fd8dab4d1794110201e11
MD5 6dee3692f5e1aa084293ea990362ffed
BLAKE2b-256 9b3069fbbd4504ad0e3367f2a4db7a8b908b29d92e9e0aaf5d7340a5ea883d56

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page