def devices_list(): try: search = False q = request.args.get('q') if q: search = True try: page = int(request.args.get('page', 1)) except ValueError: page = 1 devices_count = Device.devices_count() pagination = Pagination(page=page, per_page=15, total=devices_count, css_framework='bootstrap3', search=search, record_name='devices') devices_datas = [] devices = Device.get_devices(current_user, page, per_page=15) for o in devices: data = {} data['device_id'] = o.id data['mac'] = o.mac data['eui'] = o.eui data['garbage_can'] = o.garbage_can d = o.datas.order_by(desc(Data.create_time)).first() if d: data['occupancy'] = d.occupancy data['temperature'] = d.temperature data['electric_level'] = d.electric_level else: data['occupancy'] = 0 data['temperature'] = 0 data['electric_level'] = 0 devices_datas.append(data) return render_template('devices/devices_list.html', devices_datas=devices_datas, pagination=pagination) except TemplateNotFound: abort(404)