debian/0000755000000000000000000000000012264372617007200 5ustar debian/patches/0000755000000000000000000000000012264365271010625 5ustar debian/patches/makefile.patch0000644000000000000000000000067712161337505013430 0ustar Added a dependency in Makefile for the target install --- scolasync-4.1.orig/Makefile +++ scolasync-4.1/Makefile @@ -7,7 +7,7 @@ XP = xsltproc --nonet --param man.ch all: doxy pdfdoc scolasync.1 for d in $(SUBDIRS); do make all -C $$d DESTDIR=$(DESTDIR); done -install: +install: all install -d $(DESTDIR)/usr/share/scolasync/html cp -R doc/html/* $(DESTDIR)/usr/share/scolasync/html/ install -d $(DESTDIR)/usr/share/scolasync/pdf debian/patches/mainWindow.Patch0000644000000000000000000000332112264356273013723 0ustar --- a/src/mainWindow.py +++ b/src/mainWindow.py @@ -7,7 +7,7 @@ file mainWindow.py this file is part of the project scolasync - Copyright (C) 2010-2013 Georges Khaznadar + Copyright (C) 2010-2014 Georges Khaznadar This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -264,7 +264,7 @@ # case du propriétaire self.editOwner(mappedIdx) elif "device-mount-paths" in h: - cmd="nautilus '%s'" %idx.data().toString () + cmd="xdg-open '%s'" %idx.data().toString () subprocess.call(cmd, shell=True) elif "device-size" in h: mount=idx.model().partition(idx).mountPoint() @@ -512,7 +512,7 @@ t.setDaemon(True) t.start() self.oldThreads.add(t) - # on ouvre nautilus pour voir le résultat des copies + # on ouvre un gestionnaire de fichiers pour voir le résultat buttons=QMessageBox.Ok|QMessageBox.Cancel defaultButton=QMessageBox.Cancel if QMessageBox.question( @@ -520,7 +520,7 @@ QApplication.translate("Dialog","Voir les copies",None, QApplication.UnicodeUTF8), QApplication.translate("Dialog","Voulez-vous voir les fichiers copiés ?",None, QApplication.UnicodeUTF8), buttons, defaultButton)==QMessageBox.Ok: - subprocess.call("nautilus '%s'" %destDir,shell=True) + subprocess.call("xdg-open '%s'" %destDir,shell=True) return True else: msgBox=QMessageBox.warning( debian/patches/exempleSconet.patch0000644000000000000000000003067712264365167014502 0ustar --- /dev/null +++ b/exemples/SCONET_35numeros.xml @@ -0,0 +1,359 @@ + + + + + + + 01 + + + + 02 + + + + 03 + + + + 04 + + + + 05 + + + + 06 + + + + 07 + + + + 08 + + + + 09 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + Suite de numéros + D + + + + + --- /dev/null +++ b/exemples/cree_exemple_simple.py @@ -0,0 +1,47 @@ +#!/usr/bin/python3 + +import sys + +def ecrit_entete(out): + entete="""\ + + + +""" + out.write(entete) + return + +def ecrit_fin(out): + fin="""\ + + +""" + out.write(fin) + return + +def donnees(out, n): + out.write(" \n") + for i in range(1,1+n): + out.write(" \n" %(1000+i)) + out.write(" N°\n") + out.write(" {0:02d}\n".format(i)) + out.write(" \n") + out.write(" \n") + out.write(" \n") + for i in range(1,1+n): + out.write(" \n" %(1000+i)) + out.write(" \n") + out.write(" Suite de numéros\n") + out.write(" D\n") + out.write(" \n") + out.write(" \n") + out.write(" \n") + +if __name__=="__main__": + out=open(sys.argv[1], "w", encoding="latin-1") + ecrit_entete(out) + donnees(out, 35) + ecrit_fin(out) + out.close() + + debian/patches/series0000644000000000000000000000006412264365261012041 0ustar makefile.patch mainWindow.Patch exempleSconet.patch debian/scolasync.manpages0000644000000000000000000000001411514431464012677 0ustar scolasync.1 debian/control0000644000000000000000000000155212264371224010577 0ustar Source: scolasync Section: x11 Priority: extra Maintainer: Georges Khaznadar Build-Depends: debhelper (>= 7.0.50~), python3-all, python-qt4-dev, libqt4-dev, pyqt4-dev-tools, doxygen, doxypy, graphviz, texlive, texlive-latex-extra, latex-xcolor, texlive-lang-french, xsltproc, docbook-xsl X-Python3-Version: >= 3.2 Standards-Version: 3.9.3 Package: scolasync Architecture: all Depends: ${misc:Depends}, ${python3:Depends}, udisks, eject, xdg-utils, python3-pyqt4, python3-dbus, python3-dbus.mainloop.qt, tango-icon-theme Description: graphic tool to copy data to or from a set of USB storage media Teachers may use this package to manage a set of USB sticks owned by their students. The keys are recognized (with their owner's name), and the teachers can copy assignments to them and retrieve consistently the homeworks from the usb sticks. debian/compat0000644000000000000000000000000211463656677010411 0ustar 7 debian/copyright0000644000000000000000000000105012060701331011106 0ustar This work was packaged for Debian by: Georges Khaznadar on Tue, 02 Nov 2010 01:39:21 +0100 It was downloaded from: https://github.com/georgesk/scolasync Upstream Author: Georges Khaznadar Copyright: Copyright (C) 2010-2012 Georges Khaznadar License: GPL version 3, see "/usr/share/common-licenses/GPL-3". The Debian packaging is: Copyright (C) 2010-2012 Georges Khaznadar and is licensed under the GPL version 3, see "/usr/share/common-licenses/GPL-3". debian/source/0000755000000000000000000000000011500720414010460 5ustar debian/source/include-binaries0000644000000000000000000000020011500720335013612 0ustar src/images/minus.png src/images/plus.png src/images/alt-dots.png src/images/dots.png src/images/del.png src/images/scolasync.pngdebian/source/format0000644000000000000000000000001411463656676011720 0ustar 3.0 (quilt) debian/menu0000644000000000000000000000016311463660732010065 0ustar ?package(scolasync):needs="X11" section="Applications/Education"\ title="scolasync" command="/usr/bin/scolasync" debian/changelog0000644000000000000000000003471712264372617011066 0ustar scolasync (4.1-2) unstable; urgency=medium * replaced the call of nautilus by a call of xdg-open; added a dependency on xdg-utils * added another example for class lists -- Georges Khaznadar Sun, 12 Jan 2014 01:00:22 +0100 scolasync (4.1-1) unstable; urgency=low * removed the -c option for the line command. Items of the table should always be checkable * fixed an inconsistency in the file Makefile and modified the build-dependencies to take in account '[french] babel'. Closes: #713222 -- Georges Khaznadar Wed, 01 May 2013 19:15:05 +0200 scolasync (4.0-7) unstable; urgency=low * added a few tests for the file usbThread.py * removed an invocation of QString() which became unnecessary -- Georges Khaznadar Sat, 02 Mar 2013 17:54:02 +0100 scolasync (4.0-6) unstable; urgency=low * fixed a bad format character "%S" in a translation file. * modified the command used to eject USB drives. Added the package eject as a dependency. -- Georges Khaznadar Fri, 25 Jan 2013 16:32:00 +0100 scolasync (4.0-5) unstable; urgency=low * added a property to the class usbDisk.uDisk, to keep the /dev/whatever stuff symlinked to /dev/disks/by-path; this should make safer the umount procedures. * implemented caching to make safer the function usbDisk.uDisk.montPoint(): the udev system is requested no more than once by instance. -- Georges Khaznadar Fri, 25 Jan 2013 15:00:51 +0100 scolasync (4.0-4) unstable; urgency=low * Added python3-dbus.mainloop.qt as a dependency. Closes: #695576 * Added udisks as a dependency. Closes: #695579 * modified the way the file marques.py is opened. Closes: #695580 -- Georges Khaznadar Thu, 13 Dec 2012 17:22:31 +0100 scolasync (4.0-3) unstable; urgency=low * made the encoding of the file config.dox explicit for the script used to update its contents. Closes: #695684 * removed the invocations of python-support. Closes: #695686 -- Georges Khaznadar Thu, 13 Dec 2012 16:54:22 +0100 scolasync (4.0-2) unstable; urgency=low * removed the unused dependency on python-pysqlite2. Closes: #695682 -- Georges Khaznadar Thu, 13 Dec 2012 16:46:46 +0100 scolasync (4.0-1) unstable; urgency=low * migrated to python3, modified debian/control and debian/rules accordingly, refurbished the source code. * added an icon for copying from drives while erasing * developed a new unique identification of devices based on /dev/by-path; this works around the issue concerning devices coming with ambiguous uuids * changed my debemail address to georgesk@debian.org * ensured that the version number from source files is updated in documents and helps issued from these files. * fixed an issue with localization * fixed the location of private modules * fixed documentation details in scolasync.py -- Georges Khaznadar Mon, 25 Jun 2012 17:02:17 +0200 scolasync (3.1-1) unstable; urgency=low * added the support to manageme school lists of students, and automatic naming and numbering of medias. The supported file format is currently SCONET. -- Georges Khaznadar Sat, 23 Jun 2012 20:58:53 +0200 scolasync (3.0-1) unstable; urgency=low * rewritten the synchronization commands entirely in Python (no more shell with its special characters) * updated Standards-Version to 3.9.3 -- Georges Khaznadar Fri, 25 May 2012 23:46:06 +0200 scolasync (2.9-1) unstable; urgency=low * added a possibility to manage easily the check boxes -- Georges Khaznadar Sun, 22 Jan 2012 21:09:53 +0100 scolasync (2.8-2) unstable; urgency=low * fixed the localization of Qt's dialog buttons -- Georges Khaznadar Thu, 19 Jan 2012 00:31:55 +0100 scolasync (2.8-1) unstable; urgency=low * added a lock system for checkDisks * added a stop mechanism for too slow threads * fixed a bug with a question messagebox * fixed the protectPath feature -- Georges Khaznadar Thu, 19 Jan 2012 00:09:48 +0100 scolasync (2.7-4) unstable; urgency=low * disabled the protectPath feature which was buggy. Now retreiving files is possible, but the program is still vulnerable to non-safe filenames. -- Georges Khaznadar Wed, 18 Jan 2012 18:28:18 +0100 scolasync (2.7-3) unstable; urgency=low * fixed a bug which affected the renaming of unknown medias -- Georges Khaznadar Wed, 18 Jan 2012 12:32:28 +0100 scolasync (2.7-2) unstable; urgency=low * fixed one dbus call -- Georges Khaznadar Tue, 17 Jan 2012 19:53:21 +0100 scolasync (2.7-1) unstable; urgency=low * removed the dependency on Hal, improved the recognition of vfat partitions * fixed many bugs: globbing characters in paths are now considered, probably removed lock possibilities for multiple threads trying to access the same logFile simultaneously, fixed the mess when one tries to edit a media's owner. -- Georges Khaznadar Sat, 14 Jan 2012 19:03:01 +0100 scolasync (2.6-1) unstable; urgency=low * modified the method to identify plugged medias: now tablet computers are recognized. * fixed a bug in the recognition of vfat systems in partitionless medias * added a switch in preferences, to replace copying from medias by moving from medias -- Georges Khaznadar Thu, 12 Jan 2012 19:27:33 +0100 scolasync (2.5-1) unstable; urgency=low * added a check before authorizing new threads: the last thread set must have finished. * implemented the redo feature -- Georges Khaznadar Sun, 08 Jan 2012 23:26:50 +0100 scolasync (2.4-3) unstable; urgency=low * added on dependency: python-qt4-dbus -- Georges Khaznadar Sun, 08 Jan 2012 18:21:25 +0100 scolasync (2.4-2) unstable; urgency=low * implemented the actions for new items introduced recently in the preferences : timer control and link to custom manual. * now polling the disks is triggered by disk connect/disconnect events; by default, refreshing the disk set by periodic polls is disabled, however users can enable it by customizing their preferences. * removed the global threads variable in usbThreads.py, replaced it by a dictionary owner => thread's command in mainWindow.py * simplified the update of icons denoting the running threads. They are no longer updated by polling the running threads, but they are toggled by signals emitted when a thread begins or ends. * extended the selection feature to copy-to, copy-from and delete-files operations. Now they should act only on checked medias. * allowed to choose multiple files to copy from or to delete in the relevant file dialog * changed the icons and some help messages in the dialog used to choose files and directories, changed the layout to make main buttons more evident -- Georges Khaznadar Sun, 08 Jan 2012 12:26:01 +0100 scolasync (2.4-1) unstable; urgency=low * added a "manual" tab to the help dialog * added new items in preferences dialog * fixed a bug which prevented mounting recently plugged disks a startup * made the application less verbose when it mounts volumes * implemented direct management for Dbus signals instead of periodic polling -- Georges Khaznadar Thu, 29 Dec 2011 02:53:10 +0100 scolasync (2.3-1) unstable; urgency=low * increased the delay between disk checks to 20 seconds * added a button to force a disk check * modified the time of first occurence of disk check * modified a few help phrases and their English translation * added a display to show the number of connected medias * added an event management to make it flash during disk checks * avoided redrawing the table of medias if no change happens * fixed a bug to pre-select the first media when choosing files to retreive or files to delete. * enhanced the display for size and percentage of filling of medias * added an X-Python-Version: stance, added --with pyton2 in debian/rules, added a file __init__.py. Closes: #652345 -- Georges Khaznadar Fri, 16 Dec 2011 22:57:00 +0100 scolasync (2.2-2) unstable; urgency=low * added a build-dependency on graphviz and texlive-latex-base, latex-xcolor Closes: #633551 -- Georges Khaznadar Fri, 15 Jul 2011 15:48:13 +0200 scolasync (2.2-1) unstable; urgency=low * added a file to manage global definitions, particularly those bound to the platform in use. Porting to Windows should be possible after this version, if usbDisks.py and notification.py are reimplemented. * swallowed all the previous debian patches, increased the version number. -- Georges Khaznadar Mon, 13 Jun 2011 12:28:25 +0200 scolasync (2.1-13) unstable; urgency=low * updated the Portuguese translation file, thanks to Louis-Maurice De Sousa -- Georges Khaznadar Tue, 24 May 2011 20:13:43 +0200 scolasync (2.1-12) unstable; urgency=low * added a build-dep: texlive-latex-extra, thanks to Eric Seigne. -- Georges Khaznadar Thu, 19 May 2011 18:29:04 +0200 scolasync (2.1-11) unstable; urgency=low * made the main table sortable by default * added an indicator for running threads -- Georges Khaznadar Sun, 08 May 2011 23:27:05 +0200 scolasync (2.1-10) unstable; urgency=low * fixed the typo in debian/control, thanks to Uwe Kleine-König. Closes: #623081 * added a build-dependency on xsltproc and docbook-xsl. Closes: #625167 -- Georges Khaznadar Fri, 06 May 2011 18:42:10 +0200 scolasync (2.1-9) unstable; urgency=low * removed the alreadyAsked list in ownedUsb.py, which prevented from registering multiple drives which bear the same "unique" identifier. This issue is not uncommon since some vendors use cloning techniques to preload some drives with custom contents, without regarding the uniqueness of the identifiers born by the drives. * bumped standards-version to 3.9.2 -- Georges Khaznadar Mon, 11 Apr 2011 13:17:24 +0200 scolasync (2.1-8) unstable; urgency=low * modified the way scolasync creates a "tattoo" on a USB drive. -- Georges Khaznadar Fri, 01 Apr 2011 18:51:45 +0200 scolasync (2.1-7) unstable; urgency=low * fixed a bug which prevented from retreiving files from usb drives. -- Georges Khaznadar Wed, 30 Mar 2011 16:05:38 +0200 scolasync (2.1-6) unstable; urgency=low * tracked and fixed a bug which disallowed fetching directories from the USB drives. * added a pause of 50 milliseconds after each tatoo written on a usb drive in order to avoid similar timestamps. -- Georges Khaznadar Mon, 28 Mar 2011 19:46:43 +0200 scolasync (2.1-5) unstable; urgency=low * fixed bugs with non-quoted file names, and an extra "/" in a directory reference. * translated every changelog entry to English, and uploaded once more to Debian, Closes: #610189 -- Georges Khaznadar Sat, 19 Mar 2011 20:14:43 +0100 scolasync (2.1-4) unstable; urgency=low * fixed the i18n system and made an English l10n. * added a dependency on python-qt4, thanks to Louis-Maurice De Sousa -- Georges Khaznadar Sat, 29 Jan 2011 17:40:59 +0100 scolasync (2.1-3) unstable; urgency=low * fixed the dialog to choose existing files or directories in the usb drives. * slightly modified the dialog coming prior to unmounts * fixed a bug triggered by request to create a file inside a non-existing path -- Georges Khaznadar Fri, 28 Jan 2011 23:46:57 +0100 scolasync (2.1-2) unstable; urgency=low * fixed src/db.py, added "import subprocess" -- Georges Khaznadar Fri, 21 Jan 2011 16:57:14 +0100 scolasync (2.1-1) unstable; urgency=low * implemented a management of preferences, modified a few user interfaces, added a few warning dialogs, and tool invokations to improve the feedback, added a version management inside the database. * first upload to Debian. Closes: #610189 -- Georges Khaznadar Sun, 16 Jan 2011 01:07:03 +0100 scolasync (2.0-7) unstable; urgency=low * modified the icons, added a dependency on the package which provides them fournit les icônes. -- Georges Khaznadar Sat, 15 Jan 2011 19:01:55 +0100 scolasync (2.0-6) unstable; urgency=low * added a tatoo mechanism: scolasync writes a special file into the unknown USB drives (UNIX date of the first tatoo). This system helps for identification. -- Georges Khaznadar Wed, 12 Jan 2011 19:26:13 +0100 scolasync (2.0-5) unstable; urgency=low * added a dialog for cells where a double-click is bound to no action. fixed a false detection of USB drive change. -- Georges Khaznadar Wed, 15 Dec 2010 23:35:12 +0100 scolasync (2.0-4) unstable; urgency=low * improved the management of USB drives with unusual "serial numbers" and without a partition table -- Georges Khaznadar Wed, 15 Dec 2010 21:59:58 +0100 scolasync (2.0-3) unstable; urgency=low * removed some dependencies, began to use a standard desktop notification system -- Georges Khaznadar Sat, 11 Dec 2010 16:45:26 +0100 scolasync (2.0-2) unstable; urgency=low * added a possibility to consider partitionless disk drives -- Georges Khaznadar Wed, 01 Dec 2010 18:52:28 +0100 scolasync (2.0-1) unstable; urgency=low * replaced the DBM database engine by SQLite -- Georges Khaznadar Sun, 28 Nov 2010 10:16:09 +0100 scolasync (1.0-3) unstable; urgency=low * created src/sounds/pop2.wav (with the help of Audacity and Kde-window-manager's pop.wav -- Georges Khaznadar Mon, 22 Nov 2010 16:26:57 +0100 scolasync (1.0-2) unstable; urgency=low * modified the main Makefile in order to rerun pdflatex when some cross-references remained undefined. -- Georges Khaznadar Tue, 09 Nov 2010 01:12:50 +0100 scolasync (1.0-1) unstable; urgency=low * Initial debianization -- Georges Khaznadar Tue, 02 Nov 2010 01:39:21 +0100 debian/rules0000755000000000000000000000125412062375420010251 0ustar #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ --with python3 --without=python-support override_dh_install: dh_install rm -f $(CURDIR)/debian/scolasync/usr/share/scolasync/html/jquery.js ln -s /usr/share/javascript/jquery/jquery.js $(CURDIR)/debian/scolasync/usr/share/scolasync/html/