Esempio n. 1
0
def thumbnail(request, id_, hash_):
    raw_filepath = os.path.join(upload_directory, id_, request.GET.get("raw"))
    cache_dir = os.path.join(cache_root, id_)
    filepath = os.path.join(cache_dir, hash_ + ".jpeg")
    if not os.path.exists(filepath):
        try:
            generate_thumbnail(raw_filepath, cache_dir)
        except RawNotFound:
            raise django.http.Http404("{}/{}.jpeg".format(id_, hash_))
    response = django.http.HttpResponse()
    response["X-Sendfile"] = filepath
    response["Content-Type"] = mimetypes.guess_type(filepath)[0] or "application/octet-stream"
    response["Content-Length"] = os.path.getsize(filepath)
    return response
Esempio n. 2
0
def thumbnail(request, id_, hash_):
    raw_filepath = os.path.join(upload_directory, id_, request.GET.get("raw"))
    cache_dir = os.path.join(cache_root, id_)
    filepath = os.path.join(cache_dir, hash_ + ".jpeg")
    if not os.path.exists(filepath):
        try:
            generate_thumbnail(raw_filepath, cache_dir)
        except RawNotFound:
            raise django.http.Http404("{1}/{2}.jpeg".format(id_, hash_))
    response = django.http.HttpResponse()
    response["X-Sendfile"] = filepath
    response["Content-Type"] = mimetypes.guess_type(
        filepath)[0] or "application/octet-stream"
    response["Content-Length"] = os.path.getsize(filepath)
    return response
Esempio n. 3
0
def upload(request, obj_id=None):
    imagen = Imagenes()
    directorio = Directorios.objects.none()

    if obj_id:
        imagen = Imagenes.objects.get(id=obj_id,
                                      directorio__grupo__in=request.user.groups.all())
        if imagen.deleted:
            contenido_no_disponible()

        directorio = imagen.directorio
        directorios_qs = Directorios.objects.not_deleted(padre=directorio.id,
                                                         grupo__in=request.user.groups.all())

    else:
        directorios_qs = Directorios.objects.not_deleted(padre=None,
                                                         grupo__in=request.user.groups.all())

    data = {
        'forms':{
            'imagenes': ImagenesForm(instance=imagen,
                                     request=request),
            },
        'directorio': directorio,
        'directorios': directorios_qs,
        'imagenes': Imagenes.objects.none(),
        }

    if request.method == "POST":
        form = ImagenesForm(request.POST, request.FILES, instance=imagen,
                            request=request)
        if form.is_valid():
            imagen = form.instance
            imagen.save()

            if not utils.has_thumbnail(imagen.path):
                utils.generate_thumbnail(imagen.path)
        

            return HttpResponseRedirect("%s%s"%(reverse('imgbrowser_list'), 
                                                '' if not imagen.directorio \
                                                    else imagen.directorio.fullpath)
                                        )
        else:
            data['forms']['imagenes'] = form

    return render(request, "django_imgbrowser/upload.html", data)
Esempio n. 4
0
    def save_video(self, path, still):
        recd = self.createNewRecorded(constants.TYPE_VIDEO)
        os.rename(path, os.path.join(Instance.instancePath, recd.mediaFilename))

        still = utils.generate_thumbnail(still)
        still.save(recd.make_thumb_path(), "png")

        self.createNewRecordedMd5Sums( recd )

        gobject.idle_add(self.add_recd, recd, priority=gobject.PRIORITY_HIGH)
        gobject.idle_add(self.set_state, constants.STATE_READY)
Esempio n. 5
0
    def save_photo(self, pixbuf):
        recd = self.createNewRecorded(constants.TYPE_PHOTO)

        imgpath = os.path.join(Instance.instancePath, recd.mediaFilename)
        pixbuf.save(imgpath, "jpeg")

        pixbuf = utils.generate_thumbnail(pixbuf)
        pixbuf.save(recd.make_thumb_path(), "png")

        #now that we've saved both the image and its pixbuf, we get their md5s
        self.createNewRecordedMd5Sums( recd )

        gobject.idle_add(self.add_recd, recd, priority=gobject.PRIORITY_HIGH)
        gobject.idle_add(self.activity.set_shutter_sensitive, True, priority=gobject.PRIORITY_HIGH)
Esempio n. 6
0
    def save_photo(self, pixbuf):
        recd = self.createNewRecorded(constants.TYPE_PHOTO)

        imgpath = os.path.join(Instance.instancePath, recd.mediaFilename)
        pixbuf.savev(imgpath, "jpeg", [], [])

        pixbuf = utils.generate_thumbnail(pixbuf)
        pixbuf.savev(recd.make_thumb_path(), "png", [], [])

        # now that we've saved both the image and its pixbuf, we get their md5s
        self.createNewRecordedMd5Sums(recd)

        GLib.idle_add(self.add_recd, recd, priority=GLib.PRIORITY_HIGH)
        GLib.idle_add(self.activity.set_shutter_sensitive,
                      True,
                      priority=GLib.PRIORITY_HIGH)
Esempio n. 7
0
    def save_video(self, path, still):
        recd = self.createNewRecorded(constants.TYPE_VIDEO)
        os.rename(path, os.path.join(Instance.instancePath,
                                     recd.mediaFilename))

        image_path = os.path.join(Instance.instancePath, "videoPicture.png")
        image_path = utils.getUniqueFilepath(image_path, 0)
        still.savev(image_path, "png", [], [])
        recd.videoImageFilename = os.path.basename(image_path)

        still = utils.generate_thumbnail(still)
        still.savev(recd.make_thumb_path(), "png", [], [])

        self.createNewRecordedMd5Sums(recd)

        GLib.idle_add(self.add_recd, recd, priority=GLib.PRIORITY_HIGH)
        GLib.idle_add(self.set_state, constants.STATE_READY)
Esempio n. 8
0
    def save_video(self, path, still):
        recd = self.createNewRecorded(constants.TYPE_VIDEO)
        os.rename(path, os.path.join(Instance.instancePath,
                                     recd.mediaFilename))

        image_path = os.path.join(Instance.instancePath, "videoPicture.png")
        image_path = utils.getUniqueFilepath(image_path, 0)
        still.savev(image_path, "png", [], [])
        recd.videoImageFilename = os.path.basename(image_path)

        still = utils.generate_thumbnail(still)
        still.savev(recd.make_thumb_path(), "png", [], [])

        self.createNewRecordedMd5Sums(recd)

        GLib.idle_add(self.add_recd, recd, priority=GLib.PRIORITY_HIGH)
        GLib.idle_add(self.set_state, constants.STATE_READY)
Esempio n. 9
0
    def save_audio(self, path, still):
        recd = self.createNewRecorded(constants.TYPE_AUDIO)
        os.rename(path, os.path.join(Instance.instancePath, recd.mediaFilename))

        if still:
            image_path = os.path.join(Instance.instancePath, "audioPicture.png")
            image_path = utils.getUniqueFilepath(image_path, 0)
            still.save(image_path, "png")
            recd.audioImageFilename = os.path.basename(image_path)

            still = utils.generate_thumbnail(still)
            still.save(recd.make_thumb_path(), "png")

        self.createNewRecordedMd5Sums( recd )

        gobject.idle_add(self.add_recd, recd, priority=gobject.PRIORITY_HIGH)
        gobject.idle_add(self.set_state, constants.STATE_READY)