summaryrefslogtreecommitdiff
path: root/webcam/views.py
blob: 18f82f57e207310ebb74146b72e5e8bc7de16f76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
import os, requests
from sbhs_server import settings
from django.http import HttpResponse
from myadmin.views import checkadmin
from sbhs_server.tables.models import Board
# Create your views here.
# 

def load_image(mid):
# for images on server 15, it will gstream the photos on reload
    if int(mid) in range(8,17):
    	command = "streamer -q -f jpeg -c /dev/video" + str(mid)
    	command += " -o " + settings.WEBCAM_DIR + "/image" + str(mid) + ".jpeg" 
    	os.system(command)

    else:
	take_snapshot = requests.get("http://10.102.152.16:8080/webcams/%d/take_snapshot" % int(mid))
        get_image_link = "http://10.102.152.16:8080/webcams/%d/get_image_data"  % int(mid)
        
        command = "curl -s %s > %s/image%d.jpeg" % (get_image_link, str(settings.WEBCAM_DIR), int(mid))
        os.system(command)
def reload(req, mid):

    load_image(mid)
    return HttpResponse("")

@login_required(redirect_field_name=None)
def show_video(req):
    board = req.user.board

    image_link = board.image_link()
    mid = str(board.mid)    

#	image_link = board.image_link()

    return render(req, "webcam/show_video.html", {"image_link": image_link, "mid": mid})


@login_required(redirect_field_name=None)
def show_video_to_admin(req, mid):
    checkadmin(req)
    board = Board.objects.get(mid=int(mid))
    image_link = board.image_link()
    mid = str(board.mid)
    return render(req, "webcam/show_video.html", {"image_link": image_link, "mid": mid})