def projector_info(request, id): projector = get_object_or_404(Projector, pk=id) controller = PJLinkController(projector.pjlink_host, projector.pjlink_port, projector.pjlink_password) try: if request.REQUEST.get('power', None) == PJLinkProtocol.POWER_ON_STATUS: controller.power_on() elif request.REQUEST.get('power', None) == PJLinkProtocol.POWER_OFF_STATUS: controller.power_off() if request.REQUEST.get('mute', None) == PJLinkProtocol.ON: controller.set_mute(PJLinkProtocol.VIDEO_MUTE_ON) elif request.REQUEST.get('mute', None) == PJLinkProtocol.OFF: controller.set_mute(PJLinkProtocol.VIDEO_MUTE_OFF) except: logging.exception('Could not control the projector') audio_mute, video_mute = controller.query_mute() info = ProjectorInfo(controller.query_power(), controller.query_name(), controller.query_manufacture_name(), controller.query_product_name(), controller.query_other_info(), audio_mute, video_mute) for lamp in controller.query_lamps(): info.lamps.append(LampInfo(lamp[0], lamp[1])) return HttpResponse(dehydrate_to_xml(info), content_type="text/xml")
def projector(request, id): projector = get_object_or_404(Projector, pk=id) return HttpResponse(dehydrate_to_xml(projector), content_type="text/xml")
def bacnet_light(request, id): light = get_object_or_404(BACNetLight, pk=id) return HttpResponse(dehydrate_to_xml(light), content_type="text/xml")
def ab_device(request, id): device = get_object_or_404(ABDevice, pk=id) return HttpResponse(dehydrate_to_xml(device.wrap()), content_type="text/xml")
def ab_group(request, id): group = get_object_or_404(ABChannelGroup, pk=id) return HttpResponse(dehydrate_to_xml(group.wrap()), content_type="text/xml")
def latest_photo(request, artcam_id): photos = ArtcamPhoto.objects.filter(artcam__id=artcam_id) if len(photos) == 0: raise Http404 return HttpResponse(dehydrate_to_xml(photos[0]) + IMAGE_COMMENT, content_type="text/xml")
def photo(request, artcam_id, photo_id): photo = get_object_or_404(ArtcamPhoto, pk=photo_id) if photo.artcam.id != int(artcam_id): raise Http404 return HttpResponse(dehydrate_to_xml(photo) + IMAGE_COMMENT, content_type="text/xml")
def artcam(request, id): artcam = get_object_or_404(Artcam, pk=id) return HttpResponse(dehydrate_to_xml(artcam), content_type="text/xml")