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

This version

0.4

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)

Uploaded Source

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

Hashes for MDocument-0.4.tar.gz
Algorithm Hash digest
SHA256 9982cd23e5c8fced85d7394f65b9c513d70b6512dd2ca9030f03376b835572af
MD5 aeeca7f405374b7e8878c8da82cf544b
BLAKE2b-256 d43d82959f7c9d322f6a07cfe085d4488c7c99af1d8245fc695dae8f33fce6c7

See more details on using hashes here.

Provenance

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