src/ldtplatform/management/commands/importamateur.py
author bellierp
Thu, 13 Apr 2017 16:20:26 +0200
changeset 336 ff3b847c14a2
parent 335 c7a01f03c19c
child 337 6152504f5452
permissions -rw-r--r--
set contents order in title + add edition tag
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
     1
'''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
     2
Imports amateur.iri.centrepompidou.fr/nouveaumonde files to ldt.iri
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
     3
'''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
     4
import csv
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
     5
import re
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
     6
import sys
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
     7
import requests
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
     8
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
     9
from django.core.management.base import BaseCommand
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    10
from django.core import management
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    11
from lxml import etree
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    12
from django.db import connections
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    13
from ldt.ldt_utils import models
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    14
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    15
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    16
def create_source(iri_id):
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    17
    '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    18
    create .iri source
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    19
    '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    20
    return "https://media.iri.centrepompidou.fr/video/enmi/" + iri_id + ".mp4"
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    21
def create_iri_url(iri_url):
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    22
    '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    23
    create iri url
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    24
    '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    25
    return "http://amateur.iri.centrepompidou.fr" + iri_url
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    26
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    27
def create_title(edition, day, name, order, session):
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    28
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    29
    create title
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    30
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    31
    if re.match(r'....\_1', edition) or edition == '2009':
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    32
        event = "Prepa ENMI "
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    33
    else:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    34
        event = "ENMI "
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    35
    session += 1
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    36
    return event + edition[0:4] + " - " + str(day) + "." + str(session) + "." + str(order) + " - " + name
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    37
def create_name(fname, lname):
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    38
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    39
    create name
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    40
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    41
    if fname is None:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    42
        if lname is None:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    43
            return ""
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    44
        return lname
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    45
    if lname is None:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    46
        return fname
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    47
    return fname + " " + lname
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    48
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    49
def create_tmp(edition, title):
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    50
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    51
    create temp to check medias with two authors
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    52
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    53
    if re.match(r'....\_1', edition) or edition == '2009':
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    54
        length = 24
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    55
    else:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    56
        length = 18
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    57
    return title[0:length]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    58
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    59
def create_tag(edition):
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    60
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    61
    create name
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    62
    '''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    63
    if re.match(r'....\_1', edition) or edition == '2009':
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    64
        event = "prepaenmi"
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    65
    else:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    66
        event = "enmi"
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
    67
    return event + edition[0:4]
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    68
class Command(BaseCommand):
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    69
    '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    70
    command
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    71
    '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    72
    def add_arguments(self, parser):
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    73
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    74
        add arguments
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    75
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    76
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    77
        parser.add_argument('-i',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    78
                            '--pathin',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    79
                            dest='pathin',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    80
                            default=None
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    81
                           )
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    82
        parser.add_argument('-o',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    83
                            '--pathout',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    84
                            dest='pathout',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    85
                            default=None
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    86
                           )
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    87
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    88
    def get_duration(self, elem):
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    89
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    90
        get duration
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    91
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    92
        for element in self.mylist:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    93
            element[0] = element[0][:len(element[0])-1]
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    94
            if elem == element[0]:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    95
                element[1] = element[1][1:]
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    96
                root = etree.XML(element[1].encode('utf-8'), self.parser)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    97
                duration = root.xpath('format')[0].get('duration')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    98
                duration = duration[:7]
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
    99
                return duration
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   100
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   101
    def change_annotations(self, iriin, ldtout):
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   102
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   103
        change annotations
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   104
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   105
        rootout = etree.XML(ldtout.encode('utf-8'), self.parser)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   106
        rootin = etree.XML(iriin.encode('utf-8'), self.parser)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   107
        ensembles = rootin.xpath('body/ensembles/ensemble')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   108
        for ensemble in ensembles:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   109
            idens = ensemble.get("id")
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   110
            decoups = ensemble.xpath('decoupage')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   111
            rootout.xpath('annotations/content')[0].append(ensemble)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   112
            for decoup in decoups:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   113
                iddec = decoup.get("id")
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   114
                nouveaudecoup = '<decoupage idens=\"' + idens +'\" id=\"' + iddec +'\" tagsSelect=\"\"/>'
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   115
                nouveaudecxml = etree.fromstring(nouveaudecoup)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   116
                rootout.xpath('displays/display/content')[0].append(nouveaudecxml)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   117
        return etree.tostring(rootout)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   118
    def handle(self, *args, **options):
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   119
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   120
        handle command
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   121
        '''
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   122
        pathin = options['pathin']
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   123
        pathout = options['pathout']
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   124
        if not pathin or not pathout:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   125
            return "Error : specify path in and path out"
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   126
        try:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   127
            csvfile = open(pathin, 'r')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   128
            csvfile2 = open(pathout, 'wb')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   129
        except IOError:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   130
            self.stdout.write('file can\'t be opened')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   131
            return
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   132
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   133
        cursor = connections['default2'].cursor()
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   134
        cursor.execute('SELECT ct.iri_id, ct.iriurl, ct.creation_date, ct.description,\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   135
                        pj.ldt,\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   136
                        day._order,\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   137
                        edit.code,\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   138
                        pers.firstname, pers.lastname,\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   139
                        speak.order,\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   140
                        sess._order\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   141
                        FROM ldt_content AS ct\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   142
                        LEFT JOIN ldt_ldtproject_contents AS ctpj ON ct.id = ctpj.content_id\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   143
                        LEFT JOIN ldt_ldtproject AS pj ON ctpj.ldtproject_id = pj.id\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   144
                        LEFT JOIN conf_speak AS speak ON ct.id=speak.content_id\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   145
                        LEFT JOIN conf_session AS sess ON sess.event_ptr_id=speak.session_id\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   146
                        LEFT JOIN conf_day AS day ON sess.day_id=day.event_ptr_id\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   147
                        LEFT JOIN conf_edition AS edit ON day.edition_id=edit.event_ptr_id\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   148
                        LEFT JOIN conf_speak_speakers AS spkr ON speak.event_ptr_id=spkr.speak_id\
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   149
                        LEFT JOIN conf_person AS pers ON spkr.person_id=pers.id;'
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   150
                      )
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   151
        amateurdata = cursor.fetchall()
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   152
        reload(sys)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   153
        sys.setdefaultencoding('utf8')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   154
        self.parser = etree.XMLParser(encoding='utf-8')
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   155
        self.myfile = csv.reader(csvfile)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   156
        self.writefile = csv.writer(csvfile2)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   157
        self.mylist = list(self.myfile)
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   158
        titletmp = ''
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   159
        for mediaproj in amateurdata:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   160
            iri_id = mediaproj[0]
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   161
            mysource = create_source(iri_id)
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   162
            dayorder = mediaproj[5]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   163
            edition = mediaproj[6]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   164
            sessionorder = mediaproj[10]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   165
            speakorder = mediaproj[9]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   166
            firstname = mediaproj[7]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   167
            lastname = mediaproj[8]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   168
            if dayorder is None and edition is None:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   169
                title = iri_id
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   170
                fullname = ''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   171
                tag = iri_id
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   172
            else:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   173
                tag = create_tag(edition)
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   174
                fullname = create_name(firstname, lastname)
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   175
                title = create_title(edition, dayorder + 1, fullname, speakorder, sessionorder)
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   176
            try:
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   177
                mymedia = models.Media.objects.get(src=mysource)
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   178
                mycontent = models.Content.objects.get(media_obj_id=mymedia.id)
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   179
                thisregex = r"front project : " + titletmp + r".*"
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   180
                myproject = models.Project.objects.get(title__iregex=thisregex)
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   181
                myregex = r".*" + re.escape(fullname) + r".*"
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   182
                if not re.match(myregex, mycontent.title):
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   183
                    mycontent.title += " & "
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   184
                    mycontent.title += fullname
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   185
                    mycontent.save()
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   186
                    myproject.title += " & "
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   187
                    myproject.title += fullname
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   188
                    myproject.save()
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   189
                continue
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   190
            except (models.Media.MultipleObjectsReturned,
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   191
                    models.Content.MultipleObjectsReturned,
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   192
                    models.Project.MultipleObjectsReturned
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   193
                   ):
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   194
                continue
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   195
            except (models.Media.DoesNotExist,
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   196
                    models.Content.DoesNotExist,
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   197
                    models.Project.DoesNotExist
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   198
                   ):
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   199
                self.stdout.write('Media %s and Content %s will be created'%(iri_id, title))
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   200
            iriurl = mediaproj[1]
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   201
            if dayorder is None and edition is None:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   202
                titletmp = ''
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   203
            else:
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   204
                titletmp = create_tmp(edition, title)
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   205
            #TODO set creationdate
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   206
            #creationdate = mediaproj[2]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   207
            description = mediaproj[3]
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   208
            # ldt = mediaproj[4]
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   209
            myiriurl = create_iri_url(iriurl)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   210
            myiri = requests.get(myiriurl)._content
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   211
            duration = self.get_duration(mysource)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   212
            if requests.head(mysource).status_code == 200:
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   213
                management.call_command(
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   214
                    'createmediacontent',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   215
                    source=mysource,
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   216
                    title=title,
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   217
                    videopath='',
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   218
                    description=description,
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   219
                    duration=duration,
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   220
                    public=True,
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   221
                    creator='admin',
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   222
                    update=True,
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   223
                    tags=tag
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   224
                    )
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   225
                myfrontproj = models.Project.objects.get(title='front project : %s' % title)
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   226
                myfrontproj.ldt = self.change_annotations(myiri, myfrontproj.ldt)
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   227
                self.writefile.writerow([mysource,
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   228
                                         iri_id,
336
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   229
                                         models.Content.objects.get(title=title).iri_id,
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   230
                                         title,
ff3b847c14a2 set contents order in title + add edition tag
bellierp
parents: 335
diff changeset
   231
                                         myfrontproj.ldt_id,
335
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   232
                                        ])
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   233
                self.stdout.write("Project changed")
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   234
                myfrontproj.save()
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   235
        csvfile.close()
c7a01f03c19c add importamateur command
bellierp
parents:
diff changeset
   236
        csvfile2.close()