def save_picture(request): picture = Picture.objects.get(pk=request.POST['picture_id']) user_info = request.user.get_profile() user_info.picture = picture user_info.save() thumb = Picture.create_thumbnail(picture, 180, 180) thumb_small = Picture.create_thumbnail(picture, 50, 50) return HttpResponse('{"result":{"picture_id":%s,"thumb_id":%s,"width":%d,"height":%d,"thumb_small_id":%s}}' % (str(picture.id), thumb.id, thumb.width, thumb.height, thumb_small.id), 'text/html', 200)
def testCreatePicture(self): logging.info('creating a picture ...') picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = PictureTestCase.PICTURE_FILE_NAME picture.save() self.assertEquals(193, picture.width) self.assertEquals(237, picture.height) self.assertEquals('jpg', picture.format)
def save_picture(request, id): picture = Picture.objects.get(pk=request.POST["picture_id"]) disc = get_object_or_404(Discipline, pk=id) disc.picture = picture disc.save() return HttpResponse( '{"result":{"picture_id":%s,"thumb_id":%s,"thumb_small_id":%s}}' % ( str(picture.id), Picture.create_thumbnail(picture, 180, 180).id, Picture.create_thumbnail(picture, 50, 50).id, ), "text/html", 200, )
def testSomething(self): picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = AlbumTestCase.PICTURE_FILE_NAME picture.save() institution = Institution(name='Institution', picture=picture, description='Description', homepage='http://www.homepage.com') institution.save() album = Album.create_album(title='Some party', instance=institution) album.add_picture(picture) logging.info('Institution albums: %s' % str(Album.objects.for_model(institution))) for rpa in album.picture_album_set.all(): logging.info('Picture - %s [%d x %d]' % (rpa.picture.filename, rpa.picture.width, rpa.picture.height))
def testCreateThumbnail(self): picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = PictureTestCase.PICTURE_FILE_NAME picture.save() thumb = Picture.create_thumbnail(picture, 32, 32) self.assertTrue(thumb is not None)
def set_picture(request): picture = Picture() picture.picture = request.FILES['picture'].read() picture.save() request.session['picture_id'] = picture.id thumb = Picture.create_thumbnail(picture, 200, 200) thumb_small = Picture.create_thumbnail(picture, 50, 50) return HttpResponse('{"result":{"picture_id":%s,"thumb_id":%s,"width":%d,"height":%d,"thumb_small_id":%s}}' % (str(picture.id), thumb.id, thumb.width, thumb.height, thumb_small.id), 'text/html', 200)
def add_picture(request, class_name, slug, album_id): instance = get_class(class_name).objects.get(slug=slug) album = Album.objects.get(pk=album_id) form = None if request.method == 'GET': form = PictureForm() else: form = PictureForm(request.POST) if form.is_valid(): data = form.cleaned_data if request.FILES.has_key('picture'): picture = Picture() picture.picture = request.FILES['picture'].read() picture.save() rpa = RelPictureAlbum(picture=picture, album=album) if data.has_key('description'): rpa.description = data['description'] if data.has_key('is_cover'): rpa.is_cover = True rpa.save() return HttpResponseRedirect(reverse('portal.album.views.detail', args=[class_name, slug, album_id, ])) else: form.errors['picture'] = form.error_class([_('The picture is required.'),]) ctx = { 'instance': instance, 'album': album, 'form': form, } return direct_to_template(request, 'album/add_picture.html', ctx)
def testGetThumbnail(self): picture = Picture() picture.picture = db.Blob(self.picture_file) picture.filename = PictureTestCase.PICTURE_FILE_NAME picture.save() pre_thumb = Picture.create_thumbnail(picture, 32, 32) self.assertTrue(pre_thumb is not None) thumb = Picture.get_thumbnail(picture, 32, 32) self.assertTrue(thumb is not None) self.assertEquals(pre_thumb.id, thumb.id) # It should not create a new thumbnail self.assertTrue(thumb.width <= 32) self.assertTrue(thumb.height <= 32) self.assertEquals('jpg', thumb.format) thumb = Picture.get_thumbnail(picture, 64, 64) self.assertTrue(thumb is not None) self.assertTrue(thumb.id != pre_thumb.id) thumb = Picture.get_thumbnail(picture, 128, 128) self.assertTrue(thumb is not None) self.assertTrue(thumb.id != pre_thumb.id)
def get_discipline(request): codigo = request.POST["codigo"] senha = request.POST["senha"] queryset = DisciplineMetadata.objects.filter(cod_turma=codigo, senha=senha) if not queryset.exists(): return HttpResponse( '{"status":"erro","mensagem":"Não foi possível localizar uma disciplina com os dados informados"}' ) discipline = queryset[0].discipline imagem = "<img style='float:left' src='%s' width='50px' heighth='50px'/>" % media_url("images/books.png") if discipline.picture: thumb = Picture.get_thumbnail(discipline.picture, 50, 50) imagem = "<img style='float:left' src='/image/%d/' width='%dpx' heighth='%dpx'/>" % ( thumb.id, thumb.width, thumb.height, ) return HttpResponse( u'{"status":"ok","nome":"%s","id":"%s","imagem":"%s"}' % (discipline.name, discipline.id, imagem) )
def user_info(request, user_id): user = User.objects.get(pk=user_id) user_info = user.get_profile() horario_tbl = None if user_info.schedule_cache: horario_tbl = user_info.schedule_cache else: dias = ('segunda', 'terca', 'quarta', 'quinta', 'sexta', 'sabado') cores = ('#BFCFF2', '#F1c8c8', '#FFCBB6', '#FFFFAA', '#D7BCF2', '#BBBBFF', '#A1EDB2', '#BBFFFF', '#FFF7D7') cor_atual = 0 horarios = [] if user_info.is_teacher or user_info.get_disciplines_studies(): disciplinas = [] if user_info.is_teacher: disciplinas = [d.disciplinemetadata_set.all()[0] for d in user_info.get_disciplines_teaches() if d.disciplinemetadata_set.exists()] else: disciplinas = [d.disciplinemetadata_set.all()[0] for d in user_info.get_disciplines_studies() if d.disciplinemetadata_set.exists()] horario_tbl = u'<h2>Horário</h2>' horario_tbl += u'<table id="horario_table">\n' horario_tbl += u'<thead><tr><th> </th><th>Segunda</th><th>Terça</th><th>Quarta</th><th>Quinta</th><th>Sexta</th><th>Sábado</th></tr></thead>\n' horario_tbl += u'<tbody>\n' for d in disciplinas: for dia in range(0, 6): if d.__dict__[dias[dia]] and d.__dict__[dias[dia]] != 'null': horarios += get_hora_inicio_fim(d.__dict__[dias[dia]]) horarios = set(horarios) horarios = list(horarios) horarios.sort() rowspan_map = {} rowspan_app_map = {} for hora in horarios: for dia in range(0, 6): for d in disciplinas: if d.__dict__[dias[dia]] and d.__dict__[dias[dia]] != 'null': horario = get_hora_inicio_fim(d.__dict__[dias[dia]]) if hora >= horario[0] and hora < horario[1]: key = (dia, d) qtd = 0 if rowspan_map.has_key(key): qtd = rowspan_map[key] rowspan_map[key] = qtd + 1 for i in range(len(horarios)): hora = horarios[i] qtd_hora = 0 if i < len(horarios) - 1: hora_fim = horarios[i + 1] horario_tmp = u'<tr><th>%02d:%02d<br/>%02d:%02d</th>' % (hora.hour, hora.minute,hora_fim.hour, hora_fim.minute) else: horario_tmp = u'<tr><th>%02d:%02d</th>' % (hora.hour, hora.minute) for dia in range(0, 6): qtd_dia = 0 for d in disciplinas: if d.__dict__[dias[dia]] and d.__dict__[dias[dia]] != 'null': horario = get_hora_inicio_fim(d.__dict__[dias[dia]]) if hora >= horario[0] and hora < horario[1]: qtd_dia += 1 qtd_hora += 1 key = (dia, d) if not rowspan_app_map.has_key(key): rowspan_app_map[key] = True tooltip = u'' if d.discipline.picture: tooltip += u"<img src='/image/%d/'/>" % Picture.get_thumbnail(d.discipline.picture, 50, 50).id else: tooltip += u"<img src='%s' width='50px' height='50px'/>" % media_url('images/books.png') tooltip += u'%s<br/>'% d.discipline.name tooltip += u'<b>Sala:</b> %s<br/>' % d.discipline.get_sala() tooltip += u'<b>Horário:</b> %s' % d.discipline.get_horario().replace('\n', '<br/>') link = reverse('portal.disciplines.views.detail', args=[d.discipline.course.institution.slug, d.discipline.course.slug, d.discipline.slug]) img = None if d.discipline.picture: img = u"<img src='/image/%d/'/>" % Picture.get_thumbnail(d.discipline.picture, 10, 10).id else: img = u"<img src='%s' width='10px' height='10px'/>" % media_url('images/books.png') horario_tmp += u'<td rowspan="%d" class="filled" style="background-color:%s" title="%s"><div>%s<a href="%s">%s</a></div></td>' % (rowspan_map[key], cores[cor_atual], tooltip, img, link, d.discipline.name.split('-')[0]) cor_atual = (cor_atual + 1) % len(cores) break; if qtd_dia == 0: horario_tmp += u'<td> </td>' horario_tmp += u'</tr>\n' if qtd_hora > 0: horario_tbl += horario_tmp horario_tbl += u'</tbody></table>' if len(horarios) == 0: horario_tbl = '' disciplinas = [] if user_info.is_teacher: disciplinas = user_info.get_disciplines_teaches() else: disciplinas = user_info.get_disciplines_studies() if len(disciplinas) > 0: horario_tbl += '<h2>Disciplinas</h2>' horario_tbl += '<ul class="item_list">' for d in disciplinas: horario_tbl += '<li>' horario_tbl += '<a href="%s">' % reverse('portal.disciplines.views.detail', args=[d.course.institution.slug, d.course.slug, d.slug]) if d.picture: horario_tbl += '<img src="/image/%d/"/>' % Picture.get_thumbnail(d.picture, 50, 50).id else: horario_tbl += '<img src="%s" width="50px" height="50px"/>' % media_url('images/books.png') horario_tbl += '<p>%s</p>' % d.name horario_tbl += '</a>' horario_tbl += '</li>' horario_tbl += '</ul>' user_info.schedule_cache = horario_tbl user_info.save() msg_form = MessageForm(user.get_profile()) upload_url, upload_data = prepare_upload(request, reverse('portal.messages.views.attach_file')) ctx = { 'user_obj' : user, 'profile' : user.get_profile(), 'horario' : horario_tbl, 'msg_form' : msg_form, 'attach_form': AttachmentForm(), 'upload_url' : upload_url, 'upload_data': upload_data, 'next' : request.get_full_path(), } return direct_to_template(request, 'registration/profile.html', ctx)
def show_thumbnail(picture, size): size = size.lower().split('x') return show_image(Picture.get_thumbnail(picture, int(size[0]), int(size[1])))
def save_picture(request, slug): picture = Picture.objects.get(pk=request.POST['picture_id']) inst = get_object_or_404(Institution, slug__exact=slug) inst.picture = picture inst.save() return HttpResponse('{"result":{"picture_id":%s,"thumb_id":%s,"thumb_small_id":%s}}' % (str(picture.id), Picture.create_thumbnail(picture, 180, 180).id, Picture.create_thumbnail(picture, 50, 50).id), 'text/html', 200)
def save_picture(request, id): picture = Picture.objects.get(pk=request.POST['picture_id']) course = get_object_or_404(Course, pk=id) course.picture = picture course.save() return HttpResponse('{"result":{"picture_id":%s,"thumb_id":%s,"thumb_small_id":%s}}' % (str(picture.id), Picture.create_thumbnail(picture, 180, 180).id, Picture.create_thumbnail(picture, 50, 50).id), 'text/html', 200)