140 |
|
|
141 |
for file in $all_files ; do |
for file in $all_files ; do |
142 |
|
|
143 |
# create local copy |
#-- create local copy |
144 |
test -e $TEMPDIR && rm -rf $TEMPDIR |
test -e $TEMPDIR && rm -rf $TEMPDIR |
145 |
mkdir $TEMPDIR |
mkdir $TEMPDIR |
146 |
RETVAL=$? |
RETVAL=$? |
161 |
continue |
continue |
162 |
fi |
fi |
163 |
|
|
164 |
# ignore multi-part messages |
#-- ignore multi-part messages |
165 |
grep "Content-Type: message/partial" $INDIR"/"$file > /dev/null 2>&1 |
grep "Content-Type: message/partial" $INDIR"/"$file > /dev/null 2>&1 |
166 |
RETVAL=$? |
RETVAL=$? |
167 |
if test "x$RETVAL" = x0 ; then |
if test "x$RETVAL" = x0 ; then |
176 |
continue |
continue |
177 |
fi |
fi |
178 |
|
|
179 |
# munpack |
#-- munpack |
180 |
mun=`( cd $TEMPDIR ; $MUNPACK $file | cut -d ' ' -f 1 | head -1 )` |
mun=`( cd $TEMPDIR ; $MUNPACK $file | cut -d ' ' -f 1 | head -1 )` |
181 |
RETVAL=$? |
RETVAL=$? |
182 |
if test "x$RETVAL" != x0 ; then |
if test "x$RETVAL" != x0 ; then |
191 |
continue |
continue |
192 |
fi |
fi |
193 |
|
|
194 |
# un-tar |
#-- un-tar |
195 |
( cd $TEMPDIR ; tar -xzvf $mun > out ) |
#( cd $TEMPDIR ; tar -xzvf $mun > out ) |
196 |
|
# to remove small files "._mydir" that some MAC OS are adding |
197 |
|
# (for each file or dir) to a tar-file, use option "--exclude=": |
198 |
|
( cd $TEMPDIR ; tar -xzvf $mun --exclude="._*" > out ) |
199 |
RETVAL=$? |
RETVAL=$? |
200 |
if test "x$RETVAL" != x0 ; then |
if test "x$RETVAL" != x0 ; then |
201 |
if test "x$ADDRERR" != x ; then |
if test "x$ADDRERR" != x ; then |
203 |
echo "tar -xzvf $mun returns error:" $RETVAL >> tmp.$$ |
echo "tar -xzvf $mun returns error:" $RETVAL >> tmp.$$ |
204 |
ls -l $INDIR"/"$file >> tmp.$$ |
ls -l $INDIR"/"$file >> tmp.$$ |
205 |
ls -l $mun >> tmp.$$ |
ls -l $mun >> tmp.$$ |
206 |
mail -s 'parse_emails err_3' $ADDRERR < tmp.$$ |
mail -s 'parse_emails err_3a' $ADDRERR < tmp.$$ |
207 |
rm -f tmp.$$ |
rm -f tmp.$$ |
208 |
fi |
fi |
209 |
mv -f $INDIR"/"$file $INDIR"/../fail2process/"$file |
mv -f $INDIR"/"$file $INDIR"/../fail2process/"$file |
210 |
continue |
continue |
211 |
fi |
fi |
212 |
tdir=`cat $TEMPDIR"/out" | head -1 | sed -e 's|^./||g' | cut -d '/' -f 1` |
tdir=`cat $TEMPDIR"/out" | head -1 | sed -e 's|^./||g' | cut -d '/' -f 1` |
213 |
rm -f $TEMPDIR"/out" |
#tdir=`( cd $TEMPDIR ; /bin/ls -l | grep '^d' | head -1 | awk '{print $NF}' )` |
214 |
|
if test -d $TEMPDIR/$tdir ; then |
215 |
|
rm -f $TEMPDIR"/out" |
216 |
|
else |
217 |
|
if test "x$ADDRERR" != x ; then |
218 |
|
echo "parsing email error" > tmp.$$ |
219 |
|
echo " fail to get a dir output name 'tdir=$tdir'" >> tmp.$$ |
220 |
|
echo " from tar file '$TEMPDIR/$mun'" >> tmp.$$ |
221 |
|
mail -s 'parse_emails err_3b' $ADDRERR < tmp.$$ |
222 |
|
rm -f tmp.$$ |
223 |
|
fi |
224 |
|
mv -f $INDIR"/"$file $INDIR"/../fail2process/"$file |
225 |
|
continue |
226 |
|
fi |
227 |
|
|
228 |
# select which Monthly Output Dir: |
#-- select which Monthly Output Dir: |
229 |
locDir=$OUTDIR |
locDir=$OUTDIR |
230 |
if test "x$monthDir" != x0 ; then |
if test "x$monthDir" != x0 ; then |
231 |
dd=`echo $tdir | sed 's/_/ /g' | awk '{ for(i=1;i<=NF;i++) print $i }'\ |
dd=`echo $tdir | sed 's/_/ /g' | awk '{ for(i=1;i<=NF;i++) print $i }'\ |
253 |
fi |
fi |
254 |
fi |
fi |
255 |
|
|
256 |
# copy to $locDir and rename if necessary |
#-- copy to $locDir and rename if necessary |
257 |
sdir=$tdir |
sdir=$tdir |
258 |
if test -e $locDir"/"$tdir ; then |
if test -e $locDir"/"$tdir ; then |
259 |
ad=0 |
ad=0 |
284 |
fi |
fi |
285 |
chmod -R a+rx $locDir"/"$sdir > /dev/null 2>&1 |
chmod -R a+rx $locDir"/"$sdir > /dev/null 2>&1 |
286 |
|
|
287 |
# remove the original file |
#-- remove the original file |
288 |
rm -f $INDIR"/"$file |
rm -f $INDIR"/"$file |
289 |
|
|
290 |
done |
done |