예제 #1
0
 def _prepare_rel_data_to_publish(self, rel, data):
     cleandata = super(AlbumForm, self)._prepare_rel_data_to_publish(rel,
                                                                      data)
     handler = ImageHandler()
     handler.load_by_filename_album(cleandata['image'], self.instance)
     handler.copy_images_to_album(self.draft)
     return cleandata
예제 #2
0
 def on_ebFace_button_release_event(self, widget, data=None):
     imagePath = SelectImageDialog(_('Select user image'), self.user['user'].pw_dir, self.windowUser).show()
     if imagePath is not None:
         ih = ImageHandler(imagePath)
         ih.makeFaceImage(self.tempFace)
         if exists(self.tempFace):
             self.imgFace.set_from_pixbuf(ih.pixbuf)
예제 #3
0
 def setBackground(self, path):
     # Set Background
     if path is not None:
         if exists(path):
             ih = ImageHandler(path)
             ih.resizeImage(height=200)
             self.imgBackground.set_from_pixbuf(ih.pixbuf)
         else:
             self.imgBackground.set_from_file(self.selectImg)
     else:
         self.imgBackground.set_from_file(self.selectImg)
 def setBackground(self, path):
     # Set Background
     if path is not None:
         if exists(path):
             ih = ImageHandler(path)
             ih.resizeImage(height=200)
             self.imgBackground.set_from_pixbuf(ih.pixbuf)
         else:
             self.imgBackground.set_from_file(self.selectImg)
     else:
         self.imgBackground.set_from_file(self.selectImg)
 def on_ebFace_button_release_event(self, widget, event):
     home = self.usr.getUserHomeDir(self.curUser)
     primaryGroup = self.usr.getUserPrimaryGroupName(self.curUser)
     imagePath = SelectImageDialog(_('Select user image'), home, self.window).show()
     if imagePath is not None:
         tempUserImg = "%(tempFace)s.%(curUser)s" % {"tempFace": self.tempFace, "curUser": self.curUser}
         self.newFaces.append([tempUserImg, join(home, ".face"), self.curUser, primaryGroup])
         print((">>> self.newFaces = %s" % self.newFaces))
         ih = ImageHandler(imagePath)
         ih.makeFaceImage(tempUserImg)
         if exists(tempUserImg):
             self.imgFace.set_from_pixbuf(ih.pixbuf)
         else:
             # This should never happen
             self.imgFace.set_from_file(self.selectImg)
예제 #6
0
def upload_ajax(request):
    handler = ImageHandler()
    handler.load_by_image_user(request.FILES["image"], request.user)
    handler.save_thumbnails()
    url = handler.url("small")
    url_view = handler.url("big")
    name = handler.original_filename()
    data = {"url": url, "url_view": url_view, "name": name}
    return {"success": True, "data": data}
예제 #7
0
 def on_ebFace_button_release_event(self, widget, event):
     home = self.usr.getUserHomeDir(self.curUser)
     primaryGroup = self.usr.getUserPrimaryGroupName(self.curUser)
     imagePath = SelectImageDialog(_('Select user image'), home,
                                   self.window).show()
     if imagePath is not None:
         tempUserImg = "%(tempFace)s.%(curUser)s" % {
             "tempFace": self.tempFace,
             "curUser": self.curUser
         }
         self.newFaces.append(
             [tempUserImg,
              join(home, ".face"), self.curUser, primaryGroup])
         print((">>> self.newFaces = %s" % self.newFaces))
         ih = ImageHandler(imagePath)
         ih.makeFaceImage(tempUserImg)
         if exists(tempUserImg):
             self.imgFace.set_from_pixbuf(ih.pixbuf)
         else:
             # This should never happen
             self.imgFace.set_from_file(self.selectImg)
예제 #8
0
def cancel_upload_ajax(request):
    image = request.POST["image"]
    handler = ImageHandler()
    handler.load_by_filename_user(image, request.user)
    handler.delete()
    return {"success": True}
예제 #9
0
                                          upload_file['body'])

        elif method == "deleteImage":
            filename = self.get_argument("filename")
            ImageHandler.inst.deleteImage(filepath, filename)


_settings = {
    "static_path": os.path.join(os.path.dirname(__file__), "static"),
    "template_path": os.path.join(os.path.dirname(__file__), "templ"),
    "autoreload": True,
    "debug": True
}

application = tornado.web.Application([
    (r"/blog/(.*)", BlogServer),
    (r"/image/(.*)", ImageServer),
    (r'/static/(.*)', tornado.web.StaticFileHandler, {
        'path': "./static/"
    }),
    (r'/blogdb/(.*)', tornado.web.StaticFileHandler, {
        'path': "../frontend/blog/"
    }),
], **_settings)

if __name__ == "__main__":
    application.listen(8888)
    BlogpostHandler()
    ImageHandler()
    tornado.ioloop.IOLoop.current().start()
from image import ImageHandler
from kmeans import Kmeans

import argparse

DEFAULT_NUMBER_CENTERS = 10

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Recolor an image.',
                                     add_help=True)
    parser.add_argument('imagepath', help='the path to the image')
    parser.add_argument(
        'k',
        type=int,
        default=DEFAULT_NUMBER_CENTERS,
        nargs='?',
        help='the number of colors in the final image, defaults to 10')

    args = parser.parse_args()

    image_file = args.imagepath
    ih = ImageHandler(image_file)

    kmeans = Kmeans(args.k, ih.pixels_list())
    assigned_color_indexes = kmeans.process()

    new_colors = RandomColor(args.k).list_of_colors()

    ih.repaint_with_new_colors(assigned_color_indexes, new_colors)
    ih.show_result()
예제 #11
0
 def _prepare_data_to_publish(self, data):
     cleandata = super(AlbumForm, self)._prepare_data_to_publish(data)
     handler = ImageHandler()
     handler.load_by_filename_album(cleandata['name'], self.instance)
     handler.delete_path()
     return cleandata
예제 #12
0
    def _build_img_data(self, name, description):
        handler = ImageHandler()
        if self.draft and self.draft.id:
            handler.load_by_draft(name, self.draft)
        elif self.instance and self.instance.id:
            if self.user:
                handler.load_by_filename_album(name, self.instance, self.user)
            else:
                handler.load_by_filename_album(name, self.instance)
        else:
            handler.load_by_filename_user(name, self.user)

        if not handler.urls():
            handler.load_by_filename_user(name, self.user)
            if not handler.urls():
                raise ImageHandlerException("Image %s not found." % name)

        img = {
            'name': {'value': name},
            'description': {'value': description},
            'url': handler.url('small'),
            'url_view': handler.url('big')
        }
        return img
예제 #13
0
 def save(self, *args, **kwargs):
     super(AlbumForm, self).save(*args, **kwargs)
     reldata = []
     for photo in self._js_fields['photo']:
         handler = ImageHandler()
         handler.load_by_draft(photo['name']['value'], self.draft)
         handler.copy_new_images_to_draft(self.user)
         handler.copy_album_images_to_draft(self.user)
         info = {
             'description': photo['description']['value'],
             'image': photo['name']['value']
         }
         info.update(handler.urls())
         reldata.append(info)
     self._set_rel_fields({'photos': reldata})
     self.draft.set_content_object(self.cleaned_data)
     self.draft.save()
     newhandler = ImageHandler()
     newhandler.load_by_filename_user('', self.user)
     newhandler.delete_path()
     ImageHandler.delete_junk(self.draft)