huscy.data-acquisition-methods.questionnaire 0.2.0a4__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,9 @@
1
+ from django.apps import AppConfig
2
+
3
+
4
+ class HuscyApp(AppConfig):
5
+ default_auto_field = 'django.db.models.BigAutoField'
6
+ name = 'huscy.data_acquisition_methods.questionnaire'
7
+
8
+ class HuscyAppMeta:
9
+ pass
@@ -0,0 +1,34 @@
1
+ import django.db.models.deletion
2
+ from django.db import migrations, models
3
+
4
+
5
+ def create_data_acquisition_method_type(apps, schema_editor):
6
+ DataAcquisitionMethodType = apps.get_model('project_design', 'DataAcquisitionMethodType')
7
+
8
+ DataAcquisitionMethodType.objects.create(
9
+ name='Questionnaire',
10
+ short_name='questionnaire',
11
+ )
12
+
13
+
14
+ def delete_data_acquisition_method_type(apps, schema_editor):
15
+ DataAcquisitionMethodType = apps.get_model('project_design', 'DataAcquisitionMethodType')
16
+
17
+ DataAcquisitionMethodType.objects.filter(short_name='questionnaire').delete()
18
+
19
+
20
+
21
+ class Migration(migrations.Migration):
22
+
23
+ initial = True
24
+
25
+ dependencies = [
26
+ ('project_design', '0001_initial'),
27
+ ]
28
+
29
+ operations = [
30
+ migrations.RunPython(
31
+ create_data_acquisition_method_type,
32
+ delete_data_acquisition_method_type,
33
+ ),
34
+ ]
@@ -0,0 +1,23 @@
1
+ # from django.db import models
2
+ # from django.utils.translation import gettext_lazy as _
3
+
4
+ # from huscy.project_design.models import DataAcquisitionMethod
5
+
6
+
7
+ # def get_upload_path(instance, filename):
8
+ # project_id = instance.data_acquisition_method.session.experiment.project.id
9
+ # return f'projects/{project_id}/data_acquisition_methods/questionnaires/{filename}'
10
+
11
+
12
+ # class Questionnaire(models.Model):
13
+ # data_acquisition_method = models.OneToOneField(DataAcquisitionMethod,
14
+ # on_delete=models.CASCADE,
15
+ # editable=False)
16
+
17
+ # name = models.CharField(_('Name'), max_length=255)
18
+
19
+ # filehandle = models.FileField(upload_to=get_upload_path, max_length=255,
20
+ # verbose_name=_('Filehandle'))
21
+
22
+ # uploaded_at = models.DateTimeField(auto_now_add=True, editable=False)
23
+ # uploaded_by = models.CharField(max_length=255, editable=False)
@@ -0,0 +1,26 @@
1
+ # from rest_framework import serializers
2
+
3
+ # from huscy.data_acquisition_methods.questionnaire.models import Questionnaire
4
+ # from huscy.data_acquisition_methods.questionnaire.services import update_questionnaire
5
+
6
+
7
+ # class QuestionnaireSerializer(serializers.ModelSerializer):
8
+
9
+ # class Meta:
10
+ # model = Questionnaire
11
+ # fields = (
12
+ # 'data_acquisition_method',
13
+ # 'filehandle',
14
+ # 'name',
15
+ # 'uploaded_at',
16
+ # 'uploaded_by',
17
+ # )
18
+ # read_only_fields = 'data_acquisition_method', 'uploaded_at'
19
+
20
+ # def update(self, questionnaire, validated_data):
21
+ # return update_questionnaire(
22
+ # data_acquisition_method=questionnaire.data_acquisition_method,
23
+ # name=validated_data['name'],
24
+ # filehandle=validated_data['filehandle'],
25
+ # user=self.context['request'].user,
26
+ # )
@@ -0,0 +1,23 @@
1
+ # from .models import Questionnaire
2
+
3
+
4
+ # def get_questionnaires(session):
5
+ # return (Questionnaire.objects.filter(data_acquisition_method__session=session)
6
+ # .order_by('data_acquisition_method__order'))
7
+
8
+
9
+ # def update_questionnaire(data_acquisition_method, name, filehandle=None, user=None):
10
+ # if Questionnaire.objects.filter(data_acquisition_method=data_acquisition_method).exists():
11
+ # questionnaire = Questionnaire.objects.get(data_acquisition_method=data_acquisition_method)
12
+ # questionnaire.name = name
13
+ # questionnaire.save()
14
+ # else:
15
+ # assert filehandle is not None
16
+ # assert user is not None
17
+ # questionnaire = Questionnaire.objects.create(
18
+ # data_acquisition_method=data_acquisition_method,
19
+ # filehandle=filehandle,
20
+ # name=name,
21
+ # uploaded_by=user,
22
+ # )
23
+ # return questionnaire
@@ -0,0 +1,13 @@
1
+ # from django.urls import path
2
+
3
+ # from . import views
4
+
5
+
6
+ urlpatterns = (
7
+ # path(
8
+ # ('api/projects/<project_pk>/experiments/<experiment_pk>/sessions/<session_pk>/'
9
+ # 'data-acquisition-methods/<pk>/questionnaire/'),
10
+ # views.QuestionnaireDetailView.as_view(),
11
+ # name='questionnaire-detail',
12
+ # ),
13
+ )
@@ -0,0 +1,31 @@
1
+ # from django.shortcuts import get_object_or_404
2
+ # from rest_framework.generics import UpdateAPIView
3
+ # from rest_framework.permissions import IsAuthenticated
4
+
5
+ # from huscy.data_acquisition_methods.questionnaire.models import Questionnaire
6
+ # from huscy.data_acquisition_methods.questionnaire.serializer import QuestionnaireSerializer
7
+ # from huscy.project_design.models import DataAcquisitionMethod
8
+
9
+
10
+ # class QuestionnaireDetailView(UpdateAPIView):
11
+ # permission_classes = IsAuthenticated,
12
+ # serializer_class = QuestionnaireSerializer
13
+
14
+ # def initial(self, request, *args, **kwargs):
15
+ # self.data_acquisition_method = get_object_or_404(
16
+ # DataAcquisitionMethod.objects.select_related('session__experiment__project'),
17
+ # session__experiment__project=self.kwargs['project_pk'],
18
+ # session__experiment=self.kwargs['experiment_pk'],
19
+ # session=self.kwargs['session_pk'],
20
+ # pk=self.kwargs['pk'],
21
+ # )
22
+ # self.session = self.data_acquisition_method.session
23
+ # self.experiment = self.session.experiment
24
+ # self.project = self.experiment.project
25
+ # return super().initial(request, *args, **kwargs)
26
+
27
+ # def get_object(self):
28
+ # questionnaire, _ = Questionnaire.objects.get_or_create(
29
+ # data_acquisition_method=self.data_acquisition_method
30
+ # )
31
+ # return questionnaire
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.4
2
+ Name: huscy.data-acquisition-methods.questionnaire
3
+ Version: 0.2.0a4
4
+ Project-URL: Homepage, https://bitbucket.org/huscy/data_acquisition_methods.questionnaire
5
+ Author-email: Stefan Bunde <stefanbunde+git@posteo.de>
6
+ License-Expression: AGPL-3.0-or-later
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: Framework :: Django
9
+ Classifier: Framework :: Django :: 5.2
10
+ Classifier: Framework :: Django :: 6.0
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Programming Language :: Python :: 3.14
20
+ Requires-Dist: huscy-project-design
21
+ Provides-Extra: development
22
+ Requires-Dist: psycopg2-binary; extra == 'development'
23
+ Provides-Extra: testing
24
+ Requires-Dist: tox; extra == 'testing'
25
+ Requires-Dist: watchdog; extra == 'testing'
26
+ Description-Content-Type: text/markdown
27
+
28
+ # huscy.data-acquisition-methods.questionnaire
@@ -0,0 +1,13 @@
1
+ huscy/data_acquisition_methods/questionnaire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ huscy/data_acquisition_methods/questionnaire/apps.py,sha256=B0BmkKll13VfZkd_J8ib0O8a9dcsd3j4M5WWuC6H0I8,216
3
+ huscy/data_acquisition_methods/questionnaire/models.py,sha256=5k6tjCX-PpUst23QrRrmc_ITZGxVRBldnkIrC-nQA4A,982
4
+ huscy/data_acquisition_methods/questionnaire/serializer.py,sha256=-_5N6GYCFlxqNr-VGEy9COM52Zm3vpHEsXXQp6u8XHc,909
5
+ huscy/data_acquisition_methods/questionnaire/services.py,sha256=ro7MWlVWlReIi9qk0MSL2HXaROWguvUsgH8qhDNLMT8,930
6
+ huscy/data_acquisition_methods/questionnaire/urls.py,sha256=dIxEIEsuKPB8Alug80QWuSgsZC2M-2N8IG76DEulvbs,335
7
+ huscy/data_acquisition_methods/questionnaire/views.py,sha256=tzdhjjWOYS_otncwi_GOLFoV1KbObdo15hZKF2OZWFQ,1402
8
+ huscy/data_acquisition_methods/questionnaire/migrations/.gitignore,sha256=_GjUdggsjw_fsouMGKC3Q_MUMkGgs9jWrvaVKCSsIZM,6
9
+ huscy/data_acquisition_methods/questionnaire/migrations/0001_initial.py,sha256=qHga91fCcs24oC6nlHylRBfK0s4lrJLB9IW6sQewFV8,891
10
+ huscy/data_acquisition_methods/questionnaire/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ huscy_data_acquisition_methods_questionnaire-0.2.0a4.dist-info/METADATA,sha256=zE45ThkwjczhhKgTISGLvlJ5nsNPW-LTzjpsMEF1MJA,1190
12
+ huscy_data_acquisition_methods_questionnaire-0.2.0a4.dist-info/WHEEL,sha256=VX-VJ7c6dw9Ge3EqJIbA6W3pOUbz24SnnGGFNr55jY4,105
13
+ huscy_data_acquisition_methods_questionnaire-0.2.0a4.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.30.1
3
+ Root-Is-Purelib: true
4
+ Tag: py2-none-any
5
+ Tag: py3-none-any