Exemple #1
0
  def __init__(self, app):
    super().__init__()
    self.__app = app
    self.__config = DowConfig(pathlib.Path(".").joinpath("config.json"))
    if pathlib.Path(self.__config.ROOT_DIR).joinpath(self.__config.DB_NAME).exists():
      self.__db = DowDatabase(self.__config.ROOT_DIR, self.__config.DB_NAME)
    else:
      print("No db")

    self.__slide_view = DowGlImage(self)
    self.__slide_label = QtWidgets.QLabel("Test")
    self.__slide_label.setFixedHeight(30)

    self.__slide_label.setStyleSheet("QLabel { color : blue; font-size : 32px; }")
    self.__slide_layout = QtWidgets.QVBoxLayout()
    self.__slide_space = QtWidgets.QWidget()
    self.__slide_layout.setContentsMargins(QtCore.QMargins(0,0,0,0))
    self.__slide_layout.addWidget(self.__slide_label)
    self.__slide_layout.addWidget(self.__slide_space)
    
    self.__slide_layout.setAlignment(self.__slide_label, QtCore.Qt.AlignHCenter)
    self.__slide_view.setLayout(self.__slide_layout)
    main_layout = QtWidgets.QVBoxLayout()
    main_layout.setContentsMargins(QtCore.QMargins(0,0,0,0))
    main_layout.addWidget(self.__slide_view)
    self.setLayout(main_layout)
    self.__engine = DowSlideShow(self.__config, None)
Exemple #2
0
 def __init__(self):
   self.__log = pathlib.Path("./log.txt").open("w")
   self.__config = DowConfig(pathlib.Path(".").joinpath("config.json"))
   self.__db = DowDatabase(self.__config.ROOT_DIR, self.__config.DB_NAME)
   self.__model = tf.keras.applications.VGG19(weights='imagenet', include_top=False)
   self.__files, self.__features = self.__load_files()
   self.__knn = NearestNeighbors(metric='cosine', algorithm='brute', n_jobs=-1)
   self.__knn.fit(self.__features)
Exemple #3
0
    def __init__(self, app):
        super().__init__()
        self.__config = DowConfig(pathlib.Path(".").joinpath("config.json"))
        self.__app = app
        self.__files = []
        self.__iterator = 0
        self.__selected_left = True
        self.__gl_mutex = threading.Lock()

        self.__main_layout = QtWidgets.QVBoxLayout()
        self.__images_layout = QtWidgets.QHBoxLayout()
        self.__left_image_layout = QtWidgets.QVBoxLayout()

        self.__left_image_widget = QtWidgets.QWidget()
        self.__left_image_widget_layout = QtWidgets.QGridLayout(
            self.__left_image_widget)
        self.__left_image_widget_layout.setContentsMargins(1, 1, 1, 1)
        self.__left_image_widget.setStyleSheet("background-color: yellow")

        self.__left_image = DowGlImage(self.__left_image_widget, 0)
        self.__left_image_widget_layout.addWidget(self.__left_image)

        self.__left_image_info = QtWidgets.QLabel("")
        self.__left_image_info.setFixedHeight(30)
        self.__left_image_layout.addWidget(self.__left_image_widget)
        self.__left_image_layout.addWidget(self.__left_image_info)

        self.__right_image_layout = QtWidgets.QVBoxLayout()

        self.__right_image_widget = QtWidgets.QWidget()
        self.__right_image_widget_layout = QtWidgets.QGridLayout(
            self.__right_image_widget)
        self.__right_image_widget_layout.setContentsMargins(1, 1, 1, 1)

        self.__right_image = DowGlImage(self.__right_image_widget, 1)
        self.__right_image_widget_layout.addWidget(self.__right_image)

        self.__right_image_info = QtWidgets.QLabel("")
        self.__right_image_info.setFixedHeight(30)
        self.__right_image_layout.addWidget(self.__right_image_widget)
        self.__right_image_layout.addWidget(self.__right_image_info)
        self.__buttons_layout = QtWidgets.QHBoxLayout()
        self.__open_button = QtWidgets.QPushButton("Open")
        self.__open_button.clicked.connect(self.__open_button_click)
        self.__next_button = QtWidgets.QPushButton("Next")
        self.__next_button.clicked.connect(self.__next_button_click)
        self.__buttons_layout.addWidget(self.__open_button)
        self.__buttons_layout.addWidget(self.__next_button)

        self.__images_layout.addLayout(self.__left_image_layout)
        self.__images_layout.addLayout(self.__right_image_layout)
        self.__main_layout.addLayout(self.__images_layout)
        self.__main_layout.addLayout(self.__buttons_layout)
        self.setLayout(self.__main_layout)

        self.__app.installEventFilter(self)
