web/ldt/ldt_utils/models.py
changeset 16 b3692a42ac79
parent 10 84e31387a741
child 41 73753ea1dcef
child 54 24397932219d
equal deleted inserted replaced
13:346e5edf8675 16:b3692a42ac79
     1 from django.db import models
     1 from django.db import models
     2 from django.conf import settings
     2 from django.conf import settings
     3 from ldt.core.models import Document, Owner
     3 from ldt.core.models import Document, Owner
     4 from django.utils.translation import ugettext_lazy as _
     4 from django.utils.translation import ugettext_lazy as _
     5 from utils import create_ldt, copy_ldt, create_iri
     5 from utils import create_ldt, copy_ldt, create_empty_iri
     6 import os
     6 import os
     7 import os.path
     7 import os.path
     8 import uuid
     8 import uuid
     9 import xml
     9 import xml
    10 
    10 
    48         writer.deleteDocuments(lucene.Term("iri_id", self.iri_id))
    48         writer.deleteDocuments(lucene.Term("iri_id", self.iri_id))
    49         writer.commit()
    49         writer.commit()
    50         
    50         
    51     def save(self):
    51     def save(self):
    52         # create iri file if needed
    52         # create iri file if needed
    53         iri_file_path = self.iri_file_path()
    53         try:
    54         if not os.path.exists(iri_file_path):
    54             iri_file_path = self.iri_file_path()
    55             dir = os.path.dirname(iri_file_path)
    55             if not os.path.exists(iri_file_path):
    56             if not os.path.exists(dir):
    56                 dir = os.path.dirname(iri_file_path)
    57                 os.makedirs(dir)
    57                 if not os.path.exists(dir):
    58             file = open(iri_file_path,"w")
    58                     os.makedirs(dir)
    59             create_iri(file, self, "IRI")
    59                 file = open(iri_file_path,"w")
       
    60                 create_empty_iri(file, self, "IRI")
       
    61         except Exception, e:
       
    62             if os.path.exists(iri_file_path):
       
    63                 os.remove(iri_file_path)
       
    64                 raise e
    60         # update it 
    65         # update it 
    61         super(Content, self).save()
    66         super(Content, self).save()
    62     
    67     
    63     def __unicode__(self):
    68     def __unicode__(self):
    64         return str(self.id) + ": " + self.iri_id
    69         return str(self.id) + ": " + self.iri_id