added popup confirmation #5

Merged
s416067 merged 2 commits from VIS-26 into master 2021-01-04 12:26:51 +01:00
3 changed files with 107 additions and 41 deletions
Showing only changes of commit 5c7912aeab - Show all commits

Binary file not shown.

View File

@ -1,7 +1,9 @@
#import tkinter as tk
import sys
import os
import shutil
from datetime import datetime
import time
from PyQt5 import QtCore
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon, QPixmap
@ -20,6 +22,15 @@ class deletePopup(QMessageBox):
super(deletePopup,self).__init__(parent)
self.question(self,'', "Are you sure you want to delete the file?", self.Yes | self.No)
def save_input(oldpath):
# make timestampt the filename, so it wouln't overwrite
timestamp = str(int(time.time()))
filename = timestamp + '.' + oldpath.split('.')[-1]
newpath = filePath + '\\' + filename
shutil.copy(oldpath, newpath)
return newpath
class LibraryTableButtons(QWidget):
def __init__(self, filename, parent=None):
super(LibraryTableButtons,self).__init__(parent)
@ -48,7 +59,9 @@ class LibraryTableButtons(QWidget):
self.setLayout(layout)
class LibraryTable(QTableWidget):
def __init__(self, parent=None):
QTableWidget.__init__(self)
self.setColumnCount(3)
@ -70,51 +83,64 @@ class LibraryTable(QTableWidget):
self.setItem(index,1,names[index])
self.setCellWidget(index,2,LibraryTableButtons(names[index].text()))
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
# Show raw uploaded files
def showLibrary(self):
libTable = LibraryTable()
self.setCentralWidget(libTable)
def showUploadFile(self):
dialog = QFileDialog(self)
dialog.setFileMode(QFileDialog.AnyFile)
dialog.setFilter(QDir.Files)
if dialog.exec_():
file_path = dialog.selectedFiles()[0] # ['C:/Users/agatha/Desktop/SYI/VisionScore/win_venv/requirements.txt']
save_input(file_path)
def initUI(self):
self.setGeometry(0, 0, 600, 400)
self.setWindowTitle('VisionScore')
scriptDir = os.path.dirname(os.path.realpath(__file__))
self.setWindowIcon(QIcon(scriptDir + os.path.sep + 'static/v_logo.jpg'))
# Toolbar
menuBar = self.menuBar()
homeMenu = QMenu("&Home", self)
menuBar.addMenu(homeMenu)
# Upload file
uploadAct = QAction('&Upload new file', self)
uploadAct.triggered.connect(self.showUploadFile)
homeMenu.addAction(uploadAct)
libraryAct = QAction('&Library', self)
libraryAct.triggered.connect(self.showLibrary)
menuBar.addAction(libraryAct)
# Exit app
exitAct = QAction('&Exit', self)
exitAct.setShortcut('Ctrl+Q')
exitAct.setStatusTip('Exit')
exitAct.triggered.connect(qApp.quit)
homeMenu.addAction(exitAct)
helpMenu = menuBar.addMenu("&Help")
self.show()
def main():
app = QApplication(sys.argv)
#w = QWidget()
w = QMainWindow()
w.setGeometry(0, 0, 600, 400)
w.setWindowTitle('VisionScore')
scriptDir = os.path.dirname(os.path.realpath(__file__))
w.setWindowIcon(QIcon(scriptDir + os.path.sep + 'static/v_logo.jpg'))
'''
label = QLabel()
pixmap = QPixmap(scriptDir + os.path.sep + 'static/visionscore_logo.jpg')
label.setPixmap(pixmap)
label.resize(pixmap.width(), pixmap.height())
label.setAlignment(QtCore.Qt.AlignTop)
w.setCentralWidget(label)
'''
# Toolbar
menuBar = w.menuBar()
homeMenu = QMenu("&Home", w)
menuBar.addMenu(homeMenu)
homeMenu.addAction("Load new file")
# Show raw uploaded files
def showLibrary():
libTable = LibraryTable()
w.setCentralWidget(libTable)
libraryAct = QAction('&Library', w)
libraryAct.triggered.connect(showLibrary)
menuBar.addAction(libraryAct)
# Exit app
exitAct = QAction('&Exit', w)
exitAct.setShortcut('Ctrl+Q')
exitAct.setStatusTip('Exit')
exitAct.triggered.connect(app.quit)
homeMenu.addAction(exitAct)
helpMenu = menuBar.addMenu("&Help")
w.show()
w = MainWindow()
sys.exit(app.exec_())
if __name__ == '__main__':
main()

40
win_venv/tests.py Normal file
View File

@ -0,0 +1,40 @@
import unittest
from main import *
from unittest.mock import Mock
from pathlib import Path
# test saving file
class savingFileTest(unittest.TestCase):
def test_text_file(self):
print('Testing save_input method \n')
old_file_content = 'testing\n\n\nmore testing'
with open('test.txt', 'w') as file:
file.write(old_file_content)
script_path = os.path.dirname(os.path.realpath(__file__))
test_file_path = script_path + '\\test.txt'
newpath = save_input(test_file_path)
new_file_content = ''
with open(newpath, 'r') as new_file:
for line in new_file:
new_file_content += line
self.assertEqual(old_file_content, new_file_content)
# test using mock checking if a file with analysis had been generated
class generetingOutputFile(unittest.TestCase):
def test_output_file(self):
print('Moock testing outputfile')
m = Mock()
m.output_file_path = scriptPath + '\\files\\output\\test.pdf'
assert Path(m.output_file_path).is_file()
if __name__ == '__main__':
unittest.main()