annotate frontends/src/wix/images/split_card.sh @ 297:c5554e2939dd

plugin XEP 0277: author for in request + author, updated management for out request - a workaround is now used to parse "nick" tag (Jappix behaviour) - author and updated can now be used in data when sendind microblog. Is no author is given, user jid is used, if no updated is given, current timestamp is used
author Goffi <goffi@goffi.org>
date Fri, 18 Feb 2011 22:32:02 +0100
parents 86d249b6d9b7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
81
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/bin/sh
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
2 #This script split an image with cards, used to split cards from the Tarot deck found on Wikimedia Commons
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
3 #This script work with any resolution on the initial image
143
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
4 #Copyright (C) 2009, 2010 Jérôme Poisson (goffi@goffi.org)
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
5
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
6 #This program is free software: you can redistribute it and/or modify
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
7 #it under the terms of the GNU General Public License as published by
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
8 #the Free Software Foundation, either version 3 of the License, or
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
9 #(at your option) any later version.
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
10
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
11 #This program is distributed in the hope that it will be useful,
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
12 #but WITHOUT ANY WARRANTY; without even the implied warranty of
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
13 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
14 #GNU General Public License for more details.
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
15
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
16 #You should have received a copy of the GNU General Public License
119f45746fde added GPL header to split_card script
Goffi <goffi@goffi.org>
parents: 142
diff changeset
17 #along with this program. If not, see <http://www.gnu.org/licenses/>.
81
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
18
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
19 dest_dir=cards
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
20
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
21 get_face_name()
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
22 {
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
23 if [ $1 -le 10 ]
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
24 then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
25 echo $1
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
26 else
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
27 case $1 in
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
28 11) echo valet;;
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
29 12) echo cavalier;;
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
30 13) echo dame;;
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
31 14) echo roi;;
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
32 esac
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
33 fi
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
34 }
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
35
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
36 get_card_name()
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
37 {
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
38 if [ $1 -le 21 ]
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
39 then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
40 echo "atout_$1"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
41 elif [ $1 -eq 22 ]; then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
42 echo "atout_excuse"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
43 elif [ $1 -le 36 ]; then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
44 echo "pique_$(get_face_name $(($1-22)))"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
45 elif [ $1 -le 50 ]; then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
46 echo "coeur_$(get_face_name $(($1-36)))"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
47 elif [ $1 -le 64 ]; then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
48 echo "carreau_$(get_face_name $(($1-50)))"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
49 else
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
50 echo "trefle_$(get_face_name $(($1-64)))"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
51 fi
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
52 }
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
53
82
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
54 #We check the version of convert
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
55 CONVERT_VER=`convert --version | grep Version | grep -o "[0-9]\.[0-9]\.[0-9]"`
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
56 CONVERT_MAJOR=`echo $CONVERT_VER | cut -d . -f 1`
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
57 CONVERT_MINOR=`echo $CONVERT_VER | cut -d . -f 2`
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
58 CONVERT_REV=`echo $CONVERT_VER | cut -d . -f 3`
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
59
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
60 if [ $CONVERT_MAJOR -lt 6 -o $CONVERT_MAJOR -eq 6 -a $CONVERT_MINOR -lt 6 ]
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
61 then
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
62 echo "ImageMagick convert must be at least version 6.6.0 (current: $CONVERT_VER)"
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
63 exit 1
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
64 fi
21f83796a293 misc: added convert version check in split_card script
Goffi <goffi@goffi.org>
parents: 81
diff changeset
65
142
23023aff91fd split_card script: minor change in syntax help
Goffi <goffi@goffi.org>
parents: 100
diff changeset
66 SYNTAXE="Split card image\nsyntaxe: $0 image_to_split.ext"
100
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
67
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
68 if [ $# -ne 1 ]
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
69 then
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
70 echo $SYNTAXE
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
71 exit 1
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
72 fi
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
73
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
74 echo `file -b --mime-type $1` | grep image 2>&1 > /dev/null
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
75
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
76 if [ $? -ne 0 ]
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
77 then
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
78 echo "target file is not an image"
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
79 exit 1
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
80 fi
50f1591c8fc6 split_card script: added syntaxe checking
Goffi <goffi@goffi.org>
parents: 84
diff changeset
81
81
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
82 current=`pwd`
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
83 #TODO: check directory presence
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
84 #echo "making directory"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
85 if test -e $dest_dir
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
86 then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
87 if test -n "`ls -A $dest_dir`"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
88 then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
89 echo "$dest_dir directory exists and is not empty !"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
90 exit 1
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
91 fi
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
92 else
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
93 mkdir $dest_dir
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
94 fi
154
c701f3031ada misc: split_card script: fixed bad replace
Goffi <goffi@goffi.org>
parents: 143
diff changeset
95 echo "splitting cards"
84
7471ffcda33b misc: split_cards: fix bad replacement
Goffi <goffi@goffi.org>
parents: 82
diff changeset
96 convert Tarotcards.jpg -bordercolor black -crop 14x6@ -fuzz 50% -trim $dest_dir/card_%02d.png 2>/dev/null
81
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
97 cd $dest_dir
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
98
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
99 #POST PROCESSING
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
100
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
101 nb_files=`ls -A1 card*png | wc -l`
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
102 num=0
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
103 idx=0
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
104 max_w=0
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
105 max_h=0
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
106 deleted=""
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
107 for file in card*png
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
108 do
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
109 num=$((num+1))
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
110 size=`stat -c%s $file`
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
111 width=`identify -format "%w" $file`
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
112 height=`identify -format "%h" $file`
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
113
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
114 if [ $width -gt $max_w ]
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
115 then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
116 max_w=$width
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
117 fi
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
118
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
119 if [ $height -gt $max_h ]
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
120 then
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
121 max_h=$height
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
122 fi
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
123
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
124 echo -n "post processing file [$file] ($num/$nb_files) | "
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
125 echo -n `echo "scale=2;$num/$nb_files*100" | bc`%
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
126 echo -n "\r"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
127
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
128 if test $size -lt 1000
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
129 then #we delete empty files (areas without card on the initial picture)
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
130 deleted="$deleted$file\n"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
131 rm -f $file
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
132 else
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
133 idx=$((idx+1))
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
134 #We use transparency for the round corners
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
135 mogrify -fuzz 80% -fill none -draw "matte 0,0 floodfill" \
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
136 -draw "matte $((width-1)),0 floodfill"\
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
137 -draw "matte 0,$((height-1)) floodfill"\
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
138 -draw "matte $((width-1)),$((height-1)) floodfill"\
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
139 $file
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
140 #Time to rename the cards
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
141 mv "$file" "$(get_card_name $idx).png"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
142
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
143 fi
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
144 done
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
145 echo "\nEmpty files deleted:\n$deleted"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
146 echo "\nBiggest size: ${max_w}X${max_h}"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
147 cd "$current"
104a815bb23f Tarot game: first draft
Goffi <goffi@goffi.org>
parents:
diff changeset
148 echo "DONE :)"