diff -r cef485504ba8 -r d42bb045f7d1 web/ldt/ldt_utils/models.py --- a/web/ldt/ldt_utils/models.py Sat Jun 12 05:19:30 2010 +0200 +++ b/web/ldt/ldt_utils/models.py Tue Jun 15 02:13:47 2010 +0200 @@ -2,8 +2,7 @@ from django.conf import settings from ldt.core.models import Document, Owner from django.utils.translation import ugettext_lazy as _ -from utils import create_ldt, copy_ldt, create_empty_iri -import os +from utils import create_ldt, copy_ldt, create_empty_iri, update_iri import os.path import uuid import xml @@ -48,20 +47,28 @@ writer.deleteDocuments(lucene.Term("iri_id", self.iri_id)) writer.commit() + #TODO: better manage the change in .iri name and error scenario (save in temp file + rename def save(self): # create iri file if needed + created = False try: iri_file_path = self.iri_file_path() if not os.path.exists(iri_file_path): dir = os.path.dirname(iri_file_path) if not os.path.exists(dir): os.makedirs(dir) + created = True file = open(iri_file_path,"w") create_empty_iri(file, self, "IRI") + else: + created = False + update_iri(iri_file_path, self, "IRI") + except Exception, e: - if os.path.exists(iri_file_path): - os.remove(iri_file_path) - raise e + if created: + if os.path.exists(iri_file_path): + os.remove(iri_file_path) + raise e # update it super(Content, self).save()