aboutsummaryrefslogtreecommitdiffstats
path: root/mageiaSync
diff options
context:
space:
mode:
authorpapoteur-mga <yves.brungard_git@gadz.org>2014-10-28 21:19:05 +0100
committerpapoteur-mga <yves.brungard_git@gadz.org>2014-11-22 11:47:35 +0100
commitd7a7e5df2de2cb68b3c75dbf7ca9dbd2218291ab (patch)
tree39954feb35468c8a7bed26126e55e36bcd38fbba /mageiaSync
parent542f88cc573cdc0f93314218b4765c0f1a62c75c (diff)
downloadMageiaSync-d7a7e5df2de2cb68b3c75dbf7ca9dbd2218291ab.tar
MageiaSync-d7a7e5df2de2cb68b3c75dbf7ca9dbd2218291ab.tar.gz
MageiaSync-d7a7e5df2de2cb68b3c75dbf7ca9dbd2218291ab.tar.bz2
MageiaSync-d7a7e5df2de2cb68b3c75dbf7ca9dbd2218291ab.tar.xz
MageiaSync-d7a7e5df2de2cb68b3c75dbf7ca9dbd2218291ab.zip
Correction of check being launched after stopping.
Added shortcuts. Added new feature : launching checks on demand Correction of size display Added "Quit" button Correction of the icon
Diffstat (limited to 'mageiaSync')
-rw-r--r--mageiaSync/mageiaSyncExt.py4
-rw-r--r--mageiaSync/mageiaSyncUI.py39
-rw-r--r--mageiaSync/mageiaSyncUI.ui51
-rw-r--r--mageiaSync/mageiasync.py31
4 files changed, 97 insertions, 28 deletions
diff --git a/mageiaSync/mageiaSyncExt.py b/mageiaSync/mageiaSyncExt.py
index 135d80c..ebd224f 100644
--- a/mageiaSync/mageiaSyncExt.py
+++ b/mageiaSync/mageiaSyncExt.py
@@ -122,6 +122,7 @@ class syncThread(QThread):
try:
self.process.terminate()
self.lvM.emit("Process rsync stopped")
+ self.list=[]
except:
self.lvM.emit("Process rsync already stopped")
# Init progressbar and speed counter
@@ -186,9 +187,10 @@ class syncThread(QThread):
if self.process.returncode != None:
break
self.lvM.emit("Ending with "+iso['nameWithPath'])
- self.checkSignal.emit(iso['row'])
if self.stopped:
break
+ else:
+ self.checkSignal.emit(iso['row'])
self.endSignal.emit(0)
self.speedSignal.emit(0)
self.progressSignal.emit(0)
diff --git a/mageiaSync/mageiaSyncUI.py b/mageiaSync/mageiaSyncUI.py
index fed1972..6ed3175 100644
--- a/mageiaSync/mageiaSyncUI.py
+++ b/mageiaSync/mageiaSyncUI.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'mageiaSyncUI.ui'
#
-# Created: Sat Aug 30 20:19:01 2014
+# Created: Sat Nov 22 10:27:11 2014
# by: PyQt5 UI code generator 5.1.1
#
# WARNING! All changes made in this file will be lost!
@@ -12,7 +12,11 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_mainWindow(object):
def setupUi(self, mainWindow):
mainWindow.setObjectName("mainWindow")
- mainWindow.resize(862, 587)
+ mainWindow.resize(820, 587)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap("share/icons/mageiasync.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ mainWindow.setWindowIcon(icon)
+ mainWindow.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.centralwidget = QtWidgets.QWidget(mainWindow)
self.centralwidget.setObjectName("centralwidget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
@@ -85,6 +89,10 @@ class Ui_mainWindow(object):
self.stop.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.stop.setObjectName("stop")
self.horizontalLayout.addWidget(self.stop)
+ self.quit = QtWidgets.QPushButton(self.centralwidget)
+ self.quit.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
+ self.quit.setObjectName("quit")
+ self.horizontalLayout.addWidget(self.quit)
self.verticalLayout.addLayout(self.horizontalLayout)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setObjectName("label")
@@ -95,12 +103,13 @@ class Ui_mainWindow(object):
self.verticalLayout.addWidget(self.lvText)
mainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(mainWindow)
- self.menubar.setGeometry(QtCore.QRect(0, 0, 862, 19))
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 820, 19))
self.menubar.setObjectName("menubar")
self.menuFile = QtWidgets.QMenu(self.menubar)
self.menuFile.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.menuFile.setObjectName("menuFile")
self.menuSync = QtWidgets.QMenu(self.menubar)
+ self.menuSync.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.menuSync.setObjectName("menuSync")
mainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(mainWindow)
@@ -114,10 +123,13 @@ class Ui_mainWindow(object):
self.actionPreferences.setObjectName("actionPreferences")
self.actionRename = QtWidgets.QAction(mainWindow)
self.actionRename.setObjectName("actionRename")
+ self.actionCheck = QtWidgets.QAction(mainWindow)
+ self.actionCheck.setObjectName("actionCheck")
self.menuFile.addAction(self.actionUpdate)
self.menuFile.addAction(self.actionPreferences)
self.menuFile.addAction(self.actionQuit)
self.menuSync.addAction(self.actionRename)
+ self.menuSync.addAction(self.actionCheck)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuSync.menuAction())
@@ -130,19 +142,22 @@ class Ui_mainWindow(object):
_translate = QtCore.QCoreApplication.translate
mainWindow.setWindowTitle(_translate("mainWindow", "MageiaSync"))
self.remoteDirLabel.setText(_translate("mainWindow", "Remote directory"))
- self.selectAll.setText(_translate("mainWindow", "Select All"))
+ self.selectAll.setText(_translate("mainWindow", "Select &All"))
self.localDirLabel.setText(_translate("mainWindow", "Local directory:"))
self.Lsize.setText(_translate("mainWindow", "0 bytes"))
self.label_2.setText(_translate("mainWindow", "kB/s"))
self.label_3.setText(_translate("mainWindow", "Remaining:"))
self.timeRemaining.setDisplayFormat(_translate("mainWindow", "H:mm:ss"))
- self.syncGo.setText(_translate("mainWindow", "Do sync"))
- self.stop.setText(_translate("mainWindow", "Stop"))
+ self.syncGo.setText(_translate("mainWindow", "&Do sync"))
+ self.stop.setText(_translate("mainWindow", "&Stop"))
+ self.quit.setText(_translate("mainWindow", "&Quit"))
self.label.setText(_translate("mainWindow", "Report"))
- self.menuFile.setTitle(_translate("mainWindow", "File"))
- self.menuSync.setTitle(_translate("mainWindow", "Sync"))
- self.actionUpdate.setText(_translate("mainWindow", "Update list"))
- self.actionQuit.setText(_translate("mainWindow", "Quit"))
- self.actionPreferences.setText(_translate("mainWindow", "Preferences"))
- self.actionRename.setText(_translate("mainWindow", "Rename archives"))
+ self.menuFile.setTitle(_translate("mainWindow", "&File"))
+ self.menuSync.setTitle(_translate("mainWindow", "S&ync"))
+ self.actionUpdate.setText(_translate("mainWindow", "&Update list"))
+ self.actionQuit.setText(_translate("mainWindow", "&Quit"))
+ self.actionPreferences.setText(_translate("mainWindow", "&Preferences"))
+ self.actionRename.setText(_translate("mainWindow", "&Rename archives"))
+ self.actionCheck.setText(_translate("mainWindow", "&Check"))
+ self.actionCheck.setToolTip(_translate("mainWindow", "Check selected images"))
diff --git a/mageiaSync/mageiaSyncUI.ui b/mageiaSync/mageiaSyncUI.ui
index a86d314..a9933cd 100644
--- a/mageiaSync/mageiaSyncUI.ui
+++ b/mageiaSync/mageiaSyncUI.ui
@@ -6,13 +6,20 @@
<rect>
<x>0</x>
<y>0</y>
- <width>862</width>
+ <width>820</width>
<height>587</height>
</rect>
</property>
<property name="windowTitle">
<string>MageiaSync</string>
</property>
+ <property name="windowIcon">
+ <iconset>
+ <normaloff>icons/mageiasync.png</normaloff>icons/mageiasync.png</iconset>
+ </property>
+ <property name="locale">
+ <locale language="English" country="UnitedStates"/>
+ </property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
@@ -31,7 +38,7 @@
<locale language="English" country="UnitedStates"/>
</property>
<property name="text">
- <string>Select All</string>
+ <string>Select &amp;All</string>
</property>
</widget>
</item>
@@ -157,7 +164,7 @@
<locale language="English" country="UnitedStates"/>
</property>
<property name="text">
- <string>Do sync</string>
+ <string>&amp;Do sync</string>
</property>
</widget>
</item>
@@ -167,7 +174,17 @@
<locale language="English" country="UnitedStates"/>
</property>
<property name="text">
- <string>Stop</string>
+ <string>&amp;Stop</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="quit">
+ <property name="locale">
+ <locale language="English" country="UnitedStates"/>
+ </property>
+ <property name="text">
+ <string>&amp;Quit</string>
</property>
</widget>
</item>
@@ -194,7 +211,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>862</width>
+ <width>820</width>
<height>19</height>
</rect>
</property>
@@ -203,17 +220,21 @@
<locale language="English" country="UnitedStates"/>
</property>
<property name="title">
- <string>File</string>
+ <string>&amp;File</string>
</property>
<addaction name="actionUpdate"/>
<addaction name="actionPreferences"/>
<addaction name="actionQuit"/>
</widget>
<widget class="QMenu" name="menuSync">
+ <property name="locale">
+ <locale language="English" country="UnitedStates"/>
+ </property>
<property name="title">
- <string>Sync</string>
+ <string>S&amp;ync</string>
</property>
<addaction name="actionRename"/>
+ <addaction name="actionCheck"/>
</widget>
<addaction name="menuFile"/>
<addaction name="menuSync"/>
@@ -221,22 +242,30 @@
<widget class="QStatusBar" name="statusbar"/>
<action name="actionUpdate">
<property name="text">
- <string>Update list</string>
+ <string>&amp;Update list</string>
</property>
</action>
<action name="actionQuit">
<property name="text">
- <string>Quit</string>
+ <string>&amp;Quit</string>
</property>
</action>
<action name="actionPreferences">
<property name="text">
- <string>Preferences</string>
+ <string>&amp;Preferences</string>
</property>
</action>
<action name="actionRename">
<property name="text">
- <string>Rename archives</string>
+ <string>&amp;Rename archives</string>
+ </property>
+ </action>
+ <action name="actionCheck">
+ <property name="text">
+ <string>&amp;Check</string>
+ </property>
+ <property name="toolTip">
+ <string>Check selected images</string>
</property>
</action>
</widget>
diff --git a/mageiaSync/mageiasync.py b/mageiaSync/mageiasync.py
index 4faf149..07ea7a5 100644
--- a/mageiaSync/mageiasync.py
+++ b/mageiaSync/mageiasync.py
@@ -150,12 +150,30 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
content=QtCore.QTime.fromString(remainTime,"h:mm:ss")
self.timeRemaining.setTime(content)
+ def manualChecks(self):
+ for iso in self.listIsos.selectedItems():
+ path,name=iso.text().split('/')
+ try:
+ # Look for ISO in local list
+ item=self.model.findItems(name,QtCore.Qt.MatchExactly,1)[0]
+ except:
+ # Remote ISO is not yet in local directory. We add it in localList and create the directory
+ self.localAdd(path,name,0)
+ basedir=QtCore.QDir(self.destination)
+ basedir.mkdir(path)
+ item=self.model.findItems(name,QtCore.Qt.MatchExactly,1)[0]
+ row=self.model.indexFromItem(item).row()
+ self.checks(row)
+
def checks(self,isoIndex):
- # process a checking for each iso
+ # processes a checking for each iso
# launches a thread for each iso
newThread=mageiaSyncExt.checkThread(self)
self.checkThreads.append(newThread)
- self.checkThreads[-1].setup(self.destination,self.model.data(self.model.index(isoIndex,0)) ,self.model.data(self.model.index(isoIndex,1)),isoIndex)
+ self.checkThreads[-1].setup(self.destination,
+ self.model.data(self.model.index(isoIndex,0)) ,
+ self.model.data(self.model.index(isoIndex,1)),
+ isoIndex)
self.checkThreads[-1].md5Signal.connect(self.md5Check)
self.checkThreads[-1].sha1Signal.connect(self.sha1Check)
self.checkThreads[-1].dateSignal.connect(self.dateCheck)
@@ -298,17 +316,19 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
if self.selectAllState :
for i in range(self.listIsos.count()):
self.listIsos.item(i).setSelected(True)
- self.selectAll.setText("Unselect all")
+ self.selectAll.setText("Unselect &All")
else:
for i in range(self.listIsos.count()):
self.listIsos.item(i).setSelected(False)
- self.selectAll.setText("Select all")
+ self.selectAll.setText("Select &All")
self.selectAllState=not self.selectAllState
def connectActions(self):
self.actionQuit.triggered.connect(app.quit)
+ self.quit.clicked.connect(app.quit)
self.actionRename.triggered.connect(self.rename)
self.actionUpdate.triggered.connect(self.updateList)
+ self.actionCheck.triggered.connect(self.manualChecks)
self.actionPreferences.triggered.connect(self.prefs)
self.syncGo.clicked.connect(self.launchSync)
self.selectAll.clicked.connect(self.selectAllIsos)
@@ -329,6 +349,9 @@ class IsosViewer(QMainWindow, mageiaSyncUI.Ui_mainWindow):
self.fillList.setup(self.nameWithPath, self.password,self.destination)
self.fillList.endSignal.connect(self.closeFill)
self.fillList.start()
+ # Reset the button
+ self.selectAll.setText("Select &All")
+ self.selectAllState=True
def lvMessage( self,message):
# Add a line in the logview