From be35ee4e12efdcdf0f38125e1a324de49ddce168 Mon Sep 17 00:00:00 2001 From: Kévin Raymond Date: Sun, 12 May 2013 16:32:19 +0000 Subject: works without gnome... --- diff --git a/parse.sh b/parse.sh index 51ad9c7..76a2236 100755 --- a/parse.sh +++ b/parse.sh @@ -1,98 +1,100 @@ #!/bin/bash # run this on the backup directory -datafile="data" +datafile="datalist" mime="mime_type" home=$PWD -err_m="$home/err_mime.log" -err_d="$home/err_data.log" +er_m="$home/err_mime.log" +er_d="$home/err_data.log" gnomedir="gnome" function err_m { - echo $1 - echo $1 >> $err_m + echo $1 >> $er_m } function err_d { echo $1 - echo $1 >> $err_d + echo $1 >> $er_d } for folder in `ls */ -d` do cd $folder + echo Working dir: $folder # datastore [[ -d home ]] && rm -rf ./home [[ -d gnome ]] && rm -rf ./gnome - tar xjf *.bz2 - if [ $? -eq 0 ] + if [ ! -f *.bz2 ] then - out="$home/out/$folder" - mkdir -p $out/datastore - [[ -f home/olpc/.sugar/default/datastore/nickname ]] && cp home/olpc/.sugar/default/datastore/nickname $out/datastore - int=1 - - rm $datafile 2>/dev/null - find $1 -name data >> $datafile - - for path in `cat $datafile` - do - cd ${path%\/data}/metadata - - ext="unknown" - size=0 - - if [ -f $mime ] - then - grep -q application/pdf $mime && ext="pdf" - grep -q application/x-fototoon-activity $mime && ext="fototoon" - grep -q application/x-memorize-project $mime && ext="memorize" - grep -q application/x-physics-activity $mime && ext="physics" - grep -q application/x-turtle-art $mime && ext="turtle" - grep -q gcompris $mime && ext="gcompris" - grep -q ogg $mime && ext="ogg" - grep -q image/jpeg $mime && ext="jpeg" - grep -q image/png $mime && ext="png" - grep -q text/plain $mime && ext="txt" - grep -q text/x-python $mime && ext="py" - grep -q opendocument $mime && ext="odf" - grep -q application/epub $mime && ext="epub" - grep -q application/rtf $mime && ext="rtf" - grep -q mpeg $mime && ext="mpeg" - grep -q html $mime && ext="html" - - grep -q Speak activity && ext="speak" - grep -q Calculate activity && ext="Calculate" - grep -q Chat activity && ext="Chat" - else - err_d "mime type file does not exists: $PWD" - [[ ! -f ../data ]] && err_d "data file does not exists: $PWD" - continue - fi - - [[ -f "preview" ]] && size=`ls -sk preview | awk '{ print $1 }'` - if [ $ext == "unknown" ] - then - err_m "Format unknown: $PWD" - [[ -d $out/datastore/unknown ]] || mkdir $out/datastore/unknown - [[ $size -gt 0 ]] && cp -a preview $out/datastore/unknown/$int.$ext.preview.png - else - cp -a ../data $out/datastore/$int.$ext - [[ $size -gt 0 ]] && cp -a preview $out/datastore/$int.$ext.preview.png - fi - int=$((int + 1)) - - rm $datafile - cd $home/$folder - done - else echo "$PWD is not a backup directory" - continue - fi + continue + fi + + tar xjf *.bz2 + [[ $? -ne 0 ]] && err_d "TAR error, please recover the $PWD archive" + + out="$home/out/$folder" + mkdir -p $out/datastore + [[ -f home/olpc/.sugar/default/datastore/nickname ]] && cp home/olpc/.sugar/default/datastore/nickname $out/datastore + int=1 + + rm $datafile 2>/dev/null + find $1 -name data >> $datafile + + for path in `cat $datafile` + do + cd ${path%\/data}/metadata + + ext="unknown" + size=0 + + if [ -f $mime ] + then + grep -q application/pdf $mime && ext="pdf" + grep -q application/x-fototoon-activity $mime && ext="fototoon" + grep -q application/x-memorize-project $mime && ext="memorize" + grep -q application/x-physics-activity $mime && ext="physics" + grep -q application/x-turtle-art $mime && ext="turtle" + grep -q gcompris $mime && ext="gcompris" + grep -q ogg $mime && ext="ogg" + grep -q image/jpeg $mime && ext="jpeg" + grep -q image/png $mime && ext="png" + grep -q text/plain $mime && ext="txt" + grep -q text/x-python $mime && ext="py" + grep -q opendocument $mime && ext="odf" + grep -q application/epub $mime && ext="epub" + grep -q application/rtf $mime && ext="rtf" + grep -q mpeg $mime && ext="mpeg" + grep -q html $mime && ext="html" + + grep -q Speak activity && ext="speak" + grep -q Calculate activity && ext="Calculate" + grep -q Chat activity && ext="Chat" + else + err_d "mime type file does not exists: $PWD" + [[ ! -f ../data ]] && err_d "data file does not exists: $PWD" + continue + fi + + [[ -f "preview" ]] && size=`ls -sk preview | awk '{ print $1 }'` + if [ $ext == "unknown" ] + then + err_m "Format unknown: $PWD" + [[ -d $out/datastore/unknown ]] || mkdir $out/datastore/unknown + [[ $size -gt 0 ]] && cp -a preview $out/datastore/unknown/$int.$ext.preview.png + else + cp -a ../data $out/datastore/$int.$ext + [[ $size -gt 0 ]] && cp -a preview $out/datastore/$int.$ext.preview.png + fi + int=$((int + 1)) + + cd $home/$folder + done + rm $datafile [[ -d home ]] && rm -rf ./home -- cgit v0.9.1