mirror of
				https://github.com/Jonny007-MKD/OTR-DecodeAll
				synced 2025-11-03 16:15:36 +01:00 
			
		
		
		
	Prevent false removing of decoded and moved files
This commit is contained in:
		
							parent
							
								
									3561156c46
								
							
						
					
					
						commit
						22100be856
					
				
					 1 changed files with 63 additions and 41 deletions
				
			
		
							
								
								
									
										104
									
								
								otrDecodeAll
									
									
									
									
									
								
							
							
						
						
									
										104
									
								
								otrDecodeAll
									
									
									
									
									
								
							| 
						 | 
					@ -282,16 +282,21 @@ function funcMakeVars {
 | 
				
			||||||
# In here lives the main loop
 | 
					# In here lives the main loop
 | 
				
			||||||
function funcProcessFiles {
 | 
					function funcProcessFiles {
 | 
				
			||||||
	local nextStep
 | 
						local nextStep
 | 
				
			||||||
	local status		# 0 undef; 1 encoded; 2 decoded; 3 cut; 4 moved;
 | 
						local status		# 0 undef; 1 encoded; 2 decoded; 3 cut;
 | 
				
			||||||
 | 
						local alrMoved		# 0 not moved; 1 already moved;
 | 
				
			||||||
	local files="`ls $inDir/*.otrkey 2> /dev/null`"						# All otrkeys in input dir
 | 
						local files="`ls $inDir/*.otrkey 2> /dev/null`"						# All otrkeys in input dir
 | 
				
			||||||
	for file in $files; do												# For each otrkey
 | 
						for file in $files; do												# For each otrkey
 | 
				
			||||||
		funcPerformKodiCheck												# Check whether Kodi is running
 | 
							funcPerformKodiCheck												# Check whether Kodi is running
 | 
				
			||||||
		echo;
 | 
							if [ $echoLevel -eq 5 ]; then
 | 
				
			||||||
 | 
								echo -ne "\n...";
 | 
				
			||||||
 | 
								read;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								echo
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		filename="$(basename $file)"										# Determine the filename
 | 
							filename="$(basename $file)"										# Determine the filename
 | 
				
			||||||
		filename="${filename%.otrkey}"
 | 
							filename="${filename%.otrkey}"
 | 
				
			||||||
		funcLog 0 "Processing $filename";
 | 
							funcLog 0 "Processing $filename";
 | 
				
			||||||
		status=0;
 | 
					 | 
				
			||||||
		funcGetLabel														# Read the label from the database
 | 
							funcGetLabel														# Read the label from the database
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -304,6 +309,8 @@ function funcProcessFiles {
 | 
				
			||||||
			continue;
 | 
								continue;
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							status=0;
 | 
				
			||||||
 | 
							alrMoved=0;
 | 
				
			||||||
		funcMakeVars														# Make all path variables
 | 
							funcMakeVars														# Make all path variables
 | 
				
			||||||
		echo -e "	>> \033[32m$sanename\033[37m";
 | 
							echo -e "	>> \033[32m$sanename\033[37m";
 | 
				
			||||||
		status=1;
 | 
							status=1;
 | 
				
			||||||
| 
						 | 
					@ -313,9 +320,11 @@ function funcProcessFiles {
 | 
				
			||||||
			funcLog 4 "Renamed $filename to $sanename"
 | 
								funcLog 4 "Renamed $filename to $sanename"
 | 
				
			||||||
			mv $pathAbsOutCutInsane $pathAbsOutCut
 | 
								mv $pathAbsOutCutInsane $pathAbsOutCut
 | 
				
			||||||
			status=3;
 | 
								status=3;
 | 
				
			||||||
 | 
								alrMoved=1;
 | 
				
			||||||
		elif [ -f "$pathAbsOutCut" ]; then									# The final output file already exists
 | 
							elif [ -f "$pathAbsOutCut" ]; then									# The final output file already exists
 | 
				
			||||||
			funcLog 4 "File was already decoded and cut."
 | 
								funcLog 4 "File was already decoded and cut."
 | 
				
			||||||
			status=4;
 | 
								status=3;
 | 
				
			||||||
 | 
								alrMoved=1;
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# If file was already decoded
 | 
							# If file was already decoded
 | 
				
			||||||
| 
						 | 
					@ -331,10 +340,16 @@ function funcProcessFiles {
 | 
				
			||||||
			if [ $status -eq 2 ]; then
 | 
								if [ $status -eq 2 ]; then
 | 
				
			||||||
				pathTmpAbsDecoded="$pathAbsOutDecoded"						# Use the decoded file in the output dir directly
 | 
									pathTmpAbsDecoded="$pathAbsOutDecoded"						# Use the decoded file in the output dir directly
 | 
				
			||||||
				funcLog 5 "pathTmpAbsDecoded: $pathTmpAbsDecoded"
 | 
									funcLog 5 "pathTmpAbsDecoded: $pathTmpAbsDecoded"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if [ "$sanename" != "$filename" ]; then						# Our output file has a sanename
 | 
				
			||||||
 | 
										pathTmpAbsCut="$tempDir/$sanename$cutAppendix"			# so the cut file will also have this name
 | 
				
			||||||
 | 
										funcLog 5 "pathTmpAbsCut: $pathTmpAbsCut"
 | 
				
			||||||
 | 
									fi
 | 
				
			||||||
 | 
									alrMoved=1;
 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if [ $status -eq 1 ]; then
 | 
							if [ $status -eq 1 ]; then		# encoded
 | 
				
			||||||
			# Decode the file if neccessary
 | 
								# Decode the file if neccessary
 | 
				
			||||||
			funcDecode "$pathAbsEncoded";
 | 
								funcDecode "$pathAbsEncoded";
 | 
				
			||||||
			if [ $success -ne 1 ]; then										# Decoding failed, we can skip the rest
 | 
								if [ $success -ne 1 ]; then										# Decoding failed, we can skip the rest
 | 
				
			||||||
| 
						 | 
					@ -348,6 +363,7 @@ function funcProcessFiles {
 | 
				
			||||||
			funcCut "$pathTmpAbsDecoded"
 | 
								funcCut "$pathTmpAbsDecoded"
 | 
				
			||||||
			if [ $success -eq 1 ]; then										# Cutting did not fail
 | 
								if [ $success -eq 1 ]; then										# Cutting did not fail
 | 
				
			||||||
				status=3;
 | 
									status=3;
 | 
				
			||||||
 | 
									alrMoved=0;													# Our new file is in tempDir
 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -363,7 +379,7 @@ function funcProcessFiles {
 | 
				
			||||||
		if [ $status -ge 2 ]; then
 | 
							if [ $status -ge 2 ]; then
 | 
				
			||||||
			funcMove "$pathMoveFrom" "$pathMoveTo"
 | 
								funcMove "$pathMoveFrom" "$pathMoveTo"
 | 
				
			||||||
			if [ $success -eq 1 ]; then										# Moving the file failed, we can skip the rest
 | 
								if [ $success -eq 1 ]; then										# Moving the file failed, we can skip the rest
 | 
				
			||||||
				status=4
 | 
									alrMoved=1;
 | 
				
			||||||
			fi
 | 
								fi
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -413,6 +429,44 @@ function funcDecode {
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Cut our decoded file
 | 
				
			||||||
 | 
					function funcCut {
 | 
				
			||||||
 | 
						funcLog 4 "Cutting $pathTmpAbsDecoded"
 | 
				
			||||||
 | 
						funcLog 5 "     $cmdCut $cmdCutArgs $pathTmpAbsDecoded"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						$cmdCut $cmdCutArgs "$pathTmpAbsDecoded"
 | 
				
			||||||
 | 
						success=$?
 | 
				
			||||||
 | 
						case $success in
 | 
				
			||||||
 | 
							0)
 | 
				
			||||||
 | 
								funcLog 4 "Successfully cut"
 | 
				
			||||||
 | 
								success=1;;
 | 
				
			||||||
 | 
							5)
 | 
				
			||||||
 | 
								funcLog 3 "No cutlist found"
 | 
				
			||||||
 | 
								success=0;;
 | 
				
			||||||
 | 
							*)
 | 
				
			||||||
 | 
								funcLog 1 "An error occured while cutting: $success!"
 | 
				
			||||||
 | 
								success=0;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function funcMove {
 | 
				
			||||||
 | 
						if [ "$pathMoveFrom" != "$pathMoveTo" ]; then
 | 
				
			||||||
 | 
							if [ -f "$pathMoveFrom" ]; then
 | 
				
			||||||
 | 
								local dir="$(dirname $pathMoveTo)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if [ ! -d "$dir" ]; then
 | 
				
			||||||
 | 
									mkdir -p "$dir"
 | 
				
			||||||
 | 
								fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								mv -f "$pathMoveFrom" "$pathMoveTo"
 | 
				
			||||||
 | 
								success=1;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								success=0;
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Remove all unneeded files
 | 
					# Remove all unneeded files
 | 
				
			||||||
function funcRemove {
 | 
					function funcRemove {
 | 
				
			||||||
	case $status in
 | 
						case $status in
 | 
				
			||||||
| 
						 | 
					@ -422,7 +476,9 @@ function funcRemove {
 | 
				
			||||||
		funcRemoveFile "$pathAbsOutDecodedInsane"	#  "
 | 
							funcRemoveFile "$pathAbsOutDecodedInsane"	#  "
 | 
				
			||||||
		;&
 | 
							;&
 | 
				
			||||||
	2)	# Decoded	-> remove otrkey
 | 
						2)	# Decoded	-> remove otrkey
 | 
				
			||||||
		funcRemoveFile "$pathTmpAbsDecoded"			# temporary decoded file
 | 
							if [ $alrMoved -eq 0 ]; then
 | 
				
			||||||
 | 
								funcRemoveFile "$pathTmpAbsDecoded"		# temporary decoded file
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		if [ $remove -eq 2 ]; then			# force deleting
 | 
							if [ $remove -eq 2 ]; then			# force deleting
 | 
				
			||||||
			funcRemoveFile "$pathAbsEncoded";
 | 
								funcRemoveFile "$pathAbsEncoded";
 | 
				
			||||||
| 
						 | 
					@ -450,40 +506,6 @@ function funcRemoveFile
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Cut our decoded file
 | 
					 | 
				
			||||||
function funcCut {
 | 
					 | 
				
			||||||
	funcLog 4 "Cutting $pathTmpAbsDecoded"
 | 
					 | 
				
			||||||
	funcLog 5 "     $cmdCut $cmdCutArgs $pathTmpAbsDecoded"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	$cmdCut $cmdCutArgs "$pathTmpAbsDecoded"
 | 
					 | 
				
			||||||
	success=$?
 | 
					 | 
				
			||||||
	case $success in
 | 
					 | 
				
			||||||
		0)
 | 
					 | 
				
			||||||
			funcLog 4 "Successfully cut"
 | 
					 | 
				
			||||||
			success=1;;
 | 
					 | 
				
			||||||
		5)
 | 
					 | 
				
			||||||
			funcLog 3 "No cutlist found"
 | 
					 | 
				
			||||||
			pathMove="$pathTmpAbsCut"
 | 
					 | 
				
			||||||
			success=0;;
 | 
					 | 
				
			||||||
		*)
 | 
					 | 
				
			||||||
			funcLog 1 "An error occured while cutting: $success!"
 | 
					 | 
				
			||||||
			success=0;;
 | 
					 | 
				
			||||||
	esac
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function funcMove {
 | 
					 | 
				
			||||||
	if [ "$pathMoveFrom" != "$pathMoveTo" ]; then
 | 
					 | 
				
			||||||
		local dir="$(dirname $pathMoveTo)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		if [ ! -d "$dir" ]; then
 | 
					 | 
				
			||||||
			mkdir -p "$dir"
 | 
					 | 
				
			||||||
		fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
		mv -f "$pathMoveFrom" "$pathMoveTo"
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
	success=1
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
######
 | 
					######
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue