Skip to content
This repository was archived by the owner on Jan 6, 2024. It is now read-only.

Commit 2c83532

Browse files
committed
Rebuilt targets
1 parent f89cced commit 2c83532

File tree

3 files changed

+104
-82
lines changed

3 files changed

+104
-82
lines changed

dev/debug_pmocr.sh

Lines changed: 50 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
PROGRAM="pmocr" # Automatic OCR service that monitors a directory and launches a OCR instance as soon as a document arrives
44
AUTHOR="(C) 2015-2017 by Orsiris de Jong"
55
CONTACT="http://www.netpower.fr - [email protected]"
6-
PROGRAM_VERSION=1.5.6-dev
7-
PROGRAM_BUILD=2017040904
6+
PROGRAM_VERSION=1.5.6
7+
PROGRAM_BUILD=2017041003
88

99
## Debug parameter for service
1010
if [ "$_DEBUG" == "" ]; then
@@ -20,11 +20,9 @@ if [ "$MAX_WAIT" == "" ]; then
2020
MAX_WAIT=86400 # One day in seconds
2121
fi
2222

23-
SERVICE_MONITOR_FILE="$RUN_DIR/$PROGRAM.SERVICE-MONITOR.run.$SCRIPT_PID.$TSTAMP"
24-
2523

2624
_OFUNCTIONS_VERSION=2.1.1
27-
_OFUNCTIONS_BUILD=2017040903
25+
_OFUNCTIONS_BUILD=2017041101
2826
_OFUNCTIONS_BOOTSTRAP=true
2927

