From b5cebd6af1445d33ebc71e8e22fdf650b7fb4ce7 Mon Sep 17 00:00:00 2001 From: yomguy Date: Sun, 30 Dec 2012 23:17:41 +0100 Subject: [PATCH] locale, testimonial date, import previews --- teleforma/locale/fr/LC_MESSAGES/django.mo | Bin 11531 -> 11649 bytes teleforma/locale/fr/LC_MESSAGES/django.po | 165 ++--- .../teleforma-import-seminars-preview.py | 163 +++++ ..._auto__add_field_testimonial_date_added.py | 650 ++++++++++++++++++ teleforma/models/pro.py | 1 + tools/trans/transcode_preview_alpha.py | 53 ++ 6 files changed, 954 insertions(+), 78 deletions(-) create mode 100644 teleforma/management/commands/teleforma-import-seminars-preview.py create mode 100644 teleforma/migrations/0096_auto__add_field_testimonial_date_added.py create mode 100644 tools/trans/transcode_preview_alpha.py diff --git a/teleforma/locale/fr/LC_MESSAGES/django.mo b/teleforma/locale/fr/LC_MESSAGES/django.mo index 612cdef99093f80d45c053fa79155e5cc34625ad..dbb305cd0197761c99da040534eadfc213afd178 100644 GIT binary patch delta 5115 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\n" "Language-Team: LANGUAGE \n" @@ -17,7 +17,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1)\n" #: models/ae.py:46 models/core.py:182 models/crfpa.py:108 models/crfpa.py:146 -#: models/pro.py:165 models/pro.py:207 models/pro.py:221 +#: models/pro.py:165 models/pro.py:209 models/pro.py:223 msgid "user" msgstr "utilisateur" @@ -26,7 +26,7 @@ msgstr "utilisateur" msgid "period" msgstr "période" -#: models/ae.py:49 models/crfpa.py:114 models/pro.py:229 +#: models/ae.py:49 models/crfpa.py:114 models/pro.py:231 msgid "platform only" msgstr "plateforme seulement" @@ -62,13 +62,13 @@ msgstr "nom" #: models/core.py:91 models/core.py:103 models/core.py:126 models/core.py:138 #: models/core.py:153 models/core.py:204 models/core.py:312 models/core.py:378 -#: models/core.py:398 models/crfpa.py:48 models/pro.py:147 models/pro.py:191 -#: templates/teleforma/seminar_detail.html:61 -#: templates/teleforma/seminars.html:105 +#: models/core.py:398 models/crfpa.py:48 models/pro.py:147 models/pro.py:193 +#: templates/teleforma/seminar_detail.html:71 +#: templates/teleforma/seminars.html:113 msgid "description" msgstr "description" -#: models/core.py:98 models/core.py:105 models/core.py:202 models/pro.py:190 +#: models/core.py:98 models/core.py:105 models/core.py:202 models/pro.py:192 msgid "organization" msgstr "organisation" @@ -105,7 +105,7 @@ msgid "date modified" msgstr "date de modification" #: models/core.py:156 models/core.py:425 models/core.py:483 models/pro.py:57 -#: models/pro.py:92 models/pro.py:149 models/pro.py:212 +#: models/pro.py:92 models/pro.py:149 models/pro.py:214 msgid "rank" msgstr "rang" @@ -126,7 +126,7 @@ msgid "types" msgstr "types" #: models/core.py:175 models/core.py:222 models/core.py:414 models/core.py:474 -#: models/pro.py:87 templates/teleforma/seminar_detail.html:55 +#: models/pro.py:87 templates/teleforma/seminar_detail.html:65 msgid "course" msgstr "matière" @@ -214,7 +214,7 @@ msgstr "stream en direct" msgid "credits" msgstr "crédits" -#: models/core.py:380 models/pro.py:118 models/pro.py:171 +#: models/core.py:380 models/pro.py:118 models/pro.py:172 msgid "date added" msgstr "date d'ajout" @@ -242,7 +242,7 @@ msgstr "type de document" msgid "annal" msgstr "annale" -#: models/core.py:426 models/pro.py:210 +#: models/core.py:426 models/pro.py:212 msgid "file" msgstr "fichier" @@ -293,39 +293,39 @@ msgstr "iej" msgid "student" msgstr "étudiant" -#: models/crfpa.py:147 models/pro.py:231 +#: models/crfpa.py:147 models/pro.py:233 #: templates/teleforma/seminar_testimonial.html:37 #: templates/telemeta/profile_detail.html:82 msgid "Address" msgstr "Adresse" -#: models/crfpa.py:148 models/pro.py:232 +#: models/crfpa.py:148 models/pro.py:234 msgid "Postal code" msgstr "Code postal" -#: models/crfpa.py:149 models/pro.py:233 +#: models/crfpa.py:149 models/pro.py:235 msgid "City" msgstr "Ville" -#: models/crfpa.py:150 models/pro.py:234 +#: models/crfpa.py:150 models/pro.py:236 msgid "Country" msgstr "Pays" -#: models/crfpa.py:151 models/pro.py:235 +#: models/crfpa.py:151 models/pro.py:237 #: templates/telemeta/profile_detail.html:91 msgid "Language" msgstr "Langue" -#: models/crfpa.py:152 models/pro.py:236 +#: models/crfpa.py:152 models/pro.py:238 #: templates/telemeta/profile_detail.html:83 msgid "Telephone" msgstr "Téléphone" -#: models/crfpa.py:153 models/pro.py:238 +#: models/crfpa.py:153 models/pro.py:240 msgid "Expiration_date" msgstr "Date d'expiration" -#: models/crfpa.py:154 models/pro.py:239 +#: models/crfpa.py:154 models/pro.py:241 msgid "Password initialized" msgstr "Mot de passe initialisé" @@ -345,13 +345,13 @@ msgstr "" msgid "Seminar type" msgstr "Type de séminaire" -#: models/pro.py:89 templates/teleforma/seminar_detail.html:58 -#: templates/teleforma/seminars.html:102 +#: models/pro.py:89 templates/teleforma/seminar_detail.html:67 +#: templates/teleforma/seminars.html:109 msgid "public concerned" msgstr "public concerné" -#: models/pro.py:90 templates/teleforma/seminar_detail.html:57 -#: templates/teleforma/seminars.html:101 +#: models/pro.py:90 templates/teleforma/seminar_detail.html:66 +#: templates/teleforma/seminars.html:108 msgid "level" msgstr "niveau" @@ -388,7 +388,7 @@ msgid "form" msgstr "formulaire" #: models/pro.py:137 templates/teleforma/answer_form.html:77 -#: templates/teleforma/seminar_detail.html:170 +#: templates/teleforma/seminar_detail.html:180 #: templates/teleforma/seminar_media_audio.html:56 #: templates/teleforma/seminar_media_video.html:104 #: templates/teleforma/testimonials.html:64 @@ -396,7 +396,7 @@ msgstr "formulaire" msgid "Seminar" msgstr "Sémimaire" -#: models/pro.py:145 models/pro.py:206 +#: models/pro.py:145 models/pro.py:208 msgid "seminar" msgstr "séminaire" @@ -420,8 +420,8 @@ msgstr "Question" msgid "answer" msgstr "réponse" -#: models/pro.py:169 templates/teleforma/seminar_detail.html:40 -#: templates/teleforma/seminars.html:88 +#: models/pro.py:169 templates/teleforma/seminar_detail.html:50 +#: templates/teleforma/seminars.html:96 msgid "validated" msgstr "validé" @@ -429,45 +429,50 @@ msgstr "validé" msgid "date submitted" msgstr "date de soumission" -#: models/pro.py:183 templates/teleforma/answer_detail.html:28 +#: models/pro.py:171 +#, fuzzy +msgid "date validated" +msgstr "validé" + +#: models/pro.py:185 templates/teleforma/answer_detail.html:28 #: templates/teleforma/answer_form.html:80 msgid "Answer" msgstr "Réponse" -#: models/pro.py:192 +#: models/pro.py:194 msgid "comments" msgstr "commentaires" -#: models/pro.py:194 models/pro.py:209 +#: models/pro.py:196 models/pro.py:211 msgid "template" msgstr "modèle" -#: models/pro.py:201 +#: models/pro.py:203 msgid "Testimonial template" msgstr "Modèle d'attestation" -#: models/pro.py:216 templates/teleforma/inc/testimonial_list.html:14 +#: models/pro.py:218 templates/teleforma/inc/testimonial_list.html:14 #: views/pro.py:482 msgid "Testimonial" msgstr "Attestation" -#: models/pro.py:223 +#: models/pro.py:225 msgid "seminars" msgstr "séminaires" -#: models/pro.py:226 +#: models/pro.py:228 msgid "conferences" msgstr "conférences" -#: models/pro.py:230 +#: models/pro.py:232 msgid "Company" msgstr "" -#: models/pro.py:237 +#: models/pro.py:239 msgid "Fax" msgstr "" -#: models/pro.py:249 +#: models/pro.py:251 msgid "Auditor" msgstr "Auditeur" @@ -773,14 +778,14 @@ msgid "Submit it" msgstr "Soumettre" #: templates/teleforma/answer_form.html:70 -#: templates/teleforma/seminar_detail.html:164 -#: templates/teleforma/seminars.html:120 +#: templates/teleforma/seminar_detail.html:174 +#: templates/teleforma/seminars.html:128 msgid "Progressions" msgstr "Progressions" #: templates/teleforma/answer_form.html:74 -#: templates/teleforma/seminar_detail.html:167 -#: templates/teleforma/seminars.html:123 +#: templates/teleforma/seminar_detail.html:177 +#: templates/teleforma/seminars.html:131 msgid "General" msgstr "Général" @@ -808,7 +813,7 @@ msgstr "validé" msgid " rejected" msgstr " rejeté" -#: templates/teleforma/answers.html:40 templates/teleforma/seminars.html:35 +#: templates/teleforma/answers.html:40 templates/teleforma/seminars.html:44 #: templates/teleforma/testimonials.html:23 #: templates/telemeta/profile_detail.html:16 msgid "My seminars" @@ -950,7 +955,7 @@ msgid "End" msgstr "Fin" #: templates/teleforma/course_conference_record.html:23 -#: templates/teleforma/courses.html:41 templates/teleforma/seminars.html:52 +#: templates/teleforma/courses.html:41 templates/teleforma/seminars.html:60 msgid "New conference" msgstr "Nouvelle conférence" @@ -1000,20 +1005,20 @@ msgstr "ID Média" msgid "My courses" msgstr "Mes matières" -#: templates/teleforma/courses.html:48 templates/teleforma/seminars.html:59 +#: templates/teleforma/courses.html:48 templates/teleforma/seminars.html:67 msgid "My notes" msgstr "Mes notes" -#: templates/teleforma/courses.html:58 templates/teleforma/seminars.html:69 +#: templates/teleforma/courses.html:58 templates/teleforma/seminars.html:77 msgid "New note" msgstr "Nouvelle note" -#: templates/teleforma/courses.html:104 templates/teleforma/seminars.html:135 +#: templates/teleforma/courses.html:104 templates/teleforma/seminars.html:143 msgid "Status" msgstr "Status" #: templates/teleforma/evaluation_form.html:10 -#: templates/teleforma/seminar_detail.html:141 +#: templates/teleforma/seminar_detail.html:151 msgid "Step 6 : evaluate the seminar" msgstr "Étape 6 : évaluer ce séminaire" @@ -1022,66 +1027,66 @@ msgstr "Étape 6 : évaluer ce séminaire" msgid "Help" msgstr "Aide" -#: templates/teleforma/seminar_detail.html:51 +#: templates/teleforma/seminar_detail.html:61 msgid "Informations" msgstr "Informations" -#: templates/teleforma/seminar_detail.html:56 +#: templates/teleforma/seminar_detail.html:68 +#: templates/teleforma/seminars.html:110 +msgid "duration" +msgstr "durée" + +#: templates/teleforma/seminar_detail.html:69 #: templates/teleforma/seminar_testimonial.html:42 -#: templates/teleforma/seminars.html:100 +#: templates/teleforma/seminars.html:111 msgid "keywords" msgstr "mots clés" -#: templates/teleforma/seminar_detail.html:59 -#: templates/teleforma/seminars.html:103 -msgid "duration" -msgstr "durée" - -#: templates/teleforma/seminar_detail.html:78 +#: templates/teleforma/seminar_detail.html:88 msgid "Step 1 : read these documents" msgstr "Étape 1 : lire ces documents" -#: templates/teleforma/seminar_detail.html:82 +#: templates/teleforma/seminar_detail.html:92 msgid "Step 1 : read this document" msgstr "Étape 1 : lire ce document" -#: templates/teleforma/seminar_detail.html:90 +#: templates/teleforma/seminar_detail.html:100 msgid "Step 2 : view these conferences" msgstr "Étape 2 : voir ces conférences" -#: templates/teleforma/seminar_detail.html:94 +#: templates/teleforma/seminar_detail.html:104 msgid "Step 2 : view this conference" msgstr "Étape 2 : voir cette conférence" -#: templates/teleforma/seminar_detail.html:102 +#: templates/teleforma/seminar_detail.html:112 msgid "Step 3 : read these documents" msgstr "Étape 3 : lire ces documents" -#: templates/teleforma/seminar_detail.html:106 +#: templates/teleforma/seminar_detail.html:116 msgid "Step 3 : read this document" msgstr "Étape 3 : lire ce document" -#: templates/teleforma/seminar_detail.html:114 +#: templates/teleforma/seminar_detail.html:124 msgid "Step 4 : answer to these questions" msgstr "Étape 4 : réaliser ces consultations fictives" -#: templates/teleforma/seminar_detail.html:120 +#: templates/teleforma/seminar_detail.html:130 msgid "Step 4 : answer to this question" msgstr "Étape 4 : réaliser cette consultation fictive" -#: templates/teleforma/seminar_detail.html:130 +#: templates/teleforma/seminar_detail.html:140 msgid "Step 5 : read these corrected documents" msgstr "Étape 5 : lire ces documents corrigés" -#: templates/teleforma/seminar_detail.html:134 +#: templates/teleforma/seminar_detail.html:144 msgid "Step 5 : read this corrected document" msgstr "Étape 5 : lire ce document corrigé" -#: templates/teleforma/seminar_detail.html:148 +#: templates/teleforma/seminar_detail.html:158 msgid "Step 7 : download your testimonial" msgstr "" -#: templates/teleforma/seminar_detail.html:182 +#: templates/teleforma/seminar_detail.html:192 msgid "Index" msgstr "Index" @@ -1199,26 +1204,30 @@ msgstr "Conférences en différé" msgid "Play" msgstr "Lire" -#: templates/teleforma/inc/question_list.html:15 +#: templates/teleforma/inc/question_list.html:18 msgid "submitted on" msgstr "soumise le" -#: templates/teleforma/inc/question_list.html:15 +#: templates/teleforma/inc/question_list.html:20 msgid "saved on" msgstr "enregistrée le" -#: templates/teleforma/inc/question_list.html:16 -msgid "Waiting for validation" -msgstr "" +#: templates/teleforma/inc/question_list.html:22 +msgid "validated on" +msgstr "validée le" -#: templates/teleforma/inc/question_list.html:16 -msgid "Validated" -msgstr "validé" +#: templates/teleforma/inc/question_list.html:27 +msgid "Waiting for validation" +msgstr "Attend une validation" -#: templates/teleforma/inc/question_list.html:16 +#: templates/teleforma/inc/question_list.html:29 msgid "Saved" msgstr "enregistrée le" +#: templates/teleforma/inc/question_list.html:31 +msgid "Validated" +msgstr "validé" + #: templates/telemeta/base.html:95 msgid "Desk" msgstr "Bureau" @@ -1478,11 +1487,11 @@ msgstr "" "Merci de vous connecter ou bien contactez l'administateur du site pour " "obtenir un accès privé." -#: views/pro.py:153 +#: views/pro.py:154 msgid "You have successfully saved your answer" msgstr "Vous avez enregistré votre reponse avec succès" -#: views/pro.py:155 +#: views/pro.py:156 msgid "You have successfully submitted your answer" msgstr "Vous avez soumis votre reponse avec succès" diff --git a/teleforma/management/commands/teleforma-import-seminars-preview.py b/teleforma/management/commands/teleforma-import-seminars-preview.py new file mode 100644 index 00000000..2e210b40 --- /dev/null +++ b/teleforma/management/commands/teleforma-import-seminars-preview.py @@ -0,0 +1,163 @@ +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 django.template.defaultfilters import slugify +from telemeta.models import * +from telemeta.util.unaccent import unaccent +from teleforma.models import * +import logging +import os, sys, time, datetime +import timeside + + +class Logger: + """A logging object""" + + def __init__(self, file): + self.logger = logging.getLogger('teleforma') + self.hdlr = logging.FileHandler(file) + self.formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') + self.hdlr.setFormatter(self.formatter) + self.logger.addHandler(self.hdlr) + self.logger.setLevel(logging.INFO) + + +class Command(BaseCommand): + help = "Import seminars from the MEDIA_ROOT directory " + admin_email = 'webmaster@parisson.com' + args = 'organization log_file' + spacer = '_-_' + audio_formats = ['ogg', 'mp3'] + video_formats = ['webm', 'mp4'] + image_formats = ['png', 'jpg'] + media_rank_dict = {'bis': 2, 'ter': 3, 'quarter': 4, 'quinquies': 5, 'quater': 4} + + def cleanup(self): + seminars = Seminar.objects.all() + for seminar in seminars: + for medias in seminar.media_preview.all(): + for media in medias: + media.item.delete() + media.delete() + medias.delete() + + def handle(self, *args, **options): + organization_name = args[0] + log_file = args[1] + logger = Logger(log_file) + + organization = Organization.objects.get(name=organization_name) + self.media_dir = settings.MEDIA_ROOT + organization.name + print self.media_dir + file_list = [] + i = 1 + + self.cleanup() + + for root, dirs, files in os.walk(self.media_dir, followlinks=True): + for filename in files: + name = os.path.splitext(filename)[0] + ext = os.path.splitext(filename)[1][1:] + print filename + root_list = root.split(os.sep) + + if (ext in self.video_formats or ext in self.audio_formats) \ + and 'preview' in root_list: + # seminar_rank <= 9 + seminar_rank = int(root_list[-1][0]) + if len(root_list[-1]) != 1: + media_rank = self.media_rank_dict[root_list[-1][1:]] + else: + media_rank = 1 + + course_code = root_list[-3] + master_dir = root_list[-4] + department_name = root_list[-5] + organization_name = root_list[-6] + + dir = os.sep.join(root_list[-6:]) + path = dir + os.sep + filename + + seminar_title = '_'.join([course_code, str(seminar_rank)]) + collection_id = '_'.join([department_name, seminar_title]) + course = Course.objects.get(code=course_code) + department, c = Department.objects.get_or_create(name=department_name, + organization=organization) + seminar, c = Seminar.objects.get_or_create(course=course, rank=seminar_rank) + print str(seminar.id) + exist = False + + media_packages = seminar.media_preview.all() + for media_package in media_packages: + for media in media_package.video.all(): + if media.item.file == path: + exist = True + break + for media in media_package.audio.all(): + if media.item.file == path: + exist = True + break + + if not exist: + collections = MediaCollection.objects.filter(code=collection_id) + if not collections: + collection = MediaCollection(code=collection_id,title=collection_id) + collection.save() + else: + collection = collections[0] + + id = '_'.join([collection_id, ext, str(i), 'preview']) + + items = MediaItem.objects.filter(collection=collection, code=id) + if not items: + item = MediaItem(collection=collection, code=id) + item.save() + else: + item = items[0] + + item.title = name + item.file = path + item.save() + + print path + + files = os.listdir(root) + for file in files: + filename, extension = os.path.splitext(file) + if extension[1:] in self.image_formats: + related = MediaItemRelated(item=item) + related.file = dir + os.sep + file + related.title = 'preview' + related.set_mime_type() + related.save() + print 'thumb added' + break + + media = Media(item=item, course=course, type=ext) + media.set_mime_type() + media.is_published = True + media.save() + + media_package_exist = False + media_packages = seminar.media_preview.all() + for media_package in media_packages: + if media_package.rank == media_rank: + media_package_exist = True + break + + if not media_package_exist: + media_package = MediaPackage(rank=media_rank, title=seminar_title) + media_package.save() + seminar.media_preview.add(media_package) + + if ext in self.video_formats: + media_package.video.add(media) + if ext in self.audio_formats: + media_package.audio.add(media) + + media_package.is_published = True + media_package.save() + + logger.logger.info(path) + i += 1 diff --git a/teleforma/migrations/0096_auto__add_field_testimonial_date_added.py b/teleforma/migrations/0096_auto__add_field_testimonial_date_added.py new file mode 100644 index 00000000..57a09c90 --- /dev/null +++ b/teleforma/migrations/0096_auto__add_field_testimonial_date_added.py @@ -0,0 +1,650 @@ +# -*- coding: utf-8 -*- +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + + +class Migration(SchemaMigration): + + def forwards(self, orm): + # Adding field 'Testimonial.date_added' + db.add_column('teleforma_testimonial', 'date_added', + self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, null=True, blank=True), + keep_default=False) + + def backwards(self, orm): + # Deleting field 'Testimonial.date_added' + db.delete_column('teleforma_testimonial', 'date_added') + + models = { + 'auth.group': { + 'Meta': {'object_name': 'Group'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'Meta': {'object_name': 'User'}, + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + }, + 'forms.form': { + 'Meta': {'object_name': 'Form'}, + 'button_text': ('django.db.models.fields.CharField', [], {'default': "u'Submit'", 'max_length': '50'}), + 'email_copies': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'email_from': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'email_message': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'email_subject': ('django.db.models.fields.CharField', [], {'max_length': '200', 'blank': 'True'}), + 'expiry_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'intro': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'login_required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'publish_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'response': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'send_email': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'sites': ('django.db.models.fields.related.ManyToManyField', [], {'default': '[1]', 'to': "orm['sites.Site']", 'symmetrical': 'False'}), + 'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'generic.assignedkeyword': { + 'Meta': {'ordering': "('_order',)", 'object_name': 'AssignedKeyword'}, + '_order': ('django.db.models.fields.IntegerField', [], {'null': 'True'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'keyword': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'assignments'", 'to': "orm['generic.Keyword']"}), + 'object_pk': ('django.db.models.fields.IntegerField', [], {}) + }, + 'generic.keyword': { + 'Meta': {'object_name': 'Keyword'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.CharField', [], {'max_length': '2000', 'null': 'True', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'notes.note': { + 'Meta': {'object_name': 'Note'}, + 'author': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'date': ('django.db.models.fields.DateField', [], {'default': 'datetime.datetime(2012, 12, 30, 0, 0)'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'markup': ('django.db.models.fields.CharField', [], {'default': "'m'", 'max_length': '1'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}), + 'public': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'rendered_content': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'topic': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['notes.Topic']"}) + }, + 'notes.topic': { + 'Meta': {'object_name': 'Topic'}, + 'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now', 'blank': 'True'}), + 'slug': ('django_extensions.db.fields.AutoSlugField', [], {'allow_duplicates': 'False', 'max_length': '50', 'separator': "u'-'", 'blank': 'True', 'populate_from': "'title'", 'overwrite': 'False'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'sites.site': { + 'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"}, + 'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'teleforma.aestudent': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'AEStudent', 'db_table': "'teleforma_ae_student'"}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'ae_student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'ae_student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'ae_student'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.answer': { + 'Meta': {'ordering': "['-date_submitted']", 'object_name': 'Answer'}, + 'answer': ('django.db.models.fields.TextField', [], {}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_submitted': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'date_validated': ('django.db.models.fields.DateTimeField', [], {'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'question': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answer'", 'to': "orm['teleforma.Question']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'answer'", 'to': "orm['auth.User']"}), + 'validated': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.auditor': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Auditor'}, + 'address': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'city': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'company': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'conferences': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'auditor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Conference']"}), + 'country': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'expiration_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'init_password': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'language': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'platform_only': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'seminars': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'auditor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Seminar']"}), + 'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'auditor'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.conference': { + 'Meta': {'ordering': "['-date_begin']", 'object_name': 'Conference'}, + '_meta_title': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'comment': ('teleforma.fields.ShortTextField', [], {'max_length': '255', 'blank': 'True'}), + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.Course']"}), + 'course_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'conference'", 'to': "orm['teleforma.CourseType']"}), + 'date_begin': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_end': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'department': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Department']"}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'expiry_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'gen_description': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'keywords': ('mezzanine.generic.fields.KeywordsField', [], {'object_id_field': "'object_pk'", 'to': "orm['generic.AssignedKeyword']", 'frozen_by_south': 'True'}), + 'keywords_string': ('django.db.models.fields.CharField', [], {'max_length': '500', 'blank': 'True'}), + 'period': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Period']"}), + 'price': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'professor': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': "orm['teleforma.Professor']"}), + 'public_id': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'publish_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'room': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'conference'", 'null': 'True', 'to': "orm['teleforma.Room']"}), + 'session': ('django.db.models.fields.CharField', [], {'default': "'1'", 'max_length': '16'}), + 'short_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.CharField', [], {'max_length': '2000', 'null': 'True', 'blank': 'True'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'sub_title': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}) + }, + 'teleforma.course': { + 'Meta': {'ordering': "['number']", 'object_name': 'Course'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'department': ('telemeta.models.core.ForeignKey', [], {'related_name': "'course'", 'to': "orm['teleforma.Department']"}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'obligation': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'synthesis_note': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'types': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'course'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}) + }, + 'teleforma.coursetype': { + 'Meta': {'object_name': 'CourseType', 'db_table': "'teleforma_course_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.department': { + 'Meta': {'object_name': 'Department'}, + 'address': ('tinymce.models.HTMLField', [], {'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'domain': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'department'", 'to': "orm['teleforma.Organization']"}), + 'signature': ('django.db.models.fields.files.ImageField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}) + }, + 'teleforma.document': { + 'Meta': {'ordering': "['rank']", 'object_name': 'Document'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Course']", 'blank': 'True', 'null': 'True'}), + 'course_type': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_annal': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'period': ('telemeta.models.core.ForeignKey', [], {'related_name': "'document'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Period']", 'blank': 'True', 'null': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'document'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1024', 'blank': 'True'}), + 'type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'document'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.DocumentType']"}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.documenttype': { + 'Meta': {'ordering': "['number']", 'object_name': 'DocumentType', 'db_table': "'teleforma_document_type'"}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'number': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}) + }, + 'teleforma.iej': { + 'Meta': {'ordering': "['name']", 'object_name': 'IEJ'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.livestream': { + 'Meta': {'object_name': 'LiveStream', 'db_table': "'teleforma_live_stream'"}, + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'server': ('telemeta.models.core.ForeignKey', [], {'related_name': "'livestream'", 'to': "orm['teleforma.StreamingServer']"}), + 'stream_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'streaming': ('telemeta.models.core.BooleanField', [], {'default': 'False'}) + }, + 'teleforma.media': { + 'Meta': {'ordering': "['-date_modified']", 'object_name': 'Media'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'conference': ('telemeta.models.core.ForeignKey', [], {'related_name': "'media'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Conference']", 'blank': 'True', 'null': 'True'}), + 'course': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'course_type': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.CourseType']"}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'item': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'media'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'period': ('telemeta.models.core.ForeignKey', [], {'related_name': "'media'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.Period']", 'blank': 'True', 'null': 'True'}), + 'rank': ('telemeta.models.core.IntegerField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1024', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.mediapackage': { + 'Meta': {'object_name': 'MediaPackage', 'db_table': "'teleforma_media_package'"}, + 'audio': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media_package_audio'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Media']"}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'credits': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'date_added': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'date_modified': ('telemeta.models.core.DateTimeField', [], {'default': 'None', 'auto_now': 'True', 'null': 'True', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'mime_type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'readers': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media_package'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['auth.User']"}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1024', 'blank': 'True'}), + 'video': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'media_package_video'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Media']"}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1', 'blank': 'True'}) + }, + 'teleforma.organization': { + 'Meta': {'object_name': 'Organization'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.period': { + 'Meta': {'object_name': 'Period'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.professor': { + 'Meta': {'object_name': 'Professor'}, + 'courses': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'professor'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Course']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'professor'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.profile': { + 'Meta': {'object_name': 'Profile', 'db_table': "'teleforma_profiles'"}, + 'address': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'city': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'country': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'expiration_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'init_password': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'postal_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'telephone': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}) + }, + 'teleforma.question': { + 'Meta': {'ordering': "['rank']", 'object_name': 'Question'}, + 'description': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'min_nchar': ('django.db.models.fields.IntegerField', [], {}), + 'question': ('tinymce.models.HTMLField', [], {'blank': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'question'", 'to': "orm['teleforma.Seminar']"}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '3'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'weight': ('django.db.models.fields.IntegerField', [], {'default': '1'}) + }, + 'teleforma.room': { + 'Meta': {'object_name': 'Room'}, + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'organization': ('telemeta.models.core.ForeignKey', [], {'related_name': "'room'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.seminar': { + 'Meta': {'ordering': "['rank']", 'object_name': 'Seminar'}, + '_meta_title': ('django.db.models.fields.CharField', [], {'max_length': '500', 'null': 'True', 'blank': 'True'}), + 'concerned': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'}), + 'course': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'seminar'", 'to': "orm['teleforma.Course']"}), + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'docs_1': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_docs_1'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Document']"}), + 'docs_2': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_docs_2'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Document']"}), + 'docs_correct': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_docs_correct'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Document']"}), + 'duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'expiry_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'form': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'to': "orm['forms.Form']"}), + 'gen_description': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'index': ('tinymce.models.HTMLField', [], {'blank': 'True'}), + 'keywords': ('mezzanine.generic.fields.KeywordsField', [], {'object_id_field': "'object_pk'", 'to': "orm['generic.AssignedKeyword']", 'frozen_by_south': 'True'}), + 'keywords_string': ('django.db.models.fields.CharField', [], {'max_length': '500', 'blank': 'True'}), + 'level': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'magistral': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'media': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.MediaPackage']"}), + 'media_preview': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar_media_preview'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.MediaPackage']"}), + 'price': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}), + 'professor': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Professor']"}), + 'publish_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'short_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}), + 'site': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['sites.Site']"}), + 'slug': ('django.db.models.fields.CharField', [], {'max_length': '2000', 'null': 'True', 'blank': 'True'}), + 'status': ('django.db.models.fields.IntegerField', [], {'default': '2'}), + 'sub_title': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'blank': 'True'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}), + 'type': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'seminar'", 'null': 'True', 'to': "orm['teleforma.SeminarType']"}) + }, + 'teleforma.seminartype': { + 'Meta': {'object_name': 'SeminarType', 'db_table': "'teleforma_seminar_type'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}) + }, + 'teleforma.streamingserver': { + 'Meta': {'object_name': 'StreamingServer', 'db_table': "'teleforma_streaming_server'"}, + 'admin_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'description': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'host': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'port': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'source_password': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '32', 'blank': 'True'}) + }, + 'teleforma.student': { + 'Meta': {'ordering': "['user__last_name']", 'object_name': 'Student'}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'iej': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['teleforma.IEJ']", 'blank': 'True', 'null': 'True'}), + 'options': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'options'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_1': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_1'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_2': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_2'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'oral_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'oral_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'period': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'student'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.Period']"}), + 'platform_only': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'procedure': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'procedure'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}), + 'training': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'to': "orm['teleforma.Training']"}), + 'user': ('telemeta.models.core.ForeignKey', [], {'related_name': "'student'", 'unique': 'True', 'to': "orm['auth.User']"}), + 'written_speciality': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'written_speciality'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Course']"}) + }, + 'teleforma.testimonial': { + 'Meta': {'object_name': 'Testimonial'}, + 'date_added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}), + 'file': ('django.db.models.fields.files.FileField', [], {'max_length': '1024', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rank': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'seminar': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial'", 'to': "orm['teleforma.Seminar']"}), + 'template': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'testimonial'", 'null': 'True', 'to': "orm['teleforma.TestimonialTemplate']"}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial'", 'to': "orm['auth.User']"}) + }, + 'teleforma.testimonialtemplate': { + 'Meta': {'object_name': 'TestimonialTemplate', 'db_table': "'teleforma_testimonial_template'"}, + 'comments': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}), + 'document': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial_template'", 'to': "orm['teleforma.Document']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organization': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'testimonial_template'", 'to': "orm['teleforma.Organization']"}) + }, + 'teleforma.training': { + 'Meta': {'object_name': 'Training'}, + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'cost': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'magistral': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_magistral'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'obligation': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_obligation'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'options': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_options'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_1': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_1'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_2': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_2'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'oral_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_oral_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'period': ('telemeta.models.core.ForeignKey', [], {'default': 'None', 'related_name': "'training'", 'null': 'True', 'blank': 'True', 'to': "orm['teleforma.Period']"}), + 'procedure': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_procedure'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'synthesis_note': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_synthesis_note'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}), + 'written_speciality': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'training_written_speciality'", 'null': 'True', 'symmetrical': 'False', 'to': "orm['teleforma.CourseType']"}) + }, + 'telemeta.acquisitionmode': { + 'Meta': {'ordering': "['value']", 'object_name': 'AcquisitionMode', 'db_table': "'acquisition_modes'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.adconversion': { + 'Meta': {'ordering': "['value']", 'object_name': 'AdConversion', 'db_table': "'ad_conversions'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.ethnicgroup': { + 'Meta': {'ordering': "['value']", 'object_name': 'EthnicGroup', 'db_table': "'ethnic_groups'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.genericstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'GenericStyle', 'db_table': "'generic_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.language': { + 'Meta': {'ordering': "['name']", 'object_name': 'Language', 'db_table': "'languages'"}, + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'identifier': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'part1': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'part2B': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'part2T': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '3', 'blank': 'True'}), + 'scope': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}), + 'type': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '1', 'blank': 'True'}) + }, + 'telemeta.legalright': { + 'Meta': {'ordering': "['value']", 'object_name': 'LegalRight', 'db_table': "'legal_rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.location': { + 'Meta': {'ordering': "['name']", 'object_name': 'Location', 'db_table': "'locations'"}, + 'complete_type': ('telemeta.models.core.ForeignKey', [], {'related_name': "'locations'", 'to': "orm['telemeta.LocationType']"}), + 'current_location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'past_names'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Location']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_authoritative': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'latitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'longitude': ('telemeta.models.core.FloatField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '150'}), + 'type': ('telemeta.models.core.IntegerField', [], {'default': '0', 'db_index': 'True', 'blank': 'True'}) + }, + 'telemeta.locationtype': { + 'Meta': {'ordering': "['name']", 'object_name': 'LocationType', 'db_table': "'location_types'"}, + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '64'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('telemeta.models.core.CharField', [], {'max_length': '150'}) + }, + 'telemeta.mediacollection': { + 'Meta': {'ordering': "['code']", 'object_name': 'MediaCollection', 'db_table': "'media_collections'"}, + 'a_informer_07_03': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'acquisition_mode': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AcquisitionMode']"}), + 'ad_conversion': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.AdConversion']"}), + 'alt_ids': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'booklet_author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'booklet_description': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'cnrs_contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_is_creator': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'conservation_site': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'creator': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'doctype_code': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_published': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'items_done': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'legal_rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.LegalRight']"}), + 'metadata_author': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataAuthor']"}), + 'metadata_writer': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MetadataWriter']"}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'null': 'True', 'blank': 'True'}), + 'physical_format': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PhysicalFormat']"}), + 'physical_items_num': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publisher': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.Publisher']"}), + 'publisher_collection': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublisherCollection']"}), + 'publisher_serial': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'publishing_status': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.PublishingStatus']"}), + 'recorded_from_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recorded_to_year': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'recording_context': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'collections'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.RecordingContext']"}), + 'reference': ('telemeta.models.core.CharField', [], {'default': 'None', 'max_length': '250', 'unique': 'True', 'null': 'True', 'blank': 'True'}), + 'state': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'max_length': '250'}), + 'travail': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'year_published': ('telemeta.models.core.IntegerField', [], {'default': '0', 'blank': 'True'}) + }, + 'telemeta.mediaitem': { + 'Meta': {'object_name': 'MediaItem', 'db_table': "'media_items'"}, + 'alt_title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'approx_duration': ('telemeta.models.core.DurationField', [], {'default': "'0'", 'blank': 'True'}), + 'author': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'code': ('telemeta.models.core.CharField', [], {'default': "''", 'unique': 'True', 'max_length': '250', 'blank': 'True'}), + 'collection': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'to': "orm['telemeta.MediaCollection']"}), + 'collector': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'collector_from_collection': ('telemeta.models.core.BooleanField', [], {'default': 'False'}), + 'collector_selection': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'context_comment': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'contributor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'copied_from_item': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'copies'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.MediaItem']"}), + 'creator_reference': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'cultural_area': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'depositor': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitalist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'digitization_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'ethnic_group': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.EthnicGroup']"}), + 'external_references': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'file': ('telemeta.models.core.FileField', [], {'default': "''", 'max_length': '1024', 'db_column': "'filename'", 'blank': 'True'}), + 'generic_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.GenericStyle']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'language': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'language_iso': ('telemeta.models.core.ForeignKey', [], {'related_name': "'items'", 'on_delete': 'models.SET_NULL', 'default': 'None', 'to': "orm['telemeta.Language']", 'blank': 'True', 'null': 'True'}), + 'location': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Location']", 'null': 'True', 'blank': 'True'}), + 'location_comment': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'mimetype': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '255', 'blank': 'True'}), + 'moda_execut': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'old_code': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'organization': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Organization']", 'null': 'True', 'blank': 'True'}), + 'public_access': ('telemeta.models.core.CharField', [], {'default': "'metadata'", 'max_length': '16', 'blank': 'True'}), + 'publishing_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_from_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recorded_to_date': ('telemeta.models.core.DateField', [], {'default': 'None', 'null': 'True', 'blank': 'True'}), + 'recordist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'rights': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Rights']", 'null': 'True', 'blank': 'True'}), + 'scientist': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'summary': ('telemeta.models.core.TextField', [], {'default': "''", 'blank': 'True'}), + 'title': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'topic': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'to': "orm['telemeta.Topic']", 'null': 'True', 'blank': 'True'}), + 'track': ('telemeta.models.core.CharField', [], {'default': "''", 'max_length': '250', 'blank': 'True'}), + 'vernacular_style': ('telemeta.models.core.WeakForeignKey', [], {'default': 'None', 'related_name': "'items'", 'null': 'True', 'blank': 'True', 'to': "orm['telemeta.VernacularStyle']"}) + }, + 'telemeta.metadataauthor': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataAuthor', 'db_table': "'metadata_authors'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.metadatawriter': { + 'Meta': {'ordering': "['value']", 'object_name': 'MetadataWriter', 'db_table': "'metadata_writers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.organization': { + 'Meta': {'ordering': "['value']", 'object_name': 'Organization', 'db_table': "'organization'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.physicalformat': { + 'Meta': {'ordering': "['value']", 'object_name': 'PhysicalFormat', 'db_table': "'physical_formats'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publisher': { + 'Meta': {'ordering': "['value']", 'object_name': 'Publisher', 'db_table': "'publishers'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.publishercollection': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublisherCollection', 'db_table': "'publisher_collections'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'publisher': ('telemeta.models.core.ForeignKey', [], {'related_name': "'publisher_collections'", 'to': "orm['telemeta.Publisher']"}), + 'value': ('telemeta.models.core.CharField', [], {'max_length': '250'}) + }, + 'telemeta.publishingstatus': { + 'Meta': {'ordering': "['value']", 'object_name': 'PublishingStatus', 'db_table': "'publishing_status'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.recordingcontext': { + 'Meta': {'ordering': "['value']", 'object_name': 'RecordingContext', 'db_table': "'recording_contexts'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.rights': { + 'Meta': {'ordering': "['value']", 'object_name': 'Rights', 'db_table': "'rights'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.topic': { + 'Meta': {'ordering': "['value']", 'object_name': 'Topic', 'db_table': "'topic'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + }, + 'telemeta.vernacularstyle': { + 'Meta': {'ordering': "['value']", 'object_name': 'VernacularStyle', 'db_table': "'vernacular_styles'"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'value': ('telemeta.models.core.CharField', [], {'unique': 'True', 'max_length': '250'}) + } + } + + complete_apps = ['teleforma'] \ No newline at end of file diff --git a/teleforma/models/pro.py b/teleforma/models/pro.py index b56eabc2..0a1776db 100644 --- a/teleforma/models/pro.py +++ b/teleforma/models/pro.py @@ -212,6 +212,7 @@ class Testimonial(models.Model): file = models.FileField(_('file'), upload_to='testimonials/%Y/%m/%d', blank=True, max_length=1024) rank = models.IntegerField(_('rank'), blank=True, null=True) + date_added = models.DateTimeField(_('date added'), auto_now_add=True, null=True) class Meta(MetaCore): db_table = app_label + '_' + 'testimonial' diff --git a/tools/trans/transcode_preview_alpha.py b/tools/trans/transcode_preview_alpha.py new file mode 100644 index 00000000..9efbf7c8 --- /dev/null +++ b/tools/trans/transcode_preview_alpha.py @@ -0,0 +1,53 @@ +#!/usr/bin/python + +import os, sys, string +import logging + +class Logger: + """A logging object""" + + def __init__(self, file): + self.logger = logging.getLogger('myapp') + self.hdlr = logging.FileHandler(file) + self.formatter = logging.Formatter('%(message)s') + self.hdlr.setFormatter(self.formatter) + self.logger.addHandler(self.hdlr) + self.logger.setLevel(logging.INFO) + +log_file = 'preview.log' +logger = Logger(log_file) +root_dir = sys.argv[-1] +args = sys.argv[1:-1] +source_format = ['webm', 'mp4', 'ogg', 'mp3'] +done = [] +preview_tc_in = '00:00:00' +preview_tc_out = '00:03:00' +vfilter = "fade=out:4270:50" +preview_dir = 'preview' +ffmpeg_args = {'mp3' : ' -vn -acodec libmp3lame -aq 6 -ac 1 ', + 'ogg' : ' -vn -acodec copy ', + 'mp4' : ' -vcodec libx264 -r 24 -b 512k -threads 6 -acodec libfaac -ar 48000 -ab 96k -ac 1 ', + } + +if os.path.exists(log_file): + f = open(log_file, 'r') + for line in f.readlines(): + done.append(line[:-1]) + f.close() + +for root, dirs, files in os.walk(root_dir): + for file in files: + path = os.path.abspath(root + os.sep + file) + name, ext = os.path.splitext(file) + if ext[1:] in source_format and not preview_dir in root: + dest_dir = root + os.sep + preview_dir + if not os.path.exists(dest_dir): + os.mkdir(dest_dir) + dest = os.path.abspath(dest_dir + os.sep + name + '.preview' + ext) + if not dest in done or '--force' in args: + command = 'ffmpeg -ss '+ preview_tc_in + ' -t ' + preview_tc_out + \ + ' -i ' + path + ' -vcodec copy -acodec copy -y ' + dest + os.system(command) + logger.logger.info(dest) + +print "DONE!" -- 2.39.5