Showing
4 changed files
with
11 additions
and
59 deletions
api/migrations/0001_initial.py
deleted
100644 → 0
1 | -# Generated by Django 3.1.2 on 2020-11-13 10:30 | ||
2 | - | ||
3 | -from django.db import migrations, models | ||
4 | -import django.utils.timezone | ||
5 | - | ||
6 | - | ||
7 | -class Migration(migrations.Migration): | ||
8 | - | ||
9 | - initial = True | ||
10 | - | ||
11 | - dependencies = [ | ||
12 | - ] | ||
13 | - | ||
14 | - operations = [ | ||
15 | - migrations.CreateModel( | ||
16 | - name='Device', | ||
17 | - fields=[ | ||
18 | - ('rfid_id', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
19 | - ('created', models.DateTimeField(default=django.utils.timezone.now)), | ||
20 | - ], | ||
21 | - ), | ||
22 | - migrations.CreateModel( | ||
23 | - name='Door', | ||
24 | - fields=[ | ||
25 | - ('door_id', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
26 | - ], | ||
27 | - ), | ||
28 | - migrations.CreateModel( | ||
29 | - name='History', | ||
30 | - fields=[ | ||
31 | - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||
32 | - ('device_name', models.CharField(max_length=255)), | ||
33 | - ('ctrtime', models.DateTimeField(default=django.utils.timezone.now)), | ||
34 | - ], | ||
35 | - ), | ||
36 | - migrations.CreateModel( | ||
37 | - name='Lock', | ||
38 | - fields=[ | ||
39 | - ('id', models.IntegerField(primary_key=True, serialize=False)), | ||
40 | - ('state', models.BooleanField(default=True)), | ||
41 | - ], | ||
42 | - ), | ||
43 | - migrations.CreateModel( | ||
44 | - name='Record', | ||
45 | - fields=[ | ||
46 | - ('id', models.IntegerField(primary_key=True, serialize=False)), | ||
47 | - ('recording', models.BooleanField(default=True)), | ||
48 | - ], | ||
49 | - ), | ||
50 | - migrations.CreateModel( | ||
51 | - name='Video', | ||
52 | - fields=[ | ||
53 | - ('vid_name', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
54 | - ('created', models.DateTimeField(default=django.utils.timezone.now)), | ||
55 | - ], | ||
56 | - ), | ||
57 | - ] |
... | @@ -13,6 +13,7 @@ class Device(models.Model) : | ... | @@ -13,6 +13,7 @@ class Device(models.Model) : |
13 | class Video(models.Model) : | 13 | class Video(models.Model) : |
14 | vid_name = models.CharField(max_length = 255, primary_key = True) | 14 | vid_name = models.CharField(max_length = 255, primary_key = True) |
15 | created = models.DateTimeField(default = timezone.now) | 15 | created = models.DateTimeField(default = timezone.now) |
16 | + vid_time = models.CharField(max_length = 255) | ||
16 | thumb = models.CharField(max_length = 255) | 17 | thumb = models.CharField(max_length = 255) |
17 | 18 | ||
18 | class Lock(models.Model) : | 19 | class Lock(models.Model) : | ... | ... |
... | @@ -34,10 +34,14 @@ def record() : | ... | @@ -34,10 +34,14 @@ def record() : |
34 | # take a video | 34 | # take a video |
35 | camera.resolution = [320, 240] | 35 | camera.resolution = [320, 240] |
36 | camera.start_preview() | 36 | camera.start_preview() |
37 | + | ||
37 | now = datetime.datetime.now() | 38 | now = datetime.datetime.now() |
39 | + start_time = time.time() | ||
40 | + | ||
38 | vid_name = now.strftime('%Y%m%d-%H%M%S') | 41 | vid_name = now.strftime('%Y%m%d-%H%M%S') |
39 | vid_path = path + '/' + vid_name + '.h264' | 42 | vid_path = path + '/' + vid_name + '.h264' |
40 | thumbnail_path = path + '/' + vid_name + '.jpg' | 43 | thumbnail_path = path + '/' + vid_name + '.jpg' |
44 | + | ||
41 | camera.start_recording(output=vid_path) | 45 | camera.start_recording(output=vid_path) |
42 | time.sleep(1) | 46 | time.sleep(1) |
43 | camera.capture(thumbnail_path) | 47 | camera.capture(thumbnail_path) |
... | @@ -46,6 +50,9 @@ def record() : | ... | @@ -46,6 +50,9 @@ def record() : |
46 | time.sleep(2) | 50 | time.sleep(2) |
47 | camera.stop_recording() | 51 | camera.stop_recording() |
48 | camera.stop_preview() | 52 | camera.stop_preview() |
53 | + | ||
54 | + rec_time = time.time() - start_time | ||
55 | + vid_time = rec_time.strftime("%H:%M:%S") | ||
49 | 56 | ||
50 | # s3 upload | 57 | # s3 upload |
51 | ''' | 58 | ''' |
... | @@ -56,7 +63,8 @@ def record() : | ... | @@ -56,7 +63,8 @@ def record() : |
56 | uploadVideo = {} | 63 | uploadVideo = {} |
57 | uploadVideo['vid_name'] = vid_name | 64 | uploadVideo['vid_name'] = vid_name |
58 | uploadVideo['created'] = now | 65 | uploadVideo['created'] = now |
59 | - uploadVideo['thumb'] = 'http://' + S3_STORAGE_BUCKET_NAME + 's3.ap-northeast-2.amazonaws.com/' + vid_name + '_thumb' | 66 | + uploadVideo['vid_time'] = vid_time |
67 | + uploadVideo['thumb'] = S3_ACCESS_URL + vid_name + '_thumb' | ||
60 | serializer = VideoSerializer(data = uploadVideo) | 68 | serializer = VideoSerializer(data = uploadVideo) |
61 | serializer.save() | 69 | serializer.save() |
62 | ''' | 70 | ''' | ... | ... |
... | @@ -64,7 +64,7 @@ class VideoDownload(APIView) : | ... | @@ -64,7 +64,7 @@ class VideoDownload(APIView) : |
64 | if not download_url : | 64 | if not download_url : |
65 | raise ObjectDoesNotExist | 65 | raise ObjectDoesNotExist |
66 | res = { | 66 | res = { |
67 | - 's3_link' : download_url | 67 | + 's3link' : download_url |
68 | } # 응답 코드에 보낼 데이터 | 68 | } # 응답 코드에 보낼 데이터 |
69 | return Response(res, status = status.HTTP_200_OK) | 69 | return Response(res, status = status.HTTP_200_OK) |
70 | except FieldDoesNotExist as error : | 70 | except FieldDoesNotExist as error : | ... | ... |
-
Please register or login to post a comment