... | ... |
@@ -0,0 +1,89 @@ |
1 |
+#!/bin/bash |
|
2 |
+ |
|
3 |
+LOG_ENABLED=1 |
|
4 |
+BASE=$(basename $0) |
|
5 |
+WORKDIR="$PWD" |
|
6 |
+TEMPOUT="$WORKDIR/$BASE.html" |
|
7 |
+LOGFILE="$WORKDIR/$BASE.log" |
|
8 |
+ |
|
9 |
+cd $WORKDIR |
|
10 |
+ |
|
11 |
+DEBUG=0 |
|
12 |
+ |
|
13 |
+function log() { |
|
14 |
+ if [ 1 -eq $LOG_ENABLED ] |
|
15 |
+ then |
|
16 |
+ DATELOG=$(date) |
|
17 |
+ echo -e "$@" |
|
18 |
+ echo -e "$DATELOG $(basename $0): $@" >> $LOGFILE |
|
19 |
+ fi |
|
20 |
+} |
|
21 |
+function logSilent() { |
|
22 |
+ if [ 1 -eq $LOG_ENABLED ] |
|
23 |
+ then |
|
24 |
+ DATELOG=$(date) |
|
25 |
+ echo -e "$DATELOG $(basename $0): $@" >> $LOGFILE |
|
26 |
+ fi |
|
27 |
+} |
|
28 |
+ |
|
29 |
+function clean_temp_files() |
|
30 |
+{ |
|
31 |
+ rm -f $TEMPOUT |
|
32 |
+} |
|
33 |
+trap clean_temp_files EXIT |
|
34 |
+ |
|
35 |
+WGETCMD="wget -q" |
|
36 |
+URL=$1 |
|
37 |
+logSilent "------------------------------------------------------------" |
|
38 |
+log "Music Score : $URL" |
|
39 |
+$WGETCMD $URL -O $TEMPOUT |
|
40 |
+ |
|
41 |
+ |
|
42 |
+SCORETITLE=$(grep -A10 '"@type": "MusicComposition",' $TEMPOUT | grep '"name"'|awk -F'"' '{print $(NF-1)}'|sed 's/ /@@@/g'| iconv -t ASCII//TRANSLIT -f UTF-8) |
|
43 |
+TOTO="" |
|
44 |
+for detail in $SCORETITLE |
|
45 |
+do |
|
46 |
+ detail=$(echo $detail |sed 's/@@@/ /g') |
|
47 |
+ if [ "" == "$TOTO" ] |
|
48 |
+ then |
|
49 |
+ TOTO=$detail |
|
50 |
+ else |
|
51 |
+ TOTO=$TOTO" $detail" |
|
52 |
+ fi |
|
53 |
+done |
|
54 |
+SCORETITLE=$TOTO |
|
55 |
+ |
|
56 |
+SCORETITLE_FILENAME=$(echo $SCORETITLE|sed 's/ /_/g;s/\\u00e8/e/g;s/\\u00e9/e/g;s/\\u2013/-/g') |
|
57 |
+SCORETITLE_FILENAME="$SCORETITLE_FILENAME.pdf" |
|
58 |
+log "Score Details : [$SCORETITLE]" |
|
59 |
+log "Score Filename : [$SCORETITLE_FILENAME]" |
|
60 |
+PAGE0=$(grep 'png' $TEMPOUT | grep 'score_' | grep '<meta property="og:image"' | awk -F'"' '{print $(NF-1)}') |
|
61 |
+PAGEBASE=$(echo $PAGE0 | awk -F'/score_0.png' '{print $1}') |
|
62 |
+GETPRM=$(echo $PAGE0 | awk -F'/score_0.png' '{print $2}') |
|
63 |
+ |
|
64 |
+cpt=0 |
|
65 |
+CONVERT_PARAM="" |
|
66 |
+while true |
|
67 |
+do |
|
68 |
+ |
|
69 |
+ pagefilename="page-$(printf "%02d" $cpt).png" |
|
70 |
+ pageurl="$PAGEBASE/score_$cpt.png$GETPRM" |
|
71 |
+ $WGETCMD $pageurl -O $pagefilename |
|
72 |
+ ret=$? |
|
73 |
+ if [ "0" != "$ret" ] |
|
74 |
+ then |
|
75 |
+ rm -f $pagefilename |
|
76 |
+ break |
|
77 |
+ fi |
|
78 |
+ log "Downloaded page $cpt OK" |
|
79 |
+ CONVERT_PARAM="$CONVERT_PARAM $pagefilename" |
|
80 |
+ cpt=$(( $cpt + 1 )) |
|
81 |
+done |
|
82 |
+ |
|
83 |
+last_page=$(( $cpt - 1 )) |
|
84 |
+log "Stopping downloaded after $cpt pages" |
|
85 |
+log "Converting to PDF" |
|
86 |
+convert $CONVERT_PARAM $SCORETITLE_FILENAME |
|
87 |
+rm -f $CONVERT_PARAM |
|
88 |
+log "DONE." |
|
89 |
+ |