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 |