forked from rc/aircox
new management tool: add
This commit is contained in:
@ -1,2 +1,76 @@
|
||||
from django.shortcuts import render
|
||||
from django.shortcuts import render
|
||||
from django.core.serializers.json import DjangoJSONEncoder
|
||||
from django.utils import timezone, dateformat
|
||||
|
||||
import programs.models as models
|
||||
import programs.settings
|
||||
|
||||
|
||||
|
||||
class EventList:
|
||||
type = None
|
||||
next = None
|
||||
prev = None
|
||||
at = None
|
||||
count = None
|
||||
|
||||
|
||||
def __init__ (self, **kwargs):
|
||||
self.__dict__ = kwargs
|
||||
if kwargs:
|
||||
self.get_queryset()
|
||||
|
||||
|
||||
def get_queryset (self):
|
||||
events = models.Event.objects;
|
||||
|
||||
if self.next: events = events.filter( date_end__ge = timezone.now() )
|
||||
elif self.prev: events = events.filter( date_end__le = timezone.now() )
|
||||
else: events = events.all()
|
||||
|
||||
events = events.extra(order_by = ['date'])
|
||||
if self.at: events = events[self.at:]
|
||||
if self.count: events = events[:self.count]
|
||||
|
||||
self.events = events
|
||||
|
||||
|
||||
def raw_string():
|
||||
"""
|
||||
Return a string with events rendered as raw
|
||||
"""
|
||||
res = []
|
||||
for event in events:
|
||||
r = [ dateformat.format(event.date, "Y/m/d H:i:s")
|
||||
, str(event.type)
|
||||
, event.parent.file.path
|
||||
, event.parent.file.url
|
||||
]
|
||||
|
||||
res.push(' '.join(r))
|
||||
|
||||
return '\n'.join(res)
|
||||
|
||||
|
||||
def json_string():
|
||||
import json
|
||||
|
||||
res = []
|
||||
for event in events:
|
||||
r = {
|
||||
'date': dateformat.format(event.date, "Y/m/d H:i:s")
|
||||
, 'date_end': dateformat.format(event.date_end, "Y/m/d H:i:s")
|
||||
, 'type': str(event.type)
|
||||
, 'file_path': event.parent.file.path
|
||||
, 'file_url': event.parent.file.url
|
||||
}
|
||||
|
||||
res.push(json.dumps(r))
|
||||
|
||||
return '\n'.join(res)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user