diff -r 94f586daa623 -r 8ca7f2cea729 alcatel/controller/DocumentaryFiles.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/alcatel/controller/DocumentaryFiles.py Thu Jan 24 16:58:55 2013 +0100 @@ -0,0 +1,75 @@ +''' +Created on 8 aout 2012 + +@author: gerard +''' +import logging +import simplejson + +from dataparser.DocumentaryFilesGetAttributes import DocumentaryFilesGetAttributes +from document.models import AnnotationDocumentaryFile +from document.models import Documentaryfile +from document.models import Image +from django.contrib.auth.models import User + +logger = logging.getLogger('document') + +class DocumentaryFiles(object): + + def __init__(self, request): + self.request = request + + def get_files(self,user,offset,count): + print 'get_files' + print user + '''attr = DocumentaryFilesGetAttributes(self.request)''' + + '''if not attr.get_user():''' + if not user: + json = '{"error msg": "user is not defined"}' + return json + + '''if attr.get_offset() == '':''' + if not offset: + json = '{"error msg": "no offset defined"}' + return json + + '''if attr.get_count() == '':''' + if not count: + json = '{"error msg": "no count defined"}' + return json + + json = {} + '''json['offset'] = int(attr.get_offset()) + json['count'] = int(attr.get_count())''' + json['offset'] = int(offset) + json['count'] = int(count) + total_count = 0 + json['documentary_files'] = [] + + the_user = User.objects.filter(username=user) + + if the_user: + documentaryFiles = Documentaryfile.objects.filter(user_id=the_user[0].id) + for docfile in documentaryFiles: + total_count += 1 + if total_count - 1 >= int(offset) and total_count - 1 < int(offset) + int(count): + jsonfile = {'id':docfile.id} + jsonfile['date'] = docfile.date.isoformat() + jsonfile['description'] = str(docfile.description) + jsonfile['title'] = str(docfile.title) + image = Image.objects.get(id=docfile.image_id) + jsonfile['url_image'] = str(image.url) + + jsonfile['annotations'] = [] + annotations = AnnotationDocumentaryFile.objects.filter(documentaryFile_id=docfile.id) + for annotation in annotations: + jsonannotation = {'id':annotation.id} + jsonannotation['user'] = annotation.user_id + jsonannotation['text'] = annotation.description + jsonfile['annotations'].append(jsonannotation) + json['documentary_files'].append(jsonfile) + json['total_count'] = total_count + result = simplejson.dumps(json) + logger.debug(result) + return result \ No newline at end of file