Major Update This changes the structure of the entire program, making it much simpler to maintain. The old structure was needlessly complicated by improper use of packages. This version is lacking a few features that were present in the original version, but nothing that I ever used. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
Use exceptions for error handling The previous error handling strategy was very Linux kernel like, showing influence from what I was working on while I designed this program. Refactor the program to use exceptions, which significantly reduces the amount of code needed for error handling. Best practices are now followed: we only catch exceptions where we need to log a message and rethrow, or for a complete unit of work. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
[JOIN] Fix os.path.samefile() check for win32 The function os.path.samefile() doesn't exist on win32, so we will just check and see if the names are the same, that will be good enough to fix mv in this case. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
[JOIN] Fix removal of protected files In the join case, since we are not extracting files, we don't really want to remove the files. So, in this case, remove all files that the delete_regex matches, but not the files that are protected. This fixes the following case: ========================================== X.rar.par2 X.rar.vol0+1.par2 ... X.rar.001 X.rar.002 ... Where X.rar is the only protected file. When the process completes, X.rar will be the only file left. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
Add Copyright / License information + Documentation Add the COPYING file (GPLv2). Add the GPLv2 copyright notice to all files. Add documentation to all modules, classes, and functions. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
[PAR2SET] Add missing os declarations Add the missing os declarations to the PAR2Set-derived classes. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
Convert all return values to use rsutil package All of the return values used values defined in the rsutil package. This fixes all of them so that rsutil is used. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
Move common functionality into rsutil package This patch moves all of the common functionality from the RarslaveCommon, RarslaveConfig, and RarslaveGlobals classes into a new package, called rsutil. It then converts everything over to the new package. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
Migrate all PAR2Set-derived classes to the package notation This package migrates all of the PAR2Set-derived classes to the new PAR2Set package notation. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>
Package PAR2Set and derived classes Move the PAR2Set class and it's derived classes into a new PAR2Set package. Signed-off-by: Ira W. Snyder <devel@irasnyder.com>