Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKévin Raymond <shaiton@fedoraproject.org>2013-05-12 16:32:19 (GMT)
committer Kévin Raymond <shaiton@fedoraproject.org>2013-05-12 16:32:19 (GMT)
commitbe35ee4e12efdcdf0f38125e1a324de49ddce168 (patch)
tree230312e79a0a9df95dfd726e055ca25b46f71be6
parentd1b7b0994b58e599466b3becfebcbe3580d5e7db (diff)
works without gnome...
-rwxr-xr-xparse.sh140
1 files changed, 71 insertions, 69 deletions
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