Exemple #1
0
def remove_blotch(blotchId):
  log('Client requested removal of blotch ', blotchId)

  global session
  session.currImgSession.remove_blotch(int(blotchId))

  pyperclip.copy(session.get_clipboard_str())

  return session.get_UIState_msg().SerializeToString()
Exemple #2
0
def set_zoom(viewRatio: str, srcRatio: str):
  viewRatio = int(viewRatio)
  srcRatio = int(srcRatio)

  log(f'Client requested zoom of {viewRatio}:{srcRatio} (viewRatio:srcRatio)')

  global session
  session.set_img_zoom(viewRatio, srcRatio)

  return session.get_UIState_msg().SerializeToString()
Exemple #3
0
def do_open_folder():
    log('opening folder selection ui')

    # global imageFolder
    # imageFolder = ImageFolder.from_gui_folder_selection()

    global session
    session.set_imgFolder(ImageFolder.from_gui_folder_selection())
    # session.imgFolder.register_images_on_session(session)
    session.set_currImgSession(ImageSession(session.imgFolder.images[0]))

    uiState = session.get_UIState_msg()

    return uiState.SerializeToString()
Exemple #4
0
def set_clipboard_cols():

  body = request.get_data()
  log('clipboard cols body', body)

  cvc = ClipboardViewColumns.FromString(body)

  log('/set_clipboard_cols', cvc.to_dict())

  global session
  session.selectedClipboardCols = cvc

  pyperclip.copy(session.get_clipboard_str())

  return session.get_UIState_msg().SerializeToString()
Exemple #5
0
def do_get_selected_scan():
    fname = request.args.get('fname')
    idx = int(request.args.get('selectedIdx'))
    log('Processing get for file:', fname)

    # global imageFolder, colours

    # colours = []

    global session

    scanImg = session.get_image_by_name(fname)
    imgSess = ImageSession(scanImg)
    session.set_currImgSession(imgSess)
    session.currSelectedImgIdx = idx

    return session.get_UIState_msg().SerializeToString()
Exemple #6
0
def do_new_circle():

    # body = json.loads(request.get_data())
    body = request.get_data()
    # print(request)
    print('body:', body)

    pc = PickedCircle.FromString(body)

    log('/new_circle', pc.to_dict())

    # global image
    # self.image = image

    # global imageFolder
    # image = imageFolder.get_image_with_fname(pc.img_file_name)

    global session
    # image = session.imgFolder.get_image_with_fname(pc.img_file_name)
    image: BaseImage = session.get_image_by_name(pc.img_file_name)
    imgSess = session.currImgSession

    # self.image.add_circle(int(body['center']['y']), int(body['center']['x']), int(body['radius']))
    # self.image.show()
    cr = int(pc.center_row)
    cc = int(pc.center_col)
    r = int(pc.radius)

    # im = image.get_circle_context(int(pc.center_y), int(
    #     pc.center_x), int(pc.radius))

    # contextPNG = im.to_png_bytes()
    # img64 = base64.b64encode(contextPNG).decode('ascii')

    # session.currImgSession.add_circle(cr, cc, r)

    # # colour = image.get_circle_colour(cr, cc, r)
    # comparePNG = image.get_colour_display(cr, cc, r).to_png_bytes()
    # compare64 = base64.b64encode(comparePNG).decode('ascii')

    imgSess.add_circle(cr, cc, r)
    # imgSess.blotchCircles[-1].register_imgs_on_session(session)

    # global colours
    # colours.append([int(x) for x in colour])



    # clipboard = '\n'.join('\t'.join(str(component) for component in _colour)
                          # for _colour in colours)
    # pyperclip.copy(
    #     clipboard
    # )

    # pyperclip.copy(imgSess.get_clipboard_str())
    pyperclip.copy(session.get_clipboard_str())

    # return {
    #     "circContext": img64,
    #     "meanColour": "",
    #     "colourCompare": compare64,
    #     "clipboardContent": imgSess.get_clipboard_content_msg().SerializeToString(),
    # }

    return session.get_UIState_msg().SerializeToString()