Compare commits
No commits in common. 'ace574eac93319d4f72e92a7449a986829215e6c' and 'e51595ac5614c800e9efb037c7ad0a91ec6350cc' have entirely different histories.
ace574eac9
...
e51595ac56
@ -1,105 +0,0 @@ |
|||||||
# Check if we found any images |
|
||||||
if [ ${#images[@]} -eq 0 ]; then |
|
||||||
echo "No images found." |
|
||||||
exit 1 |
|
||||||
fi |
|
||||||
|
|
||||||
MAX_SIZE_for_array=1000 |
|
||||||
a_skips=() |
|
||||||
|
|
||||||
truncate_array() { |
|
||||||
local -n arr_ref=$1 # Nameref (Bash 4.3+) |
|
||||||
local max_size=$2 |
|
||||||
local array_length=${#arr_ref[@]} |
|
||||||
|
|
||||||
if [ $array_length -gt $max_size ]; then |
|
||||||
# echo "Array too large ($array_length)" |
|
||||||
#arr_ref=("${arr_ref[@]:0:$max_size}") # Keep oldest data |
|
||||||
arr_ref=("${arr_ref[@]:1}") # POP First (Shift) |
|
||||||
# unset arr_ref[${#arr_ref[@]}-1] # POP LAST |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
# Outer loop |
|
||||||
for ((i = 0; i < ${#images[@]}; i++)); do |
|
||||||
outer_image="${images[$i]}" |
|
||||||
skip_outer=false # Reset flag for each outer loop iteration |
|
||||||
|
|
||||||
for skip in "${a_skips[@]}"; do |
|
||||||
if [ "$path/$skip" = "$path/$outer_image" ]; then |
|
||||||
skip_outer=true |
|
||||||
break |
|
||||||
fi |
|
||||||
done |
|
||||||
|
|
||||||
# Skip to next outer iteration if flagged |
|
||||||
if [ "$skip_outer" = true ]; then |
|
||||||
continue |
|
||||||
fi |
|
||||||
|
|
||||||
# Inner loop (only later images to avoid double-checks) |
|
||||||
for ((j = i + 1; j < ${#images[@]}; j++)); do |
|
||||||
inner_image="${images[$j]}" |
|
||||||
skip_inner=false # Reset flag for each inner loop iteration |
|
||||||
|
|
||||||
for skip in "${a_skips[@]}"; do |
|
||||||
if [ "$path/$skip" = "$path/$inner_image" ]; then |
|
||||||
skip_inner=true |
|
||||||
break |
|
||||||
fi |
|
||||||
done |
|
||||||
|
|
||||||
# Skip to next inner iteration if flagged |
|
||||||
if [ "$skip_inner" = true ]; then |
|
||||||
continue |
|
||||||
fi |
|
||||||
|
|
||||||
echo -e "\nComparing files: $outer_image TO $inner_image" |
|
||||||
python3 dedup.py "$path/$outer_image" "$path/$inner_image" "$2" |
|
||||||
exit_code=$? |
|
||||||
|
|
||||||
case $exit_code in |
|
||||||
1) # Duplicate found |
|
||||||
echo "$path/$outer_image # $inner_image" >> dups.txt |
|
||||||
if [ "$2" = "forreal" ]; then |
|
||||||
mv "$path/$outer_image" "$path/dups" |
|
||||||
fi |
|
||||||
break |
|
||||||
;; |
|
||||||
2) # Close match |
|
||||||
echo "$path/$outer_image # $inner_image" >> alike.txt |
|
||||||
break |
|
||||||
;; |
|
||||||
3) # Skip with size issues inner image |
|
||||||
echo "$path/$inner_image" >> size.txt |
|
||||||
a_skips+=("$inner_image") |
|
||||||
truncate_array a_skips $MAX_SIZE_for_array |
|
||||||
;; |
|
||||||
4) # Skip invalid inner image |
|
||||||
echo "$path/$inner_image" >> invalid.txt |
|
||||||
a_skips+=("$inner_image") |
|
||||||
truncate_array a_skips $MAX_SIZE_for_array |
|
||||||
;; |
|
||||||
5) # Same GPS |
|
||||||
echo "$path/$outer_image # $inner_image" >> sameGPS.txt |
|
||||||
break |
|
||||||
;; |
|
||||||
6) # Same GPS within a mile |
|
||||||
echo "$path/$outer_image # $inner_image" >> sameGPSmile.txt |
|
||||||
break |
|
||||||
;; |
|
||||||
8) # Invalid outer image |
|
||||||
echo "$path/$outer_image" >> invalid.txt |
|
||||||
if [ "$2" = "forreal" ]; then |
|
||||||
echo "To remove bad image run: rm $path/$outer_image" |
|
||||||
fi |
|
||||||
break |
|
||||||
;; |
|
||||||
9) # Image size issue |
|
||||||
echo "$path/$outer_image" >> size.txt |
|
||||||
break |
|
||||||
;; |
|
||||||
esac |
|
||||||
done |
|
||||||
done |
|
||||||
# echo "${a_skips[@]}" |
|
||||||
Loading…
Reference in new issue