diff --git a/dmapp/dmweb/dm.py b/dmapp/dmweb/dm.py index 0fb400d..339f246 100644 --- a/dmapp/dmweb/dm.py +++ b/dmapp/dmweb/dm.py @@ -1,7 +1,65 @@ -from flask import Blueprint +from flask import Blueprint, render_template +from pymongo import MongoClient +from pprint import pprint +import datetime +import pytz + +client = MongoClient() +db = client.deskmeter +switches = db.switch + + +dmbp = Blueprint("deskmeter", __name__, url_prefix="/", template_folder='templates') -dmbp = Blueprint("deskmeter", __name__, url_prefix="/") @dmbp.route("/") def index(): - return "Hello, World!" + """ + Show total time used in each desktop for today + """ + + bsas = pytz.timezone("Etc/GMT-0") + + start = datetime.datetime.today().replace(hour=0, + minute=0, + second=0, + tzinfo=bsas) + + + end = datetime.datetime.today().replace (hour=23, + minute=59, + second=59, + tzinfo=bsas) + + + pipe = [ {'$match': { 'date' : {"$gte": start, "$lt": end}} }, + {'$group': { '_id':"$workspace",'totals': {'$sum': '$delta'}}}, + {'$sort': { "_id": 1}}] + + rows = [] + for total in switches.aggregate(pipeline=pipe): + rows.append( {"ws" : total["_id"], + "total": str(datetime.timedelta(seconds=total["totals"]))}) + + + return render_template("pages.html", rows=rows) + + + +@dmbp.route("/totals") +def totals(): + """ + Show total time used in each desktop for all time + """ + + + pipe = [{'$group': {'_id':"$workspace",'totals': {'$sum': '$delta'}}}, + {'$sort': { "_id": 1}}] + + rows = [] + for total in switches.aggregate(pipeline=pipe): + rows.append( {"ws" : total["_id"], + "total": str(datetime.timedelta(seconds=total["totals"]))}) + + print(rows) + return render_template("pages.html", rows=rows) \ No newline at end of file diff --git a/dmapp/dmweb/templates/layout.html b/dmapp/dmweb/templates/layout.html new file mode 100644 index 0000000..ec210e8 --- /dev/null +++ b/dmapp/dmweb/templates/layout.html @@ -0,0 +1,14 @@ + +
+ + + +{% block content %} +{% endblock %} + + + + + + + \ No newline at end of file diff --git a/dmapp/dmweb/templates/pages.html b/dmapp/dmweb/templates/pages.html new file mode 100644 index 0000000..1d65793 --- /dev/null +++ b/dmapp/dmweb/templates/pages.html @@ -0,0 +1,16 @@ +{% extends 'layout.html' %} + +{% block content %} + +| {{ row["ws"] }} | +{{ row["total"] }} | +