blob: d76573033a6cb9240a34e7b2ca608af9ce905e04 (
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 sbhs_server.admin.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})
|