Exemple #4
0
import pathlib
import sys
from classes.Config import DowConfig
from classes.Database import DowDatabase

config = DowConfig(pathlib.Path(".").joinpath("config.json"))
db = DowDatabase(config.ROOT_DIR, config.DB_NAME)
o = db.SelectAllFilesLike(sys.argv[1])

if o is not None:
  for f in o:
    print(f[:-1])
    print("\n")
else:
  print("None")


Exemple #5
0
    def __init__(self, app):
        super().__init__()
        self.__app = app
        self.__config = DowConfig(pathlib.Path(".").joinpath("config.json"))
        #Controls
        ## Menu Bar
        self.__file_menu = QtWidgets.QMenu("File")
        self.__file_menu.addAction("Open Files", self.__show_open_files_dialog)
        self.__file_menu.addAction("Open Directory",
                                   self.__show_open_dir_dialog)
        self.__file_menu.addAction("Clear Files", self.__clear_files)
        self.__file_menu.addAction("Close", self.__close)

        self.__menu_bar = QtWidgets.QMenuBar()
        self.__menu_bar.addMenu(self.__file_menu)

        ## Left side
        self.__image = DowGlImage(self)  #QtWidgets.QLabel()
        # self.__image.setAlignment(QtCore.Qt.AlignVCenter)

        self.__controls_left_layout = QtWidgets.QVBoxLayout()
        self.__left_box = QtWidgets.QWidget()
        self.__left_box_layout = QtWidgets.QVBoxLayout(self.__left_box)
        self.__left_box_layout.setContentsMargins(QtCore.QMargins(0, 0, 0, 0))
        self.__left_box_layout.addWidget(self.__image)
        self.__controls_left_layout.addWidget(self.__left_box)
        ## Right side
        self.__search_box = QtWidgets.QLineEdit()
        self.__all_tags = QtWidgets.QListView()
        self.__all_tags.setMaximumHeight(150)

        self.__selected_tags = QtWidgets.QListView()
        self.__files = QtWidgets.QListView()
        self.__files.setMinimumHeight(200)
        self.__files.setMaximumHeight(200)

        self.__back_button = QtWidgets.QPushButton("Back")
        self.__next_button = QtWidgets.QPushButton("Next")
        self.__save_button = QtWidgets.QPushButton("Save")

        self.__buttons_right_layout = QtWidgets.QHBoxLayout()
        self.__buttons_right_layout.addWidget(self.__back_button)
        self.__buttons_right_layout.addWidget(self.__next_button)
        self.__buttons_right_layout.addWidget(self.__save_button)

        self.__right_box = QtWidgets.QWidget()
        self.__right_box.setMinimumWidth(200)
        self.__right_box.setMaximumWidth(300)

        self.__controls_right_layout = QtWidgets.QVBoxLayout(self.__right_box)
        self.__controls_right_layout.setContentsMargins(
            QtCore.QMargins(0, 0, 0, 0))
        self.__controls_right_layout.addWidget(self.__search_box)
        self.__controls_right_layout.addWidget(self.__all_tags)
        self.__controls_right_layout.addWidget(self.__selected_tags)
        self.__controls_right_layout.addWidget(self.__files)
        self.__controls_right_layout.addLayout(self.__buttons_right_layout)

        #Layouts
        self.__main_layout = QtWidgets.QHBoxLayout(self)
        self.__main_layout.addLayout(self.__controls_left_layout)
        self.__main_layout.addWidget(self.__right_box)
        self.__main_layout.setMenuBar(self.__menu_bar)

        #Logic
        self.__logic = DowTagEditor(self.__all_tags, self.__selected_tags,
                                    self.__files, self.__next_button,
                                    self.__back_button, self.__save_button,
                                    self.__search_box)
        if pathlib.Path(self.__config.ROOT_DIR).joinpath(
                self.__config.DB_NAME).exists():
            self.__db = DowDatabase(self.__config.ROOT_DIR,
                                    self.__config.DB_NAME)
            self.__logic.SetDatabase(self.__db)
            self.__logic.ImageChangeEvent(self.__load_image)