src/jocondelab/models/data.py
author veltr
Thu, 19 Sep 2013 17:57:10 +0200
changeset 111 439485fd5961
parent 110 597fa9d09973
child 150 c4c2f3be5ddd
permissions -rw-r--r--
Add year search on timeline
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
91
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
'''
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
Created on Jul 31, 2013
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
@author: ymh
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
'''
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
from django.db import models
111
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
     8
from core.models import (Term, Notice)
91
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
class Country(models.Model):
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
    dbpedia_uri = models.URLField(max_length=2048, unique=True, blank=False, null=False, db_index=True)
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    iso_code_3 = models.CharField(max_length=3, unique=False, blank=False, null=False, db_index=True)
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    iso_code_2 = models.CharField(max_length=2, unique=False, blank=False, null=False, db_index=True)
103
da385c0872a6 Added Country map
veltr
parents: 96
diff changeset
    14
    nb_notices = models.IntegerField(null=False, blank=False, db_index=True, default=0)
91
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    class Meta:
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        app_label = 'jocondelab'
110
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    18
    
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    19
    def __unicode__(self):
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    20
        return self.dbpedia_uri
91
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
class DbpediaFields(models.Model):
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
     
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    dbpedia_uri = models.URLField(max_length=2048, blank=False, null=False, db_index=True, unique=False)
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    language_code = models.CharField(max_length=15, blank=False, null=False, db_index=True)
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    term = models.ForeignKey(Term, blank=False, null=False, db_index=True, related_name="dbpedia_fields")
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    thumbnail = models.URLField(max_length=2048, blank=True, null=True, db_index=False)    
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    label = models.CharField(max_length=2048, unique=False, blank=True, null=True)
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    abstract = models.TextField(blank=True, null=True)
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
 
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    class Meta:
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        app_label = 'jocondelab'
110
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    34
    
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    35
    def __unicode__(self):
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    36
        return u'"%s"@%s'%(self.label, self.language_code)
91
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
 
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
class TermLinks(models.Model):
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
     
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    subject = models.ForeignKey(Term, blank=False, null=False, db_index=True, related_name="termlinks_subjects")
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    object = models.ForeignKey(Term, blank=False, null=False, db_index=True, related_name="termlinks_objects")
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
     
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    class Meta:
3bbf7371378a Model reorganization for user + migration.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        app_label = 'jocondelab'
96
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    45
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    46
class DbpediaYears(models.Model):
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    47
    term = models.ForeignKey(Term, unique=True, blank=False, null=False, db_index=True, related_name="years")
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    48
    start_year = models.IntegerField(null=False, blank=False, db_index=True)
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    49
    end_year = models.IntegerField(null=False, blank=False, db_index=True)
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    50
    
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    51
    class Meta:
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    52
        app_label = 'jocondelab'
110
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    53
        
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    54
    def __unicode__(self):
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    55
        return u'%s: %d - %d'%(self.term.dbpedia_uri, self.start_year, self.end_year)
96
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    56
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    57
class DbpediaGeo(models.Model):
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    58
    term = models.ForeignKey(Term, unique=True, blank=False, null=False, db_index=True, related_name="geo")
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    59
    latitude = models.FloatField(null=False, blank=False, db_index=True)
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    60
    longitude = models.FloatField(null=False, blank=False, db_index=True)
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    61
    
eca960eac58b Added Geo and Years tables
veltr
parents: 91
diff changeset
    62
    class Meta:
110
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    63
        app_label = 'jocondelab'
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    64
        
597fa9d09973 Added Term List View
veltr
parents: 103
diff changeset
    65
    def __unicode__(self):
111
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    66
        return u'%s: %.4f%s, %.4f%s'%(self.term.dbpedia_uri, abs(self.latitude), 'N' if self.latitude > 0 else 'S', abs(self.longitude), 'E' if self.longitude > 0 else 'W')
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    67
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    68
class NoticeYears(models.Model):
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    69
    notice = models.ForeignKey(Notice, unique=True, blank=False, null=False, db_index=True, related_name="years")
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    70
    start_year = models.IntegerField(null=False, blank=False, db_index=True)
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    71
    end_year = models.IntegerField(null=False, blank=False, db_index=True)
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    72
    
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    73
    class Meta:
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    74
        app_label = 'jocondelab'
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    75
    
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    76
    def __unicode__(self):
439485fd5961 Add year search on timeline
veltr
parents: 110
diff changeset
    77
        return u'%s: %d - %d'%(self.notice.titr or self.notice.deno, self.start_year, self.end_year)