コード例 #1
0
    def get(self, owner_id):
        #get the list of devices owned by a particular user

        if not (session.get('logged_in') == True):
            return jsonify({
                'msg': "Session Expired. Pls login again.",
                'result': False
            })
        elif (session.get('logged_in') == True
              and session.get('user_id') != str(owner_id)):
            return jsonify({
                'msg': "Unauthorized Access Attempt",
                'result': False
            })

        devicelist = Device.getDevicesByOwner(owner_id)
        if (isinstance(devicelist, list)):
            devicelistofdicts = [device.toDict() for device in devicelist]
            response = {}
            response['devicelist'] = devicelistofdicts
            response['result'] = True
            return jsonify(response)
        else:
            response = {}
            response['msg'] = devicelist
            response['result'] = False
            return jsonify(response)
コード例 #2
0
    def get(self, owner_id):

        devicelist = Device.getDevicesByOwner(owner_id)
        if (isinstance(devicelist, str)):
            response = {}
            response['msg'] = devicelist
            response['result'] = False
            return jsonify(response)

        deviceidlist = [
            device.getid() for device in devicelist
            if device.getstate() == True
        ]
        if (deviceidlist == []):
            response = {}
            response['msg'] = "No Devices with ongoing Sessions found."
            response['result'] = False
            return jsonify(response)

        devicedatalist = {}
        for deviceid in deviceidlist:
            dbkey = "device:" + deviceid
            dbval = self.db.get(dbkey)
            if (dbval != None):
                devicedatalist[deviceid] = literal_eval(dbval)

        response = {}
        response['devicedatalist'] = devicedatalist
        response['result'] = True
        return jsonify(response)
コード例 #3
0
    def getBill(self, user_id):

        us = UserSetting.getSetting(user_id, 'lastbilldate')
        us_dict = us.toDict()
        lastbilldate = us_dict['value']

        print(lastbilldate)

        rows = Session.getEnergyConsumedPerDeviceByOwner(
            user_id, lastbilldate=lastbilldate)

        if (isinstance(rows, list)):
            totalenergyc_completedsessions = self.calcTotalEnergyConsumption(
                rows)
        else:
            totalenergyc_completedsessions = 0.0

        devicelist = Device.getDevicesByOwner(user_id)
        if (isinstance(devicelist, list)):
            activedevicelist = [
                device for device in devicelist if device.getstate() == True
            ]
            if (activedevicelist == []):
                totalenergyc_ongoingsessions = 0.0
            else:
                totalenergyc_ongoingsessions = 0.0
                for device in activedevicelist:
                    dbkey = "device:" + device.getid()
                    dbval = self.db.get(dbkey)
                    if (dbval != None):
                        devicertdata = literal_eval(dbval)
                        totalenergyc_ongoingsessions += devicertdata['energyc']

                        found = False
                        for i in range(len(rows)):
                            if (rows[i]['id'] == device.getid()):
                                rows[i]['rtenergyc'] = devicertdata['energyc']
                                found = True
                                break

                        if (found == False):
                            d = {}
                            d['id'] = device.getid()
                            d['name'] = device.getname()
                            d['rtenergyc'] = devicertdata['energyc']
                            rows.append(d)

        else:
            totalenergyc_ongoingsessions = 0.0

        print(rows)

        totalenergyc = totalenergyc_completedsessions + totalenergyc_ongoingsessions

        d = {}
        d['totalenergyc'] = totalenergyc
        d['totalenergyc_completedsessions'] = totalenergyc_completedsessions
        d['totalenergyc_ongoingsessions'] = totalenergyc_ongoingsessions
        d['devicelist'] = rows

        return d