erlug
[Top] [All Lists]

[Erlug] ODIO profondo per qualcuno degli sviluppatori di mutt (e per me)

To: "Erlug - Lista Pubblica" <erlug@xxxxxxxxxxxxxx>
Subject: [Erlug] ODIO profondo per qualcuno degli sviluppatori di mutt (e per me)!
From: "Vladimir Nicola Chersi" <vladimir.nicola@xxxxxxxx>
Date: Sun, 13 May 2012 15:17:24 +0200
Buona domenica piovosa a tutti!

Che cosa succede quando in uno script (fatto evidentemente male, perchè
tutti gli eventuali controlli di funzionamento erano stati disabilitati,
quindi è anche mea culpa...)
un comando di punto in bianco inizia a funzionare in modo diverso da come
era previsto da chi scrisse lo script?

Ecco qua il comando:

echo "Message received on "`date` | mutt -e "unset record" -s "Messaggio
del $data in segreteria telefonica" -a /tmp/$data.wav vladimir

Ed ecco qua il motivo del mio ODIO.

1.5.19 (2009-01-05):
! command-line arguments: -a now mandates -- at end of file list (***)

La soluzione, molto semplicemente, diventa:

echo "Message received on "`date` | mutt -e "unset record" -s "Messaggio
del $data in segreteria telefonica" -a /tmp/$data.wav -- vladimir

Chi sa quanti messaggi della mia segreteria telefonica se ne sono andati
perduti.... Il fatto è che non so nemmeno quando ho fatto l'aggiornamento
a mutt 1.5.19 o a mutt 1.5.20 (penso nei primi mesi di quest'anno, perchè
a ottobre la segreteria mi funzionava ancora)....

Che mi/vi sia di monito e lezione.

Per la cronaca, ecco qua il testo completo dello script (*)(**), che serve
a recapitarmi via e-mail i messaggi che ricevo in segreteria telefonica
(modem 56k voice + vgetty):

*: derivato da uno script più semplice fatto da Massimo Fusari, che faceva
solo quanto indicato nelle prime 5 righe.
Il mio script invece non deposita il file da nessuna parte, ma lo invia
via e-mail al destinatario, e cioè a me.

**: nel quale, all'origine, avevo pure pensato di mettere qualche
controllo di sicurezza, ma poi probabilmente qualcosa dei controlli non
funzionava come volevo io, e io ho deciso di disabilitare tutti i
controlli... e ha funzionato in questo modo per diversi anni.

***: http://www.mutt.org/doc/devel/UPDATING


#!/bin/sh
#script di conversione messaggio segreteria telefonica da PFV a WAV
#poi rinomina il file con la data corrente e lo deposita in
#/public/messages
#
#usato da vgetty e abilitato in /etc/mgetty+sendfax/voice.conf

# Metto il nome del file in ingresso in un file di log
# temporaneo che viene sovrascritto ad ogni messaggio in ingresso
echo $1 > /var/log/prova

# Converto il messaggio in ingresso dal formato rmd al formato pvf,
# lo cambio di frequenza, e lo salvo nel file temporaneo /tmp/secretary.pvf
rmdtopvf $1 | pvfspeed -s 8000 > /tmp/secretary.pvf

#imposto la variabile "data" con la data corrente
data=`date +%d_%m_%Y_%H_%M_%S`

# Converto il file pvf appena creato in un file tipo wav
#pvftowav /tmp/secretary.pvf /public/messages/$data.wav 2>/dev/null
pvftowav /tmp/secretary.pvf /tmp/$data.wav 2>/dev/null

# Se l'ultimo comando ha funzionato bene cancella sia il file temporaneo
# che il file rmd
# if [ $? ]
#   then
      rm /tmp/secretary.pvf
      rm $1
#   else
#chmod 666 /public/messages/$data.wav
# Invia una mail contenente in allegato il messaggio
echo "Message received on "`date` | mutt -e "unset record" -s "Messaggio
del $data in segreteria telefonica" -a /tmp/$data.wav -- vladimir

# Se l'invio della mail in allegato ha avuto successo cancella i
# vari file temporanei, altrimenti copia il messaggio nella cartella apposita
#if [ $? ]
# then
  rm /tmp/$data.wav
# else
#  cp /tmp/$data.wav /var/spool/voice/incoming/$data.wav
# fi



E` ovvio che ogni suggerimento (possibilmente testato e funzionante) per
rendere il mio script più robusto e meno soggetto al perdere messaggi per
strada è ben accetto.
Poi volendo uno potrebbe anche pensare di convertire il wav in mp3, o
altre finezze, ma per quello che serve a me il wav è più che accettabile.


Saluti a tutti!

Ciao, Vladimir Nicola

<Prev in Thread] Current Thread [Next in Thread>
  • [Erlug] ODIO profondo per qualcuno degli sviluppatori di mutt (e per me)!, Vladimir Nicola Chersi <=