AtOM/lib/copy/guessPath
2025-11-11 04:56:34 +01:00

57 lines
1.5 KiB
Bash

#!/bin/bash
guessPath() {
echo 'SELECT IFNULL( (
SELECT destination_files.last_change
FROM destination_files
INNER JOIN source_files
ON destination_files.source_file_id=source_files.id
INNER JOIN mime_type_actions
ON
mime_type_actions.id=source_files.mime_type
INNER JOIN destinations
ON destinations.id=destination_files.destination_id
WHERE destinations.id = '$destinationid'
AND source_files.filename LIKE
"'"${sourcedir//\"/\"\"}"'/%"
AND NOT source_files.filename LIKE
"'"${sourcedir//\"/\"\"}"'/%/%"
AND mime_type_actions.action = 1
ORDER BY destination_files.last_change DESC
LIMIT 1
),"0.0");
'>&3
read -u4 -d $'\0' timestamp
if (( ${timestamp/./} == 0 ))
then
return 2
fi
echo 'SELECT IFNULL( (
SELECT destination_files.filename
FROM destination_files
INNER JOIN source_files
ON destination_files.source_file_id=source_files.id
INNER JOIN mime_type_actions
ON
mime_type_actions.id=source_files.mime_type
INNER JOIN destinations
ON destinations.id=destination_files.destination_id
WHERE destinations.id = '$destinationid'
AND source_files.filename LIKE
"'"${sourcedir//\"/\"\"}"'/%"
AND NOT source_files.filename LIKE
"'"${sourcedir//\"/\"\"}"'/%/%"
AND mime_type_actions.action = 1
ORDER BY destination_files.last_change DESC
LIMIT 1
),"AtOM:NotFound");
'>&3
read -u4 -d $'\0' filename
if [[ $filename != AtOM:NotFound ]]
then
echo "${filename%/*}"
else
return 1
fi
}