Skip to content

Commit af7a58a

Browse files
committed
refactorings
1 parent ecc52ec commit af7a58a

File tree

4 files changed

+64
-3
lines changed

4 files changed

+64
-3
lines changed

experiments/admin.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
class TaskInline(admin.TabularInline):
1010
model = Task
11-
extra = 1
11+
extra = 0
1212

1313

1414
class ExperimentInline(admin.TabularInline):
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from django.core.management.base import BaseCommand
4+
from experiments.models import Execution, Pause, Point, Task
5+
6+
7+
class Command(BaseCommand):
8+
help = 'Analyse data for areas of interest'
9+
10+
def handle(self, *args, **kwargs):
11+
tasks = Task.objects.filter(experiment__id=4)
12+
13+
for task in tasks:
14+
print "\n\n>> Analysing task %s" % task.description
15+
16+
executions = Execution.objects.filter(task__id=task.id)
17+
total_points = 0
18+
19+
for execution in executions:
20+
# print "Load points for execution %d" % execution.id
21+
22+
points = Point.objects.filter(
23+
datetime__range=(execution.start, execution.end),
24+
y__gte=task.area_of_interest_points[0],
25+
y__lte=task.area_of_interest_points[1]
26+
)
27+
28+
# exclude pause points
29+
for pause in execution.pause_set.all():
30+
points = points.exclude(datetime__range=(pause.start_time, pause.end_time))
31+
32+
total_points += len(points)
33+
34+
print total_points
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.11.26 on 2020-02-11 03:11
3+
from __future__ import unicode_literals
4+
5+
import django.contrib.postgres.fields
6+
from django.db import migrations, models
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('experiments', '0033_difficultlinesfeedback'),
13+
]
14+
15+
operations = [
16+
migrations.AddField(
17+
model_name='task',
18+
name='area_of_interest_image',
19+
field=models.ImageField(blank=True, null=True, upload_to=b'uploads/tasks/areas_of_interest'),
20+
),
21+
migrations.AddField(
22+
model_name='task',
23+
name='area_of_interest_points',
24+
field=django.contrib.postgres.fields.ArrayField(base_field=models.IntegerField(), blank=True, null=True, size=None),
25+
),
26+
]

experiments/models.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
# -*- coding: utf-8 -*-
2-
from __future__ import unicode_literals
3-
42
from datetime import datetime
53

64
from django.contrib.postgres.fields import ArrayField
@@ -73,6 +71,9 @@ class Task(BaseModel):
7371
)
7472
frame = models.IntegerField(choices=FRAME_CHOICES, blank=True, null=True)
7573
correct_answer = models.CharField(max_length=500, default='')
74+
area_of_interest_image = models.ImageField(upload_to='uploads/tasks/areas_of_interest', blank=True, null=True)
75+
area_of_interest_points = ArrayField(models.IntegerField(), blank=True, null=True)
76+
7677

7778
def __unicode__(self):
7879
return self.description

0 commit comments

Comments
 (0)