Skip to content

Commit f2678ab

Browse files
committed
Fix in doc
1 parent 3b46d63 commit f2678ab

14 files changed

Lines changed: 428 additions & 10 deletions

File tree

docsite/components.d.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,12 @@ export {}
99
declare module 'vue' {
1010
export interface GlobalComponents {
1111
DefaultSidebar: typeof import('./src/components/sidebars/DefaultSidebar.vue')['default']
12-
DispatchRoutePy: typeof import('./src/components/python/DispatchRoutePy.vue')['default']
1312
'IEva:arrowBackOutline': typeof import('~icons/eva/arrow-back-outline')['default']
14-
'IFa6Brands:github': typeof import('~icons/fa6-brands/github')['default']
1513
'IFaBrands:github': typeof import('~icons/fa-brands/github')['default']
1614
'IFaSolid:moon': typeof import('~icons/fa-solid/moon')['default']
1715
'IFaSolid:sun': typeof import('~icons/fa-solid/sun')['default']
18-
'INoto:crocodile': typeof import('~icons/noto/crocodile')['default']
19-
'IPh:caretDownBold': typeof import('~icons/ph/caret-down-bold')['default']
20-
'IPh:caretRightBold': typeof import('~icons/ph/caret-right-bold')['default']
21-
PythonSidebar: typeof import('./src/components/sidebars/PythonSidebar.vue')['default']
22-
RenderMd: typeof import('./src/components/markdown/RenderMd.vue')['default']
23-
RenderMdPy: typeof import('./src/components/python/RenderMdPy.vue')['default']
24-
RenderPyDocstring: typeof import('./src/components/python/RenderPyDocstring.vue')['default']
2516
RouterLink: typeof import('vue-router')['RouterLink']
2617
RouterView: typeof import('vue-router')['RouterView']
27-
StaticPyCodeBlock: typeof import('./src/components/python/StaticPyCodeBlock.vue')['default']
2818
TheHeader: typeof import('./src/components/TheHeader.vue')['default']
2919
TheSidebar: typeof import('./src/components/TheSidebar.vue')['default']
3020
}

docsite/src/assets/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Django Mqueue
2+
3+
Events queue application for Django. Features:
4+
5+
- **Monitor models**: models can be registered to autogenerate events on create/update/delete actions
6+
- **Export events**: save events to Redis or send them over websockets
7+
8+
:books: Read the [documentation](/)
9+
10+
Example:
11+
12+
```python
13+
MEvent.objects.create(name="Test event", event_class="test", data={"k":"v"})
14+
```
15+
16+
Events can be linked to a model instance and a user instance.
17+
18+
![Event queue screenshot](https://raw.github.com/synw/django-mqueue/master/docsite/src/assets/screenshot.png)
19+
20+
## Real time events demo
21+
22+
A websockets demo: [django-mqueue-livefeed](https://github.com/synw/django-mqueue-livefeed) is available
23+
24+
## Documentation
25+
26+
- [Get started](/get_started)
27+
- [Install](/get_started/install)
28+
- [Basics](/get_started/basics)
29+
- [Events](/events)
30+
- [Parameters](/events/parameters)
31+
- [Fields autoguess](/events/fields_autoguess)
32+
- [Query events](/events/query_events)
33+
- [Model events](/model_events)
34+
- [Registered models](/model_events/registered_models)
35+
- [Watchers](/model_events/watchers)
36+
- [Post processing](/post_processing)
37+
- [Model callbacks](/post_processing/model_callbacks)
38+
- [Hooks](/post_processing/hooks)
39+
- [Hooks](/post_processing/hooks)
40+
- [Redis](/post_processing/hooks/redis)
41+
- [Centrifugo](/post_processing/hooks/centrifugo)
42+
- [Custom](/post_processing/hooks/custom)
43+
- [Extra](/extra)
44+
- [Livefeed](/extra/livefeed)
45+
- [Logs handler](/extra/logs_handler)
46+
- [Graphical settings](/extra/graphical_settings)
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import json
2+
from django.forms.models import model_to_dict
3+
from django.contrib.auth.models import User
4+
from mqueue.models import MEvent
5+
6+
user, _ = User.objects.get_or_create(username="someuser", password="xxxyyyzzz")
7+
8+
MEvent.objects.create(name = 'A user event', instance=user, bucket="autoguess_test")
9+
10+
for event in list(
11+
MEvent.objects.events_for_model(User).filter(bucket="autoguess_test")
12+
):
13+
print(json.dumps(model_to_dict(event), indent=4))
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from django.db import models
2+
from django.contrib.auth import get_user_model
3+
4+
USER_MODEL = get_user_model()
5+
6+
class MyModel(models.Model):
7+
name = models.CharField(max_length=120)
8+
user = models.ForeignKey(
9+
USER_MODEL,
10+
null=True,
11+
blank=True,
12+
related_name="+",
13+
on_delete=models.SET_NULL,
14+
)
15+
16+
def get_event_object_url(self) -> str:
17+
return f"/some/url/{self.name}"
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from mqueue.models import MEvent
2+
from myapp.models import MyModel
3+
4+
obj = MyModel.objects.get(x="y")
5+
6+
MEvent.objects.create(
7+
name = obj.title,
8+
event_class = 'Info',
9+
bucket = "bucket_name",
10+
data = {"foo": "bar"},
11+
scope = "users",
12+
model = MyModel,
13+
obj_pk =obj.pk,
14+
instance = obj,
15+
user = request.user,
16+
url ='/anything/'+obj.slug+'/',
17+
admin_url ='/admin/app/model/'+str(obj.pk)+'/',
18+
notes = 'Object X was saved!',
19+
request = request,
20+
groups = [group1]
21+
)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import json
2+
from django.forms.models import model_to_dict
3+
from django.contrib.auth.models import Group
4+
from mqueue.models import MEvent
5+
6+
MEvent.objects.create(name = 'A group event', model=Group)
7+
MEvent.objects.create(name = 'A group event', model=Group)
8+
9+
for event in list(
10+
MEvent.objects.events_for_model(Group)
11+
):
12+
print(f"- {event}")
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import json
2+
from django.forms.models import model_to_dict
3+
from django.contrib.auth.models import Group, User
4+
from mqueue.models import MEvent
5+
6+
g1, _ = Group.objects.get_or_create(name="g1")
7+
g2, _ = Group.objects.get_or_create(name="g2")
8+
9+
MEvent.objects.create(name = 'A group event', instance=g1)
10+
MEvent.objects.create(name = 'A group event', instance=g1)
11+
MEvent.objects.create(name = 'A group event', instance=g2)
12+
13+
print("Events for group 1:")
14+
for event in list(
15+
MEvent.objects.events_for_object(g1)
16+
):
17+
print(f" - {event}")
18+
19+
print("Events for group 2:")
20+
for event in list(
21+
MEvent.objects.events_for_object(g2)
22+
):
23+
print(f" - {event}")
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from mqueue.models import MEvent
2+
3+
MEvent.objects.create(
4+
name = 'An event',
5+
event_class="Info",
6+
bucket="bucket1",
7+
data= [1, 2],
8+
notes="special"
9+
)
10+
11+
events = MEvent.objects.filter(
12+
event_class="Info",
13+
bucket="bucket1",
14+
notes="special"
15+
)
16+
17+
event = events[0]
18+
print(f" - {event.event_class} {event.name} {event.data}")
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from django.utils import timezone
2+
from mqueue.models import MEvent
3+
4+
now = timezone.now()
5+
MEvent.objects.create(name = 'Event now')
6+
events = MEvent.objects.filter(date_posted__gte=now)
7+
for event in events:
8+
print(event)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from mqueue.models import MEvent
2+
3+
MEvent.objects.create(name = 'Event 1', event_class="Info")
4+
MEvent.objects.create(name = 'Event 2', event_class="Warning")
5+
MEvent.objects.create(name = 'Event 3', event_class="Error")
6+
events = MEvent.objects.all()
7+
for event in events:
8+
print(event.event_class, event)

0 commit comments

Comments
 (0)