3028
## BEGIN Generic bash functions written in 2013-2017 by Orsiris de Jong - http://www.netpower.fr - [email protected]
@@ -279,7 +277,7 @@ function Logger {
279277
return
280278
elif [ "$level" == "VERBOSE" ]; then
281279
if [ $_LOGGER_VERBOSE == true ]; then
282-
_Logger "$prefix:$value" "$prefix$value"
280+
_Logger "$prefix($level):$value" "$prefix$value"
283281
fi
284282
return
285283
elif [ "$level" == "ALWAYS" ]; then
@@ -1228,37 +1226,50 @@ function __CheckArguments {
12281226

12291227
# Neat version compare function found at http://stackoverflow.com/a/4025065/2635443
12301228
# Returns 0 if equal, 1 if $1 > $2 and 2 if $1 < $2
1231-
VerComp () {
1232-
if [[ $1 == $2 ]]
1233-
then
1234-
return 0
1235-
fi
1236-
local IFS=.
1237-
local i ver1=($1) ver2=($2)
1238-
# fill empty fields in ver1 with zeros
1239-
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
1240-
do
1241-
ver1[i]=0
1242-
done
1243-
for ((i=0; i<${#ver1[@]}; i++))
1244-
do
1245-
if [[ -z ${ver2[i]} ]]
1246-
then
1247-
# fill empty fields in ver2 with zeros
1248-
ver2[i]=0
1249-
fi
1250-
if ((10#${ver1[i]} > 10#${ver2[i]}))
1251-
then
1252-
return 1
1253-
fi
1254-
if ((10#${ver1[i]} < 10#${ver2[i]}))
1255-
then
1256-
return 2
1257-
fi
1258-
done
1259-
return 0
1229+
function VerComp () {
1230+
if [ "$1" == "" ] || [ "$2" == "" ]; then
1231+
Logger "Bogus Vercomp values [$1] and [$2]." "WARN"
1232+
return 1
1233+
fi
1234+
1235+
if [[ $1 == $2 ]]
1236+
then
1237+
echo 0
1238+
return
1239+
fi
1240+
1241+
local IFS=.
1242+
local i ver1=($1) ver2=($2)
1243+
# fill empty fields in ver1 with zeros
1244+
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
1245+
do
1246+
ver1[i]=0
1247+
done
1248+
for ((i=0; i<${#ver1[@]}; i++))
1249+
do
1250+
if [[ -z ${ver2[i]} ]]
1251+
then
1252+
# fill empty fields in ver2 with zeros
1253+
ver2[i]=0
1254+
fi
1255+
if ((10#${ver1[i]} > 10#${ver2[i]}))
1256+
then
1257+
echo 1
1258+
return
1259+
fi
1260+
if ((10#${ver1[i]} < 10#${ver2[i]}))
1261+
then
1262+
echo 2
1263+
return
1264+
fi
1265+
done
1266+
1267+
echo 0
1268+
return
12601269
}
12611270

1271+
SERVICE_MONITOR_FILE="$RUN_DIR/$PROGRAM.SERVICE-MONITOR.run.$SCRIPT_PID.$TSTAMP"
1272+
12621273
function CheckEnvironment {
12631274
if [ "$OCR_ENGINE_EXEC" != "" ]; then
12641275
if ! type "$OCR_ENGINE_EXEC" > /dev/null 2>&1; then
@@ -1340,8 +1351,7 @@ function CheckEnvironment {
13401351
fi
13411352

13421353
TESSERACT_VERSION=$(tesseract -v 2>&1 | head -n 1 | awk '{print $2}')
1343-
VerComp "$TESSERACT_VERSION" "3.00"
1344-
if [ $? -gt 1 ]; then
1354+
if [ $(VerComp "$TESSERACT_VERSION" "3.00") -gt 1 ]; then
13451355
Logger "Tesseract version $TESSERACT_VERSION is not supported. Please use version 3.x or better." "CRITICAL"
13461356
exit 1
13471357
fi
@@ -1446,7 +1456,8 @@ function OCR {
14461456

14471457
# Workaround for tesseract complaining about missing OSD data but still processing file without changing exit code
14481458
# Tesseract may also return 0 exit code with error "read_params_file: Can't open pdf"
1449-
if [ $result -eq 0 ] && [ -f "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.error.$SCRIPT_PID.$TSTAMP" ]; then
1459+
if [ $result -eq 0 ] && grep -i "error" "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.error.$SCRIPT_PID.$TSTAMP"; then
1460+
result=9999
14501461
Logger "Tesseract produced errors while transforming the document." "WARN"
14511462
Logger "Command output\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID.$TSTAMP)" "NOTICE"
14521463
Logger "Command output\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.error.$SCRIPT_PID.$TSTAMP)" "NOTICE"
@@ -1943,8 +1954,7 @@ elif [ $_BATCH_RUN == true ]; then
19431954

19441955
if [ $pdf == true ]; then
19451956
if [ "$OCR_ENGINE" == "tesseract3" ]; then
1946-
VerComp "$TESSERACT_VERSION" "3.02"
1947-
result=$?
1957+
result=$(VerComp "$TESSERACT_VERSION" "3.02")
19481958
if [ $result -eq 2 ] || [ $result -eq 0 ]; then
19491959
Logger "Tesseract version $TESSERACT_VERSION is not supported to create searchable PDFs. Please use 3.03 or better." "CRITICAL"
19501960
exit 1

install.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ PROGRAM_BINARY=$PROGRAM".sh"
1212
PROGRAM_BATCH=$PROGRAM"-batch.sh"
1313
SSH_FILTER="ssh_filter.sh"
1414

15-
SCRIPT_BUILD=2017040902
15+
SCRIPT_BUILD=2017041701
1616

1717
## osync / obackup / pmocr / zsnap install script
1818
## Tested on RHEL / CentOS 6 & 7, Fedora 23, Debian 7 & 8, Mint 17 and FreeBSD 8, 10 and 11
@@ -451,7 +451,9 @@ else
451451
CreateDir "$BIN_DIR"
452452
CopyExampleFiles
453453
CopyProgram
454-
CopyServiceFiles
454+
if [ "$PROGRAM" == "osync" ] || [ "$PROGRAM" == "pmocr" ]; then
455+
CopyServiceFiles
456+
fi
455457
QuickLogger "$PROGRAM installed. Use with $BIN_DIR/$PROGRAM"
456458
if [ "$PROGRAM" == "osync" ] || [ "$PROGRAM" == "obackup" ]; then
457459
QuickLogger ""

pmocr.sh

Lines changed: 50 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
PROGRAM="pmocr" # Automatic OCR service that monitors a directory and launches a OCR instance as soon as a document arrives
44
AUTHOR="(C) 2015-2017 by Orsiris de Jong"
55
CONTACT="http://www.netpower.fr - [email protected]"
6-
PROGRAM_VERSION=1.5.6-dev
7-
PROGRAM_BUILD=2017040904
6+
PROGRAM_VERSION=1.5.6
7+
PROGRAM_BUILD=2017041003
88

99
## Debug parameter for service
1010
if [ "$_DEBUG" == "" ]; then
@@ -20,11 +20,9 @@ if [ "$MAX_WAIT" == "" ]; then
2020
MAX_WAIT=86400 # One day in seconds
2121
fi
2222

23-
SERVICE_MONITOR_FILE="$RUN_DIR/$PROGRAM.SERVICE-MONITOR.run.$SCRIPT_PID.$TSTAMP"
24-
2523

2624
_OFUNCTIONS_VERSION=2.1.1
27-
_OFUNCTIONS_BUILD=2017040903
25+
_OFUNCTIONS_BUILD=2017041101
2826
_OFUNCTIONS_BOOTSTRAP=true
2927

3028
## BEGIN Generic bash functions written in 2013-2017 by Orsiris de Jong - http://www.netpower.fr - [email protected]
@@ -269,7 +267,7 @@ function Logger {
269267
return
270268
elif [ "$level" == "VERBOSE" ]; then
271269
if [ $_LOGGER_VERBOSE == true ]; then
272-
_Logger "$prefix:$value" "$prefix$value"
270+
_Logger "$prefix($level):$value" "$prefix$value"
273271
fi
274272
return
275273
elif [ "$level" == "ALWAYS" ]; then
@@ -1138,37 +1136,50 @@ function GetLocalOS {
11381136

11391137
# Neat version compare function found at http://stackoverflow.com/a/4025065/2635443
11401138
# Returns 0 if equal, 1 if $1 > $2 and 2 if $1 < $2
1141-
VerComp () {
1142-
if [[ $1 == $2 ]]
1143-
then
1144-
return 0
1145-
fi
1146-
local IFS=.
1147-
local i ver1=($1) ver2=($2)
1148-
# fill empty fields in ver1 with zeros
1149-
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
1150-
do
1151-
ver1[i]=0
1152-
done
1153-
for ((i=0; i<${#ver1[@]}; i++))
1154-
do
1155-
if [[ -z ${ver2[i]} ]]
1156-
then
1157-
# fill empty fields in ver2 with zeros
1158-
ver2[i]=0
1159-
fi
1160-
if ((10#${ver1[i]} > 10#${ver2[i]}))
1161-
then
1162-
return 1
1163-
fi
1164-
if ((10#${ver1[i]} < 10#${ver2[i]}))
1165-
then
1166-
return 2
1167-
fi
1168-
done
1169-
return 0
1139+
function VerComp () {
1140+
if [ "$1" == "" ] || [ "$2" == "" ]; then
1141+
Logger "Bogus Vercomp values [$1] and [$2]." "WARN"
1142+
return 1
1143+
fi
1144+
1145+
if [[ $1 == $2 ]]
1146+
then
1147+
echo 0
1148+
return
1149+
fi
1150+
1151+
local IFS=.
1152+
local i ver1=($1) ver2=($2)
1153+
# fill empty fields in ver1 with zeros
1154+
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
1155+
do
1156+
ver1[i]=0
1157+
done
1158+
for ((i=0; i<${#ver1[@]}; i++))
1159+
do
1160+
if [[ -z ${ver2[i]} ]]
1161+
then
1162+
# fill empty fields in ver2 with zeros
1163+
ver2[i]=0
1164+
fi
1165+
if ((10#${ver1[i]} > 10#${ver2[i]}))
1166+
then
1167+
echo 1
1168+
return
1169+
fi
1170+
if ((10#${ver1[i]} < 10#${ver2[i]}))
1171+
then
1172+
echo 2
1173+
return
1174+
fi
1175+
done
1176+
1177+
echo 0
1178+
return
11701179
}
11711180

1181+
SERVICE_MONITOR_FILE="$RUN_DIR/$PROGRAM.SERVICE-MONITOR.run.$SCRIPT_PID.$TSTAMP"
1182+
11721183
function CheckEnvironment {
11731184
if [ "$OCR_ENGINE_EXEC" != "" ]; then
11741185
if ! type "$OCR_ENGINE_EXEC" > /dev/null 2>&1; then
@@ -1250,8 +1261,7 @@ function CheckEnvironment {
12501261
fi
12511262

12521263
TESSERACT_VERSION=$(tesseract -v 2>&1 | head -n 1 | awk '{print $2}')
1253-
VerComp "$TESSERACT_VERSION" "3.00"
1254-
if [ $? -gt 1 ]; then
1264+
if [ $(VerComp "$TESSERACT_VERSION" "3.00") -gt 1 ]; then
12551265
Logger "Tesseract version $TESSERACT_VERSION is not supported. Please use version 3.x or better." "CRITICAL"
12561266
exit 1
12571267
fi
@@ -1355,7 +1365,8 @@ function OCR {
13551365

13561366
# Workaround for tesseract complaining about missing OSD data but still processing file without changing exit code
13571367
# Tesseract may also return 0 exit code with error "read_params_file: Can't open pdf"
1358-
if [ $result -eq 0 ] && [ -f "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.error.$SCRIPT_PID.$TSTAMP" ]; then
1368+
if [ $result -eq 0 ] && grep -i "error" "$RUN_DIR/$PROGRAM.${FUNCNAME[0]}.error.$SCRIPT_PID.$TSTAMP"; then
1369+
result=9999
13591370
Logger "Tesseract produced errors while transforming the document." "WARN"
13601371
Logger "Command output\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.$SCRIPT_PID.$TSTAMP)" "NOTICE"
13611372
Logger "Command output\n$(cat $RUN_DIR/$PROGRAM.${FUNCNAME[0]}.error.$SCRIPT_PID.$TSTAMP)" "NOTICE"
@@ -1850,8 +1861,7 @@ elif [ $_BATCH_RUN == true ]; then
18501861

18511862
if [ $pdf == true ]; then
18521863
if [ "$OCR_ENGINE" == "tesseract3" ]; then
1853-
VerComp "$TESSERACT_VERSION" "3.02"
1854-
result=$?
1864+
result=$(VerComp "$TESSERACT_VERSION" "3.02")
18551865
if [ $result -eq 2 ] || [ $result -eq 0 ]; then
18561866
Logger "Tesseract version $TESSERACT_VERSION is not supported to create searchable PDFs. Please use 3.03 or better." "CRITICAL"
18571867
exit 1

0 commit comments

Comments
 (0)