bugfix somes gui issues on destination file
This commit is contained in:
parent
c367db484c
commit
db4adc0518
|
@ -1,10 +1,10 @@
|
||||||
Kirmah 2.17 (2013-05-06)
|
Kirmah 2.18 (2013-05-15)
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
New General Features
|
New General Features
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
*
|
*
|
||||||
|
|
||||||
Bugfixes
|
Bugfixes
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
8
README
8
README
|
@ -1,9 +1,9 @@
|
||||||
Kirmah 2.17 (2013-05-06)
|
Kirmah 2.18 (2013-05-15)
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
Install on Archlinux
|
Install on Archlinux
|
||||||
-------------------------
|
-------------------------
|
||||||
sudo pacman -U http://sourceforge.net/projects/kirmah/files/packages/archlinux/kirmah-2.17-1-any.pkg.tar.xz/download
|
sudo pacman -U http://sourceforge.net/projects/kirmah/files/packages/archlinux/kirmah-2.18-1-any.pkg.tar.xz/download
|
||||||
|
|
||||||
|
|
||||||
(re)build instruction
|
(re)build instruction
|
||||||
|
@ -21,7 +21,7 @@ Install on other distrib
|
||||||
install pkg depends (look at archlinux PKGBUILD file wich provide usefull informations)
|
install pkg depends (look at archlinux PKGBUILD file wich provide usefull informations)
|
||||||
|
|
||||||
simply untar archive, then launch :
|
simply untar archive, then launch :
|
||||||
$ python ./kirmah/kirmah.py
|
$ python ./kirmah/kirmah.py
|
||||||
$ python ./kirmah/kirmah-cli.py
|
$ python ./kirmah/kirmah-cli.py
|
||||||
|
|
||||||
you can also use python2 disutils and setup.py
|
you can also use python2 disutils and setup.py
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -36,8 +36,8 @@ def main():
|
||||||
c = 0
|
c = 0
|
||||||
Cli('.'+Sys.sep)
|
Cli('.'+Sys.sep)
|
||||||
except Exception as e :
|
except Exception as e :
|
||||||
raise e
|
|
||||||
Sys.pwarn((('main : ',(str(e),Sys.CLZ_ERROR_PARAM), ' !'),), True)
|
Sys.pwarn((('main : ',(str(e),Sys.CLZ_ERROR_PARAM), ' !'),), True)
|
||||||
|
#~ raise e
|
||||||
c = 1
|
c = 1
|
||||||
return c
|
return c
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,8 @@ def main():
|
||||||
c = 0
|
c = 0
|
||||||
AppGui()
|
AppGui()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise e
|
|
||||||
Sys.pwarn((('main : ',(str(e),Sys.CLZ_ERROR_PARAM), ' !'),), True)
|
Sys.pwarn((('main : ',(str(e),Sys.CLZ_ERROR_PARAM), ' !'),), True)
|
||||||
|
#~ raise e
|
||||||
c = 1
|
c = 1
|
||||||
return c
|
return c
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -167,25 +167,28 @@ class KirmahApp:
|
||||||
if path is not None :
|
if path is not None :
|
||||||
self.dst = ''.join([path, Sys.sep, '' if self.src is None else Sys.basename(self.src)])
|
self.dst = ''.join([path, Sys.sep, '' if self.src is None else Sys.basename(self.src)])
|
||||||
if self.encmode:
|
if self.encmode:
|
||||||
self.dst = ''.join([self.dst, conf.DEFVAL_CRYPT_EXT])
|
self.dst = ''.join([self.dst, Kirmah.EXT if not self.splitmode else Kirmah.EXT_TARK])
|
||||||
else :
|
else :
|
||||||
self.dst, ext = Sys.getFileExt(self.dst)
|
self.dst, ext = Sys.getFileExt(self.dst)
|
||||||
if Io.file_exists(self.dst):
|
if not ext == (Kirmah.EXT if not self.splitmode else Kirmah.EXT_TARK):
|
||||||
raise FileNeedOverwriteException(self.dst)
|
self.dst += ext
|
||||||
|
#~ if Io.file_exists(self.dst):
|
||||||
|
#~ raise FileNeedOverwriteException(self.dst)
|
||||||
else : self.dst = None
|
else : self.dst = None
|
||||||
|
|
||||||
|
|
||||||
@Log(Const.LOG_DEFAULT)
|
@Log(Const.LOG_DEFAULT)
|
||||||
def getCall(self):
|
def getCall(self):
|
||||||
|
q = ''
|
||||||
action = ('enc' if self.encmode else 'dec') if not self.splitmode else ('split' if self.encmode else 'merge')
|
action = ('enc' if self.encmode else 'dec') if not self.splitmode else ('split' if self.encmode else 'merge')
|
||||||
comp = '-a' if self.compression==1 else ('-z' if self.compression==2 else '-Z')
|
comp = '-a' if self.compression==1 else ('-z' if self.compression==2 else '-Z')
|
||||||
mproc = '' if self.nproc==0 or self.splitmode else '-j'+str(self.nproc)
|
mproc = '' if self.nproc==0 or self.splitmode else '-j'+str(self.nproc)
|
||||||
rmode = '-r' if self.random else '-R '
|
rmode = '-r' if self.random else '-R '
|
||||||
mmode = '-m' if self.mix else '-M'
|
mmode = '-m' if self.mix else '-M'
|
||||||
debug = '-fd' if Sys.g.DEBUG else '-f'
|
debug = '-fd' if Sys.g.DEBUG else '-f'
|
||||||
|
key = '-k'+q+self.kpath+q if self.kpath != self.getDefaultKeyPath() else ''
|
||||||
#~ q = '"'
|
#~ q = '"'
|
||||||
q = ''
|
call = ['kirmah-cli.py',debug, action,q+self.src+q,comp,mproc,rmode,mmode,'-o',q+self.dst+q,key]
|
||||||
call = ['kirmah-cli.py',debug, action,q+self.src+q,comp,mproc,rmode,mmode,'-o',q+self.dst+q]
|
|
||||||
print('python '+(' '.join(call)))
|
print('python '+(' '.join(call)))
|
||||||
return call
|
return call
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -158,11 +158,9 @@ class CliApp:
|
||||||
|
|
||||||
km.decrypt(self.a[1], self.o.outputfile, nproc)
|
km.decrypt(self.a[1], self.o.outputfile, nproc)
|
||||||
|
|
||||||
except BadKeyException as e :
|
except BadKeyException:
|
||||||
done = False
|
done = False
|
||||||
Sys.pwarn(('BadKeyException',))
|
Sys.pwarn((('BadKeyException : ',('wrong key ',Sys.CLZ_WARN_PARAM), ' !'),), False)
|
||||||
if Sys.g.DEBUG :
|
|
||||||
raise e
|
|
||||||
|
|
||||||
if not Sys.g.QUIET :
|
if not Sys.g.QUIET :
|
||||||
self.onend_cmd('Kirmah Decrypt', self.stime, done, self.o.outputfile)
|
self.onend_cmd('Kirmah Decrypt', self.stime, done, self.o.outputfile)
|
||||||
|
@ -257,35 +255,52 @@ class CliApp:
|
||||||
|
|
||||||
key = Io.get_data(self.o.keyfile)
|
key = Io.get_data(self.o.keyfile)
|
||||||
km = Kirmah(key)
|
km = Kirmah(key)
|
||||||
|
kcf = None
|
||||||
|
istar = True
|
||||||
try:
|
try:
|
||||||
import tarfile
|
import tarfile
|
||||||
|
dpath = Sys.dirname(Sys.realpath(self.o.outputfile))+Sys.sep if self.o.outputfile is not None else Sys.dirname(Sys.realpath(self.a[1]))+Sys.sep
|
||||||
|
if self.o.outputfile is None :
|
||||||
|
self.o.outputfile = dpath
|
||||||
with tarfile.open(self.a[1], mode='r') as tar:
|
with tarfile.open(self.a[1], mode='r') as tar:
|
||||||
dpath = Sys.dirname(Sys.realpath(self.o.outputfile))+Sys.sep if self.o.outputfile is not None else '.'+Sys.sep
|
#~ print(dpath)
|
||||||
print(dpath)
|
|
||||||
tar.extractall(path=dpath)
|
tar.extractall(path=dpath)
|
||||||
kcf = None
|
kcf = None
|
||||||
for tarinfo in tar:
|
for tarinfo in tar:
|
||||||
print(tarinfo.name)
|
#~ print(tarinfo.name)
|
||||||
if tarinfo.isreg() and tarinfo.name[-4:]=='.kcf':
|
if tarinfo.isreg() and tarinfo.name[-4:]=='.kcf':
|
||||||
|
#~ print(dpath+tarinfo.name)
|
||||||
kcf = dpath+tarinfo.name
|
kcf = dpath+tarinfo.name
|
||||||
if kcf is not None :
|
if kcf is not None :
|
||||||
toPath = km.mergeFile(kcf)
|
km.DIR_OUTBOX = dpath
|
||||||
except Exception as e:
|
toPath = km.mergeFile(kcf, self.o.outputfile)
|
||||||
Sys.pwarn((('onCommandMerge : ',(str(e),Sys.CLZ_WARN_PARAM), ' !'),), False)
|
except BadKeyException:
|
||||||
raise e
|
Sys.pwarn((('BadKeyException : ',('wrong key ',Sys.CLZ_WARN_PARAM), ' !'),), False)
|
||||||
toPath = km.mergeFile(self.a[1])
|
done = False
|
||||||
if self.o.outputfile is not None :
|
|
||||||
Io.rename(toPath, self.o.outputfile)
|
except Exception :
|
||||||
toPath = self.o.outputfile
|
istar = False
|
||||||
|
toPath = km.mergeFile(self.a[1], self.o.outputfile)
|
||||||
|
|
||||||
|
#~ if self.o.outputfile is not None :
|
||||||
|
#~ Io.rename(toPath, self.o.outputfile)
|
||||||
|
#~ toPath = self.o.outputfile
|
||||||
|
|
||||||
|
except BadKeyException:
|
||||||
|
Sys.pwarn((('BadKeyException : ',('wrong key ',Sys.CLZ_WARN_PARAM), ' !'),), False)
|
||||||
|
done = False
|
||||||
|
|
||||||
except Exception as e :
|
except Exception as e :
|
||||||
done = False
|
done = False
|
||||||
if Sys.g.DEBUG :
|
if Sys.g.DEBUG :
|
||||||
print(e)
|
print(e)
|
||||||
raise e
|
|
||||||
elif not Sys.g.QUIET :
|
elif not Sys.g.QUIET :
|
||||||
Sys.pwarn((str(e),))
|
Sys.pwarn((str(e),))
|
||||||
|
if not done :
|
||||||
|
if istar :
|
||||||
|
with tarfile.open(self.a[1], mode='r') as tar:
|
||||||
|
for tarinfo in tar:
|
||||||
|
Sys.removeFile(dpath+tarinfo.name)
|
||||||
|
|
||||||
if not Sys.g.QUIET :
|
if not Sys.g.QUIET :
|
||||||
self.onend_cmd('Kirmah Merge', self.stime, done, toPath)
|
self.onend_cmd('Kirmah Merge', self.stime, done, toPath)
|
||||||
|
@ -312,6 +327,7 @@ class CliApp:
|
||||||
Sys.print(s, Sys.CLZ_HEAD_LINE)
|
Sys.print(s, Sys.CLZ_HEAD_LINE)
|
||||||
Sys.wlog([(s, Const.CLZ_HEAD_SEP)])
|
Sys.wlog([(s, Const.CLZ_HEAD_SEP)])
|
||||||
if done and outputfile is not None:
|
if done and outputfile is not None:
|
||||||
|
Sys.cli_emit_progress(100)
|
||||||
Sys.print(' '*5+Sys.realpath(outputfile), Sys.Clz.fgB1, False)
|
Sys.print(' '*5+Sys.realpath(outputfile), Sys.Clz.fgB1, False)
|
||||||
Sys.print(' ('+Sys.getFileSize(outputfile)+')', Sys.Clz.fgB3)
|
Sys.print(' ('+Sys.getFileSize(outputfile)+')', Sys.Clz.fgB3)
|
||||||
bdata = [(' '*5+Sys.realpath(outputfile), 'io'),(' ('+Sys.getFileSize(outputfile)+')','func')]
|
bdata = [(' '*5+Sys.realpath(outputfile), 'io'),(' ('+Sys.getFileSize(outputfile)+')','func')]
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -39,7 +39,7 @@ PRG_NAME = 'Kirmah'
|
||||||
PRG_PACKAGE = PRG_NAME.lower()
|
PRG_PACKAGE = PRG_NAME.lower()
|
||||||
PRG_SCRIPT = PRG_NAME.lower()
|
PRG_SCRIPT = PRG_NAME.lower()
|
||||||
PRG_CLI_NAME = PRG_SCRIPT+'-cli'
|
PRG_CLI_NAME = PRG_SCRIPT+'-cli'
|
||||||
PRG_VERS = '2.1'
|
PRG_VERS = '2.18'
|
||||||
PRG_AUTHOR = 'a-Sansara'
|
PRG_AUTHOR = 'a-Sansara'
|
||||||
PRG_COPY = 'pluie.org'
|
PRG_COPY = 'pluie.org'
|
||||||
PRG_YEAR = '2013'
|
PRG_YEAR = '2013'
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -669,11 +669,13 @@ class Kirmah:
|
||||||
clist = literal_eval(data)
|
clist = literal_eval(data)
|
||||||
Sys.removeFile('.cfg')
|
Sys.removeFile('.cfg')
|
||||||
theList = self.ck.getHashList(clist['name'], clist['count'], True)
|
theList = self.ck.getHashList(clist['name'], clist['count'], True)
|
||||||
dirs = Sys.dirname(Sys.realpath(toPath)) if toPath is not None else None
|
|
||||||
ext = ''
|
ext = ''
|
||||||
if toPath is None :
|
if toPath is None :
|
||||||
toPath = clist['name']
|
toPath = clist['name']
|
||||||
|
elif Sys.isdir(toPath) :
|
||||||
|
toPath += clist['name']
|
||||||
toPath, ext = Sys.getFileExt(toPath)
|
toPath, ext = Sys.getFileExt(toPath)
|
||||||
|
dirs = (Sys.dirname(Sys.realpath(toPath)) if toPath is not None else Sys.dirname(Sys.realpath(fromPath)))+Sys.sep
|
||||||
Sys.cli_emit_progress(10)
|
Sys.cli_emit_progress(10)
|
||||||
toPath = self.merge(theList, toPath, ext, uid, dirs)
|
toPath = self.merge(theList, toPath, ext, uid, dirs)
|
||||||
Sys.removeFile(fromPath)
|
Sys.removeFile(fromPath)
|
||||||
|
@ -688,16 +690,21 @@ class Kirmah:
|
||||||
p = 0
|
p = 0
|
||||||
# ensure correct order
|
# ensure correct order
|
||||||
hlst['data'] = sorted(hlst['data'], key=lambda lst: lst[0])
|
hlst['data'] = sorted(hlst['data'], key=lambda lst: lst[0])
|
||||||
|
#~ print(hlst['head'])
|
||||||
if dirs is not None and dirs!='none' :
|
#~ for row in hlst['data']:
|
||||||
dirPath = Sys.join(self.DIR_DEPLOY,dirs)+Sys.sep
|
#~ print(row)
|
||||||
Sys.mkdir_p(dirPath)
|
#~ if dirs is not None and dirs!='none' :
|
||||||
else: dirPath = self.DIR_DEPLOY
|
#~ dirPath = Sys.join(self.DIR_DEPLOY,dirs)+Sys.sep
|
||||||
filePath = dirPath+fileName
|
#~ Sys.mkdir_p(dirPath)
|
||||||
|
#~ else: dirPath = self.DIR_DEPLOY
|
||||||
|
#~ print('dirPath')
|
||||||
|
#~ print(dirPath)
|
||||||
|
#~ filePath = dirPath+fileName
|
||||||
|
filePath = fileName
|
||||||
if Io.file_exists(filePath+ext):
|
if Io.file_exists(filePath+ext):
|
||||||
filePath += '-'+str(uid)
|
filePath += '-'+str(uid)
|
||||||
filePath = Sys.abspath(filePath+ext)
|
filePath += ext
|
||||||
depDir = self.DIR_INBOX if not fake else self.DIR_OUTBOX
|
depDir = dirs
|
||||||
perc = 10
|
perc = 10
|
||||||
frav = 2.7
|
frav = 2.7
|
||||||
with Io.wfile(filePath) as fo :
|
with Io.wfile(filePath) as fo :
|
||||||
|
@ -895,11 +902,9 @@ class Kirmah:
|
||||||
if Sys.g.DEBUG : Sys.wlog(Sys.dprint())
|
if Sys.g.DEBUG : Sys.wlog(Sys.dprint())
|
||||||
if decHeader['smode'] == self.mark[fsize%len(self.mark)] :
|
if decHeader['smode'] == self.mark[fsize%len(self.mark)] :
|
||||||
Sys.pstep('Reading Header', d, True)
|
Sys.pstep('Reading Header', d, True)
|
||||||
#~ print('ok valid')
|
|
||||||
""""""
|
|
||||||
else :
|
else :
|
||||||
Sys.pstep('Reading Header', d, False)
|
Sys.pstep('Reading Header', d, False, False, False)
|
||||||
raise BadKeyException()
|
raise BadKeyException('wrong key')
|
||||||
|
|
||||||
compend, compstart = not decHeader['cmode']== KirmahHeader.COMP_NONE, decHeader['cmode']== KirmahHeader.COMP_ALL
|
compend, compstart = not decHeader['cmode']== KirmahHeader.COMP_NONE, decHeader['cmode']== KirmahHeader.COMP_ALL
|
||||||
fp, tp = fromPath, self.tmpPath1
|
fp, tp = fromPath, self.tmpPath1
|
||||||
|
@ -1022,6 +1027,7 @@ class Kirmah:
|
||||||
fp, tp, compstart = self.decrypt_sp_start(fromPath, toPath, emit=emit)
|
fp, tp, compstart = self.decrypt_sp_start(fromPath, toPath, emit=emit)
|
||||||
self.decrypt_mproc(fp, tp, nproc, emit=emit)
|
self.decrypt_mproc(fp, tp, nproc, emit=emit)
|
||||||
self.decrypt_sp_end(tp, toPath, compstart, emit=emit)
|
self.decrypt_sp_end(tp, toPath, compstart, emit=emit)
|
||||||
|
|
||||||
Sys.cli_emit_progress(100)
|
Sys.cli_emit_progress(100)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1211,4 +1217,4 @@ class Noiser:
|
||||||
# ~~ class BadKeyException ~~
|
# ~~ class BadKeyException ~~
|
||||||
|
|
||||||
class BadKeyException(BaseException):
|
class BadKeyException(BaseException):
|
||||||
pass
|
""""""
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -229,7 +229,7 @@ class AppGui(Gui):
|
||||||
if not self.app.splitmode :
|
if not self.app.splitmode :
|
||||||
for n in ['checkbutton2','checkbutton4','comboboxtext1','label12']:
|
for n in ['checkbutton2','checkbutton4','comboboxtext1','label12']:
|
||||||
self.disable(n, not self.app.encmode)
|
self.disable(n, not self.app.encmode)
|
||||||
self.on_new_file_dest(self.get('filechooserbutton3'))
|
#~ self.on_new_file_dest(self.get('filechooserbutton3'))
|
||||||
if self.start: self.refreshProceed()
|
if self.start: self.refreshProceed()
|
||||||
|
|
||||||
|
|
||||||
|
@ -259,26 +259,22 @@ class AppGui(Gui):
|
||||||
try:
|
try:
|
||||||
self.app.setSourceFile(fc.get_filename())
|
self.app.setSourceFile(fc.get_filename())
|
||||||
self.IS_SOURCE_DEF = True
|
self.IS_SOURCE_DEF = True
|
||||||
self.on_new_file_dest(self.get('filechooserbutton3'))
|
|
||||||
except FileNotFoundException as e:
|
except FileNotFoundException as e:
|
||||||
Sys.eprint('FileNotFoundException :' + str(fc.get_filename()), Const.ERROR)
|
Sys.eprint('FileNotFoundException :' + str(fc.get_filename()), Const.ERROR)
|
||||||
self.IS_SOURCE_DEF = False
|
self.IS_SOURCE_DEF = False
|
||||||
|
self.refreshProceed()
|
||||||
|
|
||||||
@Log(Const.LOG_UI)
|
|
||||||
def on_dest_changed(self, fc, data=None):
|
|
||||||
""""""
|
|
||||||
self.on_new_file_dest(fc, data)
|
|
||||||
|
|
||||||
|
|
||||||
@Log(Const.LOG_UI)
|
@Log(Const.LOG_UI)
|
||||||
def on_new_file_dest(self, fc, data=None):
|
def on_new_file_dest(self, fc, data=None):
|
||||||
""""""
|
""""""
|
||||||
|
try :
|
||||||
|
self.app.setDestFile(fc.get_filename())
|
||||||
|
print(self.app.dst)
|
||||||
|
except Exception as e :
|
||||||
|
print(e)
|
||||||
|
pass
|
||||||
if self.start:
|
if self.start:
|
||||||
try :
|
|
||||||
self.app.setDestFile(fc.get_filename())
|
|
||||||
except :
|
|
||||||
pass
|
|
||||||
self.IS_DEST_DEF = True
|
self.IS_DEST_DEF = True
|
||||||
self.refreshProceed()
|
self.refreshProceed()
|
||||||
|
|
||||||
|
@ -301,6 +297,7 @@ class AppGui(Gui):
|
||||||
self.disable('spinbutton1',False)
|
self.disable('spinbutton1',False)
|
||||||
self.disable('filechooserbutton1',False)
|
self.disable('filechooserbutton1',False)
|
||||||
self.get('filechooserbutton1').set_current_folder(conf.DEFVAL_UKEY_PATH)
|
self.get('filechooserbutton1').set_current_folder(conf.DEFVAL_UKEY_PATH)
|
||||||
|
self.get('filechooserbutton1').set_filename(conf.DEFVAL_UKEY_PATH+'.rename.key')
|
||||||
|
|
||||||
|
|
||||||
@Log(Const.LOG_UI)
|
@Log(Const.LOG_UI)
|
||||||
|
@ -351,8 +348,8 @@ class AppGui(Gui):
|
||||||
@Log(Const.LOG_UI)
|
@Log(Const.LOG_UI)
|
||||||
def refreshProceed(self):
|
def refreshProceed(self):
|
||||||
""""""
|
""""""
|
||||||
if self.start :
|
#~ if self.start :
|
||||||
self.get('button1').set_sensitive(self.IS_DEST_DEF and self.IS_SOURCE_DEF)
|
self.get('button1').set_sensitive(self.IS_DEST_DEF and self.IS_SOURCE_DEF)
|
||||||
|
|
||||||
|
|
||||||
@Log(Const.LOG_UI)
|
@Log(Const.LOG_UI)
|
||||||
|
@ -369,12 +366,12 @@ class AppGui(Gui):
|
||||||
self.PROCEED = True
|
self.PROCEED = True
|
||||||
self.STOPPED = False
|
self.STOPPED = False
|
||||||
btn.set_sensitive(False)
|
btn.set_sensitive(False)
|
||||||
self.on_new_file_dest(self.get('filechooserbutton3'))
|
self.app.setDestFile(self.get('filechooserbutton3').get_filename())
|
||||||
self.pb = self.get('progressbar1')
|
|
||||||
self.pb.set_fraction(0)
|
|
||||||
self.pb.show()
|
|
||||||
self.pb.pulse()
|
|
||||||
if not Io.file_exists(self.app.dst) or self.warnDialog('file '+self.app.dst+' already exists', 'Overwrite file ?'):
|
if not Io.file_exists(self.app.dst) or self.warnDialog('file '+self.app.dst+' already exists', 'Overwrite file ?'):
|
||||||
|
self.pb = self.get('progressbar1')
|
||||||
|
self.pb.set_fraction(0)
|
||||||
|
self.pb.show()
|
||||||
|
self.pb.pulse()
|
||||||
btn.set_sensitive(True)
|
btn.set_sensitive(True)
|
||||||
btn.set_label(conf.GUI_LABEL_CANCEL)
|
btn.set_label(conf.GUI_LABEL_CANCEL)
|
||||||
self.clear_log(self.get('checkbutton3'))
|
self.clear_log(self.get('checkbutton3'))
|
||||||
|
@ -395,6 +392,9 @@ class AppGui(Gui):
|
||||||
self.thkmh.cancel()
|
self.thkmh.cancel()
|
||||||
else :
|
else :
|
||||||
self.textbuffer.insert_at_cursor('Kmh Thread is not Alive\n')
|
self.textbuffer.insert_at_cursor('Kmh Thread is not Alive\n')
|
||||||
|
self.on_proceed_end(True)
|
||||||
|
self.pb.hide()
|
||||||
|
self.show_log()
|
||||||
|
|
||||||
|
|
||||||
@Log(Const.LOG_UI)
|
@Log(Const.LOG_UI)
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -358,7 +358,7 @@ class CliThread(Thread, IdleObject):
|
||||||
""""""
|
""""""
|
||||||
if self.isAlive():
|
if self.isAlive():
|
||||||
self.cancel()
|
self.cancel()
|
||||||
if current_thread() .getName()==self.getName():
|
if current_thread().getName()==self.getName():
|
||||||
try:
|
try:
|
||||||
self.emit("interrupted")
|
self.emit("interrupted")
|
||||||
Sys.thread_exit()
|
Sys.thread_exit()
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -89,6 +89,6 @@ class Const:
|
||||||
UNIT_SHORT_TIB = 'TiB'
|
UNIT_SHORT_TIB = 'TiB'
|
||||||
|
|
||||||
LINE_SEP_LEN = 100
|
LINE_SEP_LEN = 100
|
||||||
LINE_SEP_CHAR = '―'
|
LINE_SEP_CHAR = '―'
|
||||||
|
|
||||||
const = Const()
|
const = Const()
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -241,6 +241,7 @@ class Io:
|
||||||
try:
|
try:
|
||||||
if path is not None :
|
if path is not None :
|
||||||
with open(path) as f: exist = True
|
with open(path) as f: exist = True
|
||||||
|
f.close()
|
||||||
except IOError as e: pass
|
except IOError as e: pass
|
||||||
return exist
|
return exist
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
|
10
psr/sys.py
10
psr/sys.py
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
@ -353,18 +353,18 @@ class Sys:
|
||||||
|
|
||||||
if not dbcall : Sys.print(w, clzp, False, False)
|
if not dbcall : Sys.print(w, clzp, False, False)
|
||||||
bdata = []
|
bdata = []
|
||||||
if Sys.g.DEBUG :
|
if not Sys.g.QUIET :
|
||||||
bdata.append((w, uiclzp))
|
bdata.append((w, uiclzp))
|
||||||
for i, line in enumerate(data) :
|
for i, line in enumerate(data) :
|
||||||
if i > 0 :
|
if i > 0 :
|
||||||
if not dbcall : Sys.print(' '*len(w), clz, False, False)
|
if not dbcall : Sys.print(' '*len(w), clz, False, False)
|
||||||
if Sys.g.DEBUG :
|
if not Sys.g.QUIET :
|
||||||
bdata.append((' '*len(w), uiclz))
|
bdata.append((' '*len(w), uiclz))
|
||||||
if isinstance(line,str) :
|
if isinstance(line,str) :
|
||||||
s = line.ljust(length-len(w),' ')
|
s = line.ljust(length-len(w),' ')
|
||||||
if not dbcall : Sys.print(s, clz, True, True)
|
if not dbcall : Sys.print(s, clz, True, True)
|
||||||
|
|
||||||
if Sys.g.DEBUG :
|
if not Sys.g.QUIET :
|
||||||
bdata.append((s, uiclz))
|
bdata.append((s, uiclz))
|
||||||
Sys.wlog(bdata)
|
Sys.wlog(bdata)
|
||||||
bdata = []
|
bdata = []
|
||||||
|
@ -381,7 +381,7 @@ class Sys:
|
||||||
sl += len(p[0])
|
sl += len(p[0])
|
||||||
s = ' '.ljust(length-sl-len(w),' ')
|
s = ' '.ljust(length-sl-len(w),' ')
|
||||||
if not dbcall : Sys.print(s, clz, True, True)
|
if not dbcall : Sys.print(s, clz, True, True)
|
||||||
if Sys.g.DEBUG :
|
if not Sys.g.QUIET :
|
||||||
bdata.append((s, uiclz))
|
bdata.append((s, uiclz))
|
||||||
Sys.wlog(bdata)
|
Sys.wlog(bdata)
|
||||||
bdata = []
|
bdata = []
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
|
|
@ -720,7 +720,6 @@
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
<property name="action">select-folder</property>
|
<property name="action">select-folder</property>
|
||||||
<signal name="file-set" handler="on_new_file_dest" swapped="no"/>
|
<signal name="file-set" handler="on_new_file_dest" swapped="no"/>
|
||||||
<signal name="current-folder-changed" handler="on_dest_changed" swapped="no"/>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">True</property>
|
<property name="expand">True</property>
|
||||||
|
@ -917,6 +916,8 @@
|
||||||
<object class="GtkProgressBar" id="progressbar1">
|
<object class="GtkProgressBar" id="progressbar1">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="no_show_all">True</property>
|
<property name="no_show_all">True</property>
|
||||||
|
<property name="margin_left">5</property>
|
||||||
|
<property name="margin_right">5</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">True</property>
|
<property name="expand">True</property>
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -4,7 +4,7 @@
|
||||||
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
||||||
#
|
#
|
||||||
# software : Kirmah <http://kirmah.sourceforge.net/>
|
# software : Kirmah <http://kirmah.sourceforge.net/>
|
||||||
# version : 2.17
|
# version : 2.18
|
||||||
# date : 2013
|
# date : 2013
|
||||||
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
# licence : GPLv3.0 <http://www.gnu.org/licenses/>
|
||||||
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
# author : a-Sansara <[a-sansara]at[clochardprod]dot[net]>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user