-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbeets_manuel.sh
executable file
·189 lines (155 loc) · 4.67 KB
/
beets_manuel.sh
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#!/bin/bash
##############################################################################
# #
# SHELL: !/bin/bash version 2 #
# #
# NOM: u2pitchjami #
# #
# #
# #
# DATE: 21/11/2024 #
# #
# BUT: intégration manuelle des rejets Beets #
# #
##############################################################################
#définition des variables
source /home/pipo/bin/beets_manuel/.config.cfg
if [ -d TEMP ]; then
rm -r TEMP
fi
if [ ! -d $DIRSAV_BEETS ]; then
mkdir $DIRSAV_BEETS
fi
if [ ! -d $DOSLOG ]; then
mkdir $DOSLOG
fi
echo -e "Sauvegarde de la base beets" | tee -a "${LOG}"
tar -czf ${DIRSAV_BEETS}${BACKUP_BEETS}.tar.gz ${BASE_BEETS}
echo -e "Sauvegarde compressée: \e[32m${BACKUP_BEETS}.tar.gz\e[0m\n" | tee -a "${LOG}"
echo -e "sauvegarde réalisée" | tee -a "${LOG}"
$BEETS_ENV
int_manuelle() {
echo -e "Modification du fichier de conf" | tee -a "${LOG}"
#echo "${CONFIG_MANUEL}"
if [ -f "${CONFIG_MANUEL}" ]; then
mv "${CONFIG}" "${CONFIG_NORMAL}"
mv "${CONFIG_MANUEL}" "${CONFIG}"
fi
echo "[`date`] - Let's go" | tee -a $LOG
cat "${BEETSMANUEL}" > TEMP
sort TEMP | uniq > "${BEETSMANUEL}"
#######################TRAITEMENT BEETS###################################
echo -e "[`date`] - Récupération du fichier recap manuel Beets :" | tee -a $LOG
NBBEETSMANUEL=$(cat "${BEETSMANUEL}" | wc -l)
echo -e "$NBBEETSMANUEL lignes à traiter manuellement" | tee -a $LOG
sleep 5
echo -e "[`date`] - Démarrage :" | tee -a $LOG
for ((b=1 ;b<=$NBBEETSMANUEL ;b++))
do
LIGNE=$(cat "${BEETSMANUEL}" | head -1 | tail +1)
NOMLIGNE=$(echo "${LIGNE}" | cut -d "/" -f 6,7 )
echo "Albums : ${NOMLIGNE} "| tee -a $LOG
beet import --noincremental "${LIGNE}"
if [[ $? -eq "0" ]]; then
echo -e "Traitement OK, ligne suivante" | tee -a "${LOG}"
sed -i '1d' "${BEETSMANUEL}"
else
echo -e "Anomalies !!!" | tee -a "${LOG}"
sed -i '1d' "${BEETSMANUEL}"
fi
done
echo -e "Modification du fichier de conf" | tee -a "${LOG}"
if [ -f $CONFIG_NORMAL ]; then
mv "${CONFIG}" "${CONFIG_MANUEL}"
mv "${CONFIG_NORMAL}" "${CONFIG}"
fi
echo "[`date`] - Voilà c'est fini, bisous" | tee -a $LOG
rm TEMP
}
modif_mode() {
if [ -f "${CONFIG_MANUEL}" ]; then
mv "${CONFIG}" "${CONFIG_NORMAL}"
mv "${CONFIG_MANUEL}" "${CONFIG}"
MODE="manuel"
else
mv "${CONFIG}" "${CONFIG_MANUEL}"
mv "${CONFIG_NORMAL}" "${CONFIG}"
MODE="normal"
fi
echo -e "${BOLD}Mode ${MODE} activé ${NC}" | tee -a $LOG
sleep 3
menu
}
update() {
echo -e "${SAISPAS}${BOLD}Démarrage de la mise à jour de la base${NC}"
beet update
echo -e "${BOLD}Update terminée ${NC}" | tee -a $LOG
sleep 3
menu
}
import_auto() {
echo -e "${SAISPAS}${BOLD}Démarrage de l'importation auto de la base ${NC}"
if [ -f $CONFIG_NORMAL ]; then
mv "${CONFIG}" "${CONFIG_MANUEL}"
mv "${CONFIG_NORMAL}" "${CONFIG}"
fi
beet import "${BASE}"
echo -e "${BOLD}importation auto terminée ${NC}" | tee -a $LOG
sleep 3
echo -e "[`date`] - Extraction Beets des albums à importer manuellement :" | tee -a $LOG
grep "^skip" /home/pipo/bin/logs/beets/beet.log | cut -c6- >> /home/pipo/bin/recap_music/beets_manuel.txt
echo "" > /home/pipo/bin/logs/beets/beet.log
echo -e "Fichier disponible dans le dossier recap_music :" | tee -a $LOG
menu
}
move() {
echo -e "${SAISPAS}${BOLD}Démarrage du déplacements des fichiers mal placés ${NC}"
if [ -f $CONFIG_NORMAL ]; then
mv "${CONFIG}" "${CONFIG_MANUEL}"
mv "${CONFIG_NORMAL}" "${CONFIG}"
fi
beet move
echo -e "${BOLD}déplacements terminés ${NC}" | tee -a $LOG
sleep 3
menu
}
menu() {
NBBEETSMANUEL=$(cat "${BEETSMANUEL}" | wc -l)
if [ -f "${CONFIG_MANUEL}" ]; then
CHANGE_MODE="manuel"
else
CHANGE_MODE="normal"
fi
echo -e "${SAISPAS}${BOLD}Que souhaites tu faire ?${NC}"
echo "1) - Traiter les intégrations manuelles ("${NBBEETSMANUEL}" en attente)"
echo "2) - Passer en mode : "${CHANGE_MODE}""
echo "3) - Réaliser une update de la base"
echo "4) - Réaliser une intégration automatique"
echo "5) - Mouvementer les fichiers de la base"
echo "6) - Quitter"
read MENU
case $MENU in
1)
int_manuelle
;;
2)
modif_mode
;;
3)
update
;;
4)
import_auto
;;
5)
move
;;
6)
quitter
;;
esac
}
quitter() {
echo "c'est fini bisous" | tee -a "${LOGS}"
}
menu