Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/misc/convert-pre
diff options
context:
space:
mode:
Diffstat (limited to 'misc/convert-pre')
-rwxr-xr-xmisc/convert-pre118
1 files changed, 118 insertions, 0 deletions
diff --git a/misc/convert-pre b/misc/convert-pre
new file mode 100755
index 0000000..55f2222
--- /dev/null
+++ b/misc/convert-pre
@@ -0,0 +1,118 @@
+#!/bin/bash
+
+rm -f pilot.list
+for i in `grep pilot --include=layer db/context/ -Rl`; do echo $(basename `dirname $i`) >> pilot.list; done
+echo "{" > var/pilot-releases
+for i in `grep pilot --include=layer db/implementation/ -Rl`; do
+ d=`dirname $i`
+ c=`cat $d/context | awk -F\" '{print $6}'`
+ v=`cat $d/version | awk -F\" '{print $6}'`
+ echo "\"$c\": \"$v\"," >> var/pilot-releases
+done
+echo '"": null}' >> var/pilot-releases
+
+rm -rf db/idea db/implementation db/notification db/problem db/question db/sync db/user db/files.index db/guid db/master db/authorization.conf db/report db/user
+find db -name index -exec rm -rf {} \;
+mkdir -p var
+mv db/seqno var/
+
+for i in `grep d26cef70447160f31a7497cc0320f23a4e383cc3 --include author -R db | awk -F: '{print $1}'`; do i=`dirname $i`; rm -rf $i; done
+for i in `grep package --include type -R db/context | awk -F: '{print $1}'`; do i=`dirname $i`; rm -rf $i; done
+find db/context \( -name ef5f33b2378c11e295d00016360ee2af -o -name org.sugarlabs.ContributorHub -o -name edu.mit.media.ScratchActivity -o -name c031aafc143c11e299ed0016360ee2af \) -exec rm -rf {} \;
+find db/context \( -name clone -o -name layer -o -name dependencies -o -name downloads -o -name favorite -o -name implement -o -name packages -o -name position -o -name rating -o -name reviews -o -name versions \) -exec rm {} \;
+for i in `find db/context -name type`; do sed -i s/project/group/ $i; done
+for i in `find db/context -name title`; do p=`dirname $i`; [ -e $p/guid ] || rm -rf $p; done
+for i in `find db/artifact -name preview`; do rm -rf `dirname $i`; done
+rm -f db/context/7e/7e2c350ac65811e1a30a0016360ee2af/icon*
+rm db/context/{layout,seqno}
+
+for i in `find db/review/ -name guid`; do
+ src=`dirname $i`
+ guid=`basename $src`
+ dst="db/post/${guid:0:2}/$guid"
+ mkdir -p $dst
+ mv $src/{author,context,ctime,guid,mtime,seqno,tags,title} $dst/
+ mv $src/content $dst/message
+ echo -n '{"seqno": 1, "value": "review"}' > $dst/type
+done
+rm -rf db/review
+
+for i in `find db/artifact/ -name data`; do
+ src=`dirname $i`
+ guid=`basename $src`
+ dst="db/post/${guid:0:2}/$guid"
+ mkdir -p $dst
+ mv $src/{author,context,ctime,guid,mtime,seqno,tags,title} $dst/
+ mv $src/description $dst/message
+ echo -n '{"seqno": 1, "value": "file"}' > $dst/type
+ digest=`grep -o 'digest[^,}]*' $src/data | awk -F\" '{print $3}'`
+ mime_type=`grep -o 'mime_type[^,}]*' $src/data | awk -F\" '{print $3}'`
+ blob_size=`ls -l $src/data.blob | awk '{print $5}'`
+ echo -n "{\"seqno\": 1, \"value\": {\"$digest\": {\"seqno\": 1, \"value\": \"$digest\"}}}" > $dst/attachments
+ blob_dst=blobs/${digest:0:3}/$digest
+ mkdir -p `dirname $blob_dst`
+ mv $src/data.blob $blob_dst
+ cat >>$blob_dst.meta <<EOF
+content-type: $mime_type
+content-length: $blob_size
+x-seqno: 1
+EOF
+done
+rm -rf db/artifact
+
+for i in `find db/feedback/ -name guid`; do
+ src=`dirname $i`
+ guid=`basename $src`
+ dst="db/post/${guid:0:2}/$guid"
+ type=`cat $src/type | awk -F\" '{print $6}'`
+ mkdir -p $dst
+ mv $src/{author,context,ctime,guid,mtime,seqno,tags,title} $dst/
+ mv $src/content $dst/message
+ echo -n "{\"seqno\": 1, \"value\": \"$type\"}" > $dst/type
+done
+rm -rf db/feedback
+
+for i in `find db/solution/ -name guid`; do
+ src=`dirname $i`
+ guid=`basename $src`
+ dst="db/post/${guid:0:2}/$guid"
+ topic=`grep -o 'value[^,}]*' $src/feedback | awk -F\" '{print $3}'`
+ mkdir -p $dst
+ mv $src/{author,context,ctime,guid,mtime,seqno,tags} $dst/
+ mv $src/content $dst/message
+ echo -n "{\"seqno\": 1, \"value\": {}}" > $dst/title
+ echo -n "{\"seqno\": 1, \"value\": \"solution\"}" > $dst/type
+ echo -n "{\"seqno\": 1, \"value\": \"$topic\"}" > $dst/topic
+done
+rm -rf db/solution
+
+rm -rf comment.list
+for i in `find db/comment/ -name guid`; do
+ src=`dirname $i`
+ guid=`basename $src`
+ post=`grep -o 'value[^,}]*' $src/review | awk -F\" '{print $3}'`
+ if [ -z "$post" -o ! -e db/post/${post:0:2}/$post ]; then
+ post=`grep -o 'value[^,}]*' $src/solution | awk -F\" '{print $3}'`
+ if [ -z "$post" -o ! -e db/post/${post:0:2}/$post ]; then
+ post=`grep -o 'value[^,}]*' $src/feedback | awk -F\" '{print $3}'`
+ if [ -z "$post" -o ! -e db/post/${post:0:2}/$post ]; then
+ continue
+ fi
+ fi
+ fi
+ author=`sed 's/.*value.. //; s/}$//' $src/author`
+ message=`sed 's/.*value.. //; s/}$//' $src/message`
+ mtime=`grep -o 'value[^,}]*' $src/mtime | awk '{print $2}'`
+ mkdir -p comment.list/$post
+ echo "\"$guid\": {\"author\": $author, \"value\": $message}" > comment.list/$post/$mtime
+done
+for post in `ls comment.list`; do
+ value=
+ for mtime in `ls comment.list/$post`; do
+ [ "$value" ] && value="$value, "
+ value="${value}`cat comment.list/$post/$mtime`"
+ done
+ echo -n "{\"seqno\": 1, \"value\": {$value}}" > db/post/${post:0:2}/$post/comments
+done
+rm -rf comment.list
+rm -rf db/comment