'type',
'format',
'language',
- 'listsets',
'disciplines',
'thematiques',
+ 'validated',
]
search_fields = []
readonly_fields = []
- list_filter = ('server',)
+ list_filter = ('server', 'validated')
list_display = (
#OAI et extra AUF
'title',
#'issued',
#'isbn',
#'orig_lang',
+ 'validated',
)
def __init__(self, *args, **kwargs):
for set in [ls for ls in ListSet.objects.all() if ls.spec in value]:
record.listsets.add(set)
- def _save (self, metadata):
- r = Record ()
+ def _update_record(self, r, metadata):
for k in metadata.keys ():
if hasattr(self, k):
method = getattr(self, k)
r.last_checksum = hashlib.md5(str(metadata)).hexdigest()
r.last_update = datetime.datetime.today()
r.save()
+
+
+ def _save (self, metadata):
+ r = Record ()
+ self._update_record(r, metadata)
return r.id
def _modify (self, id, metadata):
# test si le fichier a été modifié
if hashlib.md5(str(metadata)).hexdigest() == r.last_checksum:
return False
-
- for k in metadata.keys ():
- if hasattr(self, k):
- method = getattr(self, k)
- method(r, metadata[k])
- else:
- setattr (r, k, self.encoder.encode(k, metadata[k]))
- r.last_update = datetime.datetime.today()
- r.save()
+ self._update_record(r, metadata)
+
return True
def _combine (self, result_lists, op):
server = models.CharField(max_length = 255)
last_update = models.CharField(max_length = 255)
last_checksum = models.CharField(max_length = 255)
+ validated = models.BooleanField(default = True)
#OAI
title = models.TextField(null = True, blank = True)
format = models.TextField(null = True, blank = True)
language = models.TextField(null = True, blank = True)
- listsets = models.ManyToManyField(ListSet)
+ listsets = models.ManyToManyField(ListSet, null = True, blank = True)
#SEP 2 (aucune données récoltées)
alt_title = models.TextField(null = True, blank = True)