Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/misc/convert-pre
blob: 55f2222182be10491aade4a050ea3787bf3cb055 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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