]> git.parisson.com Git - telemeta.git/commitdiff
add old non-versioned nyuad process script
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Thu, 8 Apr 2021 22:31:59 +0000 (00:31 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Thu, 8 Apr 2021 22:34:13 +0000 (00:34 +0200)
telemeta/management/commands/telemeta-process-nyuad-corpus.py [new file with mode: 0644]

diff --git a/telemeta/management/commands/telemeta-process-nyuad-corpus.py b/telemeta/management/commands/telemeta-process-nyuad-corpus.py
new file mode 100644 (file)
index 0000000..48a6257
--- /dev/null
@@ -0,0 +1,60 @@
+from optparse import make_option
+from django.conf import settings
+from django.core.management.base import BaseCommand, CommandError
+from django.contrib.auth.models import User
+from telemeta.models import *
+import datetime, time, calendar, itertools
+import numpy as np
+
+
+SECOND = 1
+MINUTE = SECOND * 60
+HOUR = MINUTE * 60
+DAY = HOUR * 24
+MONTH = DAY * 30
+
+
+class Command(BaseCommand):
+
+    help = "log items from the NYUAD project"
+
+    option_list = BaseCommand.option_list + (
+          make_option('-l', '--logfile',
+            dest='log_file',
+            help='log file'),
+    )
+
+
+    year = 2019
+    month = 11
+    day = 11
+    username = nyuad
+
+
+    def process(self, item, log):
+        log.write(item.collection.code + '/' + item.code + '\n')
+
+    def handle(self, *args, **kwargs):
+        log = open(kwargs['log_file'], 'w')
+        limit_date = datetime.datetime(self.year-51, self.month, self.day)
+
+        pub_items = MediaItem.objects.filter(recorded_from_date__lte=limit_date).select_related('collection')
+
+        for item in pub_items:
+            self.process(item, log)
+
+        user = User.objects.get(username=self.username)
+        playlists = playlists.objects.filter(user=user)
+
+        for playlist in playlists:
+            for resource in playlist.resources.all():
+                if resource.resource_type == 'item':
+                    item = MediaItem.objects.get(id=resource.resource_id)
+                    self.process(item, log)
+                elif resource.resource_type == 'collection':
+                    collection = MediaCollection.objects.get(id=resource.resource_id)
+                    for item in collection.items.all():
+                        self.process(item, log)
+
+        log.close()
+