Showing 1 changed files with 89 additions and 0 deletions
+89
musescore.com
... ...
@@ -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
+