first merge correction
authorymh <ymh.work@gmail.com>
Mon, 19 Aug 2013 18:57:01 +0200
changeset 94 5fde1070d998
parent 93 5a0cec699f70
child 95 b0ea2dcff0ce
first merge correction
.settings/org.eclipse.core.resources.prefs
src/jocondelab/management/commands/import_dbpedia_translations.py
src/jocondelab/migrations/0004_auto__add_dbpedia_tables.py
src/jocondelab/migrations/0005_populate_dbpedia_table.py
src/jocondelab/migrations/0006_test.py
src/jocondelab/models.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.settings/org.eclipse.core.resources.prefs	Mon Aug 19 18:57:01 2013 +0200
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding//src/jocondelab/migrations/0005_auto__add_termlinks__add_dbpediafields.py=utf-8
--- a/src/jocondelab/management/commands/import_dbpedia_translations.py	Mon Aug 19 18:50:12 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-# -*- coding: utf-8 -*-
-'''
-Created on Aug 08, 2013
-
-@author: rvelt
-'''
-
-from core.utils import show_progress
-from django.conf import settings
-from django.core.management.base import NoArgsCommand
-from jocondelab.models import (DbpediaResource, DbpediaTranslation)
-from django.db import transaction
-import re
-from SPARQLWrapper import SPARQLWrapper2
-from optparse import make_option
-import traceback
-import sys
-import urllib
-import json
-
-class Command(NoArgsCommand):
-    
-    help = "Import tag translations from dbpedia"
-    
-    option_list = NoArgsCommand.option_list + (
-        make_option('--all',
-            action='store_true',
-            dest='all',
-            default=False,
-            help='force all dbpedia uris to be updated, not only those not yet processed'
-        ),
-    )
-    
-    def handle_noargs(self, **options):
-        
-        endpointre = re.compile('^http:\/\/\w+\.?dbpedia.org')
-        
-        qs = DbpediaResource.objects
-        
-        if not options.get('all', False):
-            qs = qs.filter(translations=None)
-        
-        count = qs.count()
-        
-        qs = qs.extra(select={"notice_count": "SELECT SUM(nb_notice) FROM core_term WHERE core_term.dbpedia_uri = jocondelab_dbpediaresource.uri"}).order_by("-notice_count")
-        
-        writer = None
-        
-        for i,obj in enumerate(qs):
-            writer = show_progress(i+1, count, obj.uri, 50, writer)
-            try:
-                with transaction.commit_on_success():
-                    DbpediaTranslation.objects.filter(dbpediaresource=obj).delete()
-                    for langtuple in settings.LANGUAGES:
-                        lang = langtuple[0]
-                        endpointuri = settings.WIKIPEDIA_URLS[obj.lang]['dbpedia_sparql_url']
-                        endpoint = SPARQLWrapper2(endpointuri)
-                        uri = urllib.unquote(str(obj.uri)).decode('utf8')
-                        sparql = u"""
-                        select ?label, ?rlabel where {
-                            OPTIONAL { <%s> rdfs:label ?label FILTER ( langMatches(?label, "%s") ) } .
-                            OPTIONAL { <%s> dbpedia-owl:wikiPageRedirects ?r }.
-                            OPTIONAL { ?r rdfs:label ?rlabel FILTER ( langMatches(?rlabel, "%s") ) }.
-                        }
-                        """%(uri, lang, uri, lang)
-                        endpoint.setQuery(sparql)
-                        results = endpoint.query()
-                        
-                        if len(results.bindings):
-                            binding = results.bindings[0]
-                            label = binding[u"label"].value if "label" in binding else binding[u"rlabel"].value if "rlabel" in binding else None
-                            if label is not None:
-                                DbpediaTranslation.objects.create(
-                                    dbpediaresource = obj,
-                                    lang = lang,
-                                    label = label
-                                )
-                        
-            except Exception as e:
-                print "\nError processing resource %s : %s" %(obj.uri,unicode(e))
-                traceback.print_exception(type(e), e, sys.exc_info()[2])
-                
-        
\ No newline at end of file
--- a/src/jocondelab/migrations/0004_auto__add_dbpedia_tables.py	Mon Aug 19 18:50:12 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-# -*- 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 model 'DbpediaTranslation'
-        db.create_table(u'jocondelab_dbpediatranslation', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('dbpediaresource', self.gf('django.db.models.fields.related.ForeignKey')(related_name='translations', to=orm['jocondelab.DbpediaResource'])),
-            ('lang', self.gf('django.db.models.fields.CharField')(max_length=15, db_index=True)),
-            ('label', self.gf('django.db.models.fields.CharField')(db_index=True, max_length=2048, blank=True)),
-        ))
-        db.send_create_signal(u'jocondelab', ['DbpediaTranslation'])
-
-        # Adding unique constraint on 'DbpediaTranslation', fields ['dbpediaresource', 'lang']
-        db.create_unique(u'jocondelab_dbpediatranslation', ['dbpediaresource_id', 'lang'])
-
-        # Adding model 'DbpediaResource'
-        db.create_table(u'jocondelab_dbpediaresource', (
-            (u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('uri', self.gf('django.db.models.fields.URLField')(unique=True, max_length=2048, db_index=True)),
-            ('lang', self.gf('django.db.models.fields.CharField')(max_length=128, db_index=True)),
-        ))
-        db.send_create_signal(u'jocondelab', ['DbpediaResource'])
-
-
-    def backwards(self, orm):
-        # Removing unique constraint on 'DbpediaTranslation', fields ['dbpediaresource', 'lang']
-        db.delete_unique(u'jocondelab_dbpediatranslation', ['dbpediaresource_id', 'lang'])
-
-        # Deleting model 'DbpediaTranslation'
-        db.delete_table(u'jocondelab_dbpediatranslation')
-
-        # Deleting model 'DbpediaResource'
-        db.delete_table(u'jocondelab_dbpediaresource')
-
-
-    models = {
-        u'auth.group': {
-            'Meta': {'object_name': 'Group'},
-            u'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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
-        },
-        u'auth.permission': {
-            'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
-            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
-        },
-        u'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'}),
-            u'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'})
-        },
-        u'jocondelab.country': {
-            'Meta': {'object_name': 'Country'},
-            'dbpedia_uri': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'iso_code_2': ('django.db.models.fields.CharField', [], {'max_length': '2', 'db_index': 'True'}),
-            'iso_code_3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'db_index': 'True'})
-        },
-        u'jocondelab.dbpediaresource': {
-            'Meta': {'object_name': 'DbpediaResource'},
-            'uri': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lang': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
-        },
-        u'jocondelab.dbpediatranslation': {
-            'Meta': {'unique_together': "(('dbpediaresource', 'lang'),)", 'object_name': 'DbpediaTranslation'},
-            'dbpediaresource': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['jocondelab.DbpediaResource']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'label': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '2048', 'blank': 'True'}),
-            'lang': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'})
-        },
-        u'jocondelab.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': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
-            u'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'}),
-            'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}),
-            '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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
-            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
-        }
-    }
-
-    complete_apps = ['jocondelab']
\ No newline at end of file
--- a/src/jocondelab/migrations/0005_populate_dbpedia_table.py	Mon Aug 19 18:50:12 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import transaction, reset_queries
-from django.conf import settings
-from core.models import Term
-from core.utils import show_progress
-
-class Migration(SchemaMigration):
-
-    def forwards(self, orm):
-        # Filling table 'DbpediaResource'
-        dbres_from_terms = Term.objects.distinct('dbpedia_uri').exclude(dbpedia_uri=None).order_by('dbpedia_uri').values_list('dbpedia_uri',flat=True)
-        
-        total = len(dbres_from_terms)
-        
-        transaction.enter_transaction_management(True)
-        transaction.managed()
-
-        writer = None
-        for i, dbpedia_uri in enumerate(dbres_from_terms):
-            
-            writer = show_progress(i+1, total, "%s" % dbpedia_uri, 50, writer)
-            
-            lang = 'fr'
-            for k in settings.WIKIPEDIA_URLS:
-                prefix = settings.WIKIPEDIA_URLS[k]['dbpedia_uri']%""
-                if dbpedia_uri.find(prefix) == 0:
-                    lang = k
-            
-            orm['jocondelab.dbpediaresource'].objects.create(
-                                           uri = dbpedia_uri,
-                                           lang = lang)
-
-            if not ((i+1) % 5000):
-                transaction.commit()
-                reset_queries() 
-                
-        transaction.commit()
-        reset_queries()
-        transaction.leave_transaction_management()
-
-
-    def backwards(self, orm):
-        # Clearing table 'DbpediaResource'
-        db.clear_table(u'jocondelab_dbpediatranslation')
-        db.clear_table(u'jocondelab_dbpediaresource')
-
-
-    models = {
-        u'auth.group': {
-            'Meta': {'object_name': 'Group'},
-            u'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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
-        },
-        u'auth.permission': {
-            'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
-            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
-        },
-        u'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'}),
-            u'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'})
-        },
-        u'jocondelab.country': {
-            'Meta': {'object_name': 'Country'},
-            'dbpedia_uri': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'iso_code_2': ('django.db.models.fields.CharField', [], {'max_length': '2', 'db_index': 'True'}),
-            'iso_code_3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'db_index': 'True'})
-        },
-        u'jocondelab.dbpediaresource': {
-            'Meta': {'object_name': 'DbpediaResource'},
-            'uri': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'lang': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
-        },
-        u'jocondelab.dbpediatranslation': {
-            'Meta': {'unique_together': "(('dbpediaresource', 'lang'),)", 'object_name': 'DbpediaTranslation'},
-            'dbpediaresource': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'translations'", 'to': u"orm['jocondelab.DbpediaResource']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'label': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '2048', 'blank': 'True'}),
-            'lang': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'})
-        },
-        u'jocondelab.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': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
-            u'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'}),
-            'language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}),
-            '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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
-            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
-        }
-    }
-
-    complete_apps = ['jocondelab']
\ No newline at end of file
--- a/src/jocondelab/migrations/0006_test.py	Mon Aug 19 18:50:12 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,239 +0,0 @@
-# -*- coding: utf-8 -*-
-import datetime
-from south.db import db
-from south.v2 import DataMigration
-from django.db import models
-
-class Migration(DataMigration):
-
-    def forwards(self, orm):
-        "Write your forwards methods here."
-        # Note: Remember to use orm['appname.ModelName'] rather than "from appname.models..."
-
-    def backwards(self, orm):
-        "Write your backwards methods here."
-
-    models = {
-        u'auth.group': {
-            'Meta': {'object_name': 'Group'},
-            u'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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
-        },
-        u'auth.permission': {
-            'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
-            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
-            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
-        },
-        u'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'}),
-            u'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'})
-        },
-        'core.autrnoticeterm': {
-            'Meta': {'object_name': 'AutrNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.domnnoticeterm': {
-            'Meta': {'object_name': 'DomnNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.ecolnoticeterm': {
-            'Meta': {'object_name': 'EcolNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.epoqnoticeterm': {
-            'Meta': {'object_name': 'EpoqNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.lieuxnoticeterm': {
-            'Meta': {'object_name': 'LieuxNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.notice': {
-            'Meta': {'object_name': 'Notice'},
-            'adpt': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'appl': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'aptn': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'attr': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'autr': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'autr_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'autr+'", 'symmetrical': 'False', 'through': "orm['core.AutrNoticeTerm']", 'to': "orm['core.Term']"}),
-            'bibl': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'comm': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'contact': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'coor': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'copy': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'dacq': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'data': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'dation': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'ddpt': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'decv': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'deno': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'depo': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'desc': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'desy': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'dims': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'dmaj': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'dmis': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'domn': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'domn_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'domn+'", 'symmetrical': 'False', 'through': "orm['core.DomnNoticeTerm']", 'to': "orm['core.Term']"}),
-            'drep': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'ecol': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'ecol_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'ecol+'", 'symmetrical': 'False', 'through': "orm['core.EcolNoticeTerm']", 'to': "orm['core.Term']"}),
-            'epoq': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'epoq_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'epoq+'", 'symmetrical': 'False', 'through': "orm['core.EpoqNoticeTerm']", 'to': "orm['core.Term']"}),
-            'etat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'expo': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'gene': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'geohi': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'hist': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'image': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'insc': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'inv': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'label': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'labo': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'lieux': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'lieux_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'lieux+'", 'symmetrical': 'False', 'through': "orm['core.LieuxNoticeTerm']", 'to': "orm['core.Term']"}),
-            'loca': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'loca2': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'mill': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'milu': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'mosa': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'msgcom': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'museo': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'nsda': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'onom': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'paut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'pdat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'pdec': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'peoc': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'peri': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'}),
-            'peri_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'peri+'", 'symmetrical': 'False', 'through': "orm['core.PeriNoticeTerm']", 'to': "orm['core.Term']"}),
-            'peru': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'phot': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'pins': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'plieux': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'prep': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'puti': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'reda': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'ref': ('django.db.models.fields.CharField', [], {'max_length': '20', 'unique': 'True', 'null': 'True', 'blank': 'True'}),
-            'refim': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'repr': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'repr_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'repr+'", 'symmetrical': 'False', 'through': "orm['core.ReprNoticeTerm']", 'to': "orm['core.Term']"}),
-            'srep': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'srep_terms': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'srep+'", 'symmetrical': 'False', 'through': "orm['core.SrepNoticeTerm']", 'to': "orm['core.Term']"}),
-            'stat': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'tech': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'tico': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'titr': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'util': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'video': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'www': ('django.db.models.fields.CharField', [], {'max_length': '512', 'null': 'True', 'blank': 'True'})
-        },
-        'core.noticeterm': {
-            'Meta': {'object_name': 'NoticeTerm'},
-            'graph': ('django.db.models.fields.URLField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'notice': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Notice']"}),
-            'term': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Term']"})
-        },
-        'core.perinoticeterm': {
-            'Meta': {'object_name': 'PeriNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.reprnoticeterm': {
-            'Meta': {'object_name': 'ReprNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.srepnoticeterm': {
-            'Meta': {'object_name': 'SrepNoticeTerm', '_ormbases': ['core.NoticeTerm']},
-            u'noticeterm_ptr': ('django.db.models.fields.related.OneToOneField', [], {'to': "orm['core.NoticeTerm']", 'unique': 'True', 'primary_key': 'True'})
-        },
-        'core.term': {
-            'Meta': {'object_name': 'Term'},
-            'alternative_wikipedia_pageid': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
-            'alternative_wikipedia_url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'created_at': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'dbpedia_uri': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'label': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'db_index': 'True'}),
-            'lang': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '128', 'null': 'True', 'blank': 'True'}),
-            u'level': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            u'lft': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'link_semantic_level': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True', 'db_index': 'True', 'blank': 'True'}),
-            'nb_notice': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
-            'normalized_label': ('django.db.models.fields.CharField', [], {'max_length': '1024', 'db_index': 'True'}),
-            'notices': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'terms+'", 'symmetrical': 'False', 'through': "orm['core.NoticeTerm']", 'to': "orm['core.Notice']"}),
-            'parent': ('mptt.fields.TreeForeignKey', [], {'blank': 'True', 'related_name': "'children'", 'null': 'True', 'to': "orm['core.Term']"}),
-            u'rght': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'thesaurus': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.Thesaurus']"}),
-            u'tree_id': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
-            'uri': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'url_status': ('django.db.models.fields.IntegerField', [], {'default': 'None', 'null': 'True', 'db_index': 'True', 'blank': 'True'}),
-            'validated': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
-            'validation_date': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
-            'validator': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['core.User']", 'null': 'True', 'blank': 'True'}),
-            'wikipedia_edition': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
-            'wikipedia_pageid': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
-            'wikipedia_revision_id': ('django.db.models.fields.BigIntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'wikipedia_url': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'wp_alternative_label': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '1024', 'null': 'True', 'blank': 'True'}),
-            'wp_label': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '1024', 'null': 'True', 'blank': 'True'})
-        },
-        'core.thesaurus': {
-            'Meta': {'ordering': "['label']", 'object_name': 'Thesaurus'},
-            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'label': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128', 'db_index': 'True'}),
-            'title': ('django.db.models.fields.CharField', [], {'max_length': '1024'}),
-            'uri': ('django.db.models.fields.URLField', [], {'db_index': 'True', 'max_length': '2048', 'null': 'True', 'blank': 'True'})
-        },
-        'core.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': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
-            u'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'}),
-            'language': ('django.db.models.fields.CharField', [], {'default': "'fr'", 'max_length': '2'}),
-            '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': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
-            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
-        },
-        'jocondelab.country': {
-            'Meta': {'object_name': 'Country'},
-            'dbpedia_uri': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '2048', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'iso_code_2': ('django.db.models.fields.CharField', [], {'max_length': '2', 'db_index': 'True'}),
-            'iso_code_3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'db_index': 'True'})
-        },
-        'jocondelab.dbpediafields': {
-            'Meta': {'object_name': 'DbpediaFields'},
-            'abstract': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'dbpedia_uri': ('django.db.models.fields.URLField', [], {'max_length': '2048', 'db_index': 'True'}),
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'label': ('django.db.models.fields.CharField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'}),
-            'language_code': ('django.db.models.fields.CharField', [], {'max_length': '15', 'db_index': 'True'}),
-            'term': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dbpedia_fields'", 'to': "orm['core.Term']"}),
-            'thumbnail': ('django.db.models.fields.URLField', [], {'max_length': '2048', 'null': 'True', 'blank': 'True'})
-        },
-        'jocondelab.termlinks': {
-            'Meta': {'object_name': 'TermLinks'},
-            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'object': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'termlinks_objects'", 'to': "orm['core.Term']"}),
-            'subject': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'termlinks_subjects'", 'to': "orm['core.Term']"})
-        }
-    }
-
-    complete_apps = ['contenttypes', 'jocondelab']
-    symmetrical = True
--- a/src/jocondelab/models.py	Mon Aug 19 18:50:12 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-# -*- coding: utf-8 -*-
-'''
-Created on Jun 12, 2013
-
-@author: ymh
-'''
-from django.conf import settings
-from django.contrib.auth.models import AbstractUser
-from django.db import models
-
-class User(AbstractUser):
-    language = models.CharField(max_length=2, default=settings.LANGUAGE_CODE[:2])
-
-class Country(models.Model):
-    dbpedia_uri = models.URLField(max_length=2048, unique=True, blank=False, null=False, db_index=True)
-    iso_code_3 = models.CharField(max_length=3, unique=False, blank=False, null=False, db_index=True)
-    iso_code_2 = models.CharField(max_length=2, unique=False, blank=False, null=False, db_index=True)
-
-class DbpediaResource(models.Model):
-    uri = models.URLField(max_length=2048, unique=True, blank=False, null=False, db_index=True)
-    lang = models.CharField(max_length=128, unique=False, blank=False, null=False, db_index=True)
-
-class DbpediaTranslation(models.Model):
-    dbpediaresource = models.ForeignKey(DbpediaResource, blank=False, null=False, db_index=True, related_name="translations")
-    lang = models.CharField(max_length=15, unique=False, blank=False, null=False, db_index=True)
-    label = models.CharField(max_length=2048, unique=False, blank=True, null=False, db_index=True)
-    
-    class Meta:
-        unique_together = ('dbpediaresource', 'lang')