Data is now in ~/ccoop/
authorJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Tue, 11 Mar 2008 13:29:43 +0000 (13:29 +0000)
committerJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Tue, 11 Mar 2008 13:29:43 +0000 (13:29 +0000)
README
ccoop-atomize.py
ccoop-update.sh

diff --git a/README b/README
index a275a93501ea70270083774ee9d2e34460ee8bde..88781a65557c8d607aa1f03150a91f9dcc1fdb74 100644 (file)
--- a/README
+++ b/README
@@ -9,24 +9,18 @@ Avertissement de sécurité
 
 Ces scripts dépendent du fait que le mot de passe utilisateur de coopanet soit stocké dans un fichier texte, ce qui est fondamentalement dangeureux. Veuillez considérer le risque que cela vous fait courrir au bénéfice apporté. Dans tous les cas, utilisez un mot de passe différent pour la consultation des comptes et pour les transferts. Le mot de passe de transfert ne vous serra jamais demandé.
 
-Installation
-------------
+Configuration
+-------------
 
-Créer un fichier config dans lequel il y a deux lignes:
-COOPLOGIN=XXXXXXXX
-COOPPASSWORD=XXXXXX
+Lors de la première utilisation, lancez 
 
-et assurez vous que ce fichier n'est lisible que par vous:
-
-chmod 600 config
-
-lancez ./cccoop.sh
+./ccoop-update.sh --config
 
 Automatisation
 --------------
 
 Pour que les fichiers cvs et atom soient mis à jour automatiquement, vous pouvez ajouter à /etc/crontab une ligne du genre:
-0 6     * * *   nirgal  $HOME/PATH/coop.sh -q
+0 6     * * *   nirgal  $HOME/PATH/ccoop-update.sh -q
 
 en remplaçant nirgal par votre nom d'utilisateur et PATH par le chemin dans lequel le script a été installé, par exemple ccoop
 
index c9bb64c7cb9543c6e4303e549cc982ae36ade2ca..11c79fcb4617361b7699237d9696ab57a8d22a14 100755 (executable)
@@ -6,7 +6,7 @@ account=sys.argv[1]
 name=sys.argv[2]
 balance=sys.argv[3]
 
-lines = file(account+".csv").readlines()
+lines = file(op.path.join(os.getenv("CCPATH"), +account+".csv")).readlines()
 nlines = len(lines)
 
 print '<?xml version="1.0" encoding="UTF-8"?>'
index ce9a6d3d14c4dfce15de7b6bb9e21b1f04c26a0d..57c526c6c2cf6a0e6bb64d3b47adaa8803fc4e2d 100755 (executable)
@@ -9,9 +9,10 @@
 
 set -e
 
-LOGFILE=coop.log # unsued unless --log option is used
-COOKIEJAR=cookiejar # cookies, deleted on exit
-TMP=lastpage.html # last html page, deleted on exit
+export CCPATH=~/ccoop
+LOGFILE=$CCPATH/coop.log # unsued unless --log option is used
+COOKIEJAR=$CCPATH/cookiejar # cookies, deleted on exit
+TMP=$CCPATH/lastpage.html # last html page, deleted on exit
 
 function parsearg() {
     _OPT="${1%=?*}"
@@ -87,16 +88,18 @@ function fetch() {
 function makeconfig() {
     read -p "Coopanet login: " COOPLOGIN
     read -p "Coopanet password: " -s COOPPASSWORD
-    echo "# coopanet configuration">config
-    echo "COOPLOGIN=$COOPLOGIN">>config
-    echo "COOPPASSWORD=$COOPPASSWORD">>config
+    echo "# coopanet configuration">$CCPATH/config
+    echo "COOPLOGIN=$COOPLOGIN">>$CCPATH/config
+    echo "COOPPASSWORD=$COOPPASSWORD">>$CCPATH/config
     echo >&2
     echo "config file writen" >&2
 }
 
 function fetchall() {
     echo> $COOKIEJAR
-    echo> $LOGFILE
+    if [[ -n "$log" ]]; then
+        echo> $LOGFILE
+    fi
     
     inform "WGET login form"
     fetch https://www.coopanet.com/banque/cpt/
@@ -133,9 +136,9 @@ function fetchall() {
         inform "WGET telechargement.do"
         ppath=`grep path $TMP | cut -d \" -f 6`
         fetch "--post-data=path=$ppath&zip=2&btConfirmer=Confirmer" https://www.coopanet.com/banque/cpt/cpt/telechargement.do
-        tail -n +2 $TMP > $account.`date +%Y%m%d`.csv
-        rm -f $account.last.csv
-        ln -s $account.`date +%Y%m%d`.csv $account.last.csv
+        tail -n +2 $TMP > $CCPATH/$account.`date +%Y%m%d`.csv
+        rm -f $CCPATH/$account.last.csv
+        ln -s $CCPATH/$account.`date +%Y%m%d`.csv $CCPATH/$account.last.csv
     done
     
     # logout
@@ -158,13 +161,13 @@ function updatehistory() {
         balance=${accountsBalances[$idx]}
 
         # get new lines into $account.new.csv
-        diff -Nau $account.last.csv $account.csv | grep "^-" | grep -v "^---" | cut -c 2- > $account.new.csv
+        diff -Nau $CCPATH/$account.last.csv $CCPATH/$account.csv | grep "^-" | grep -v "^---" | cut -c 2- > $CCPATH/$account.new.csv
     
         # print new entries
-        cat $account.new.csv
+        cat $CCPATH/$account.new.csv
     
-        cat $account.csv >>$account.new.csv
-        mv $account.new.csv $account.csv
+        cat $CCPATH/$account.csv >>$CCPATH/$account.new.csv
+        mv $CCPATH/$account.new.csv $CCPATH/$account.csv
     done
 }
 
@@ -175,14 +178,11 @@ function atomize() {
         name=${accountsNames[$idx]}
         balance=${accountsBalances[$idx]}
 
-        ./ccoop-atomize.py "$account" "$name" "$balance" > $account.atom
+        "`dirname $0`/ccoop-atomize.py" "$account" "$name" "$balance" > $CCPATH/$account.atom
     done
 }
 
 
-cd `dirname $0`
-
-
 umask 0077 # make sure the generated files are only readable by the user
 
 if [[ -n $ismakeconfig ]]; then
@@ -192,10 +192,10 @@ fi
 # Make sure our temporary files are deleted on error and on exit
 trap "rm -f $COOKIEJAR $TMP; exit" INT TERM EXIT
 
-if [[ `ls -l config | cut -c 8-10` != "---" ]]; then
+if [[ `ls -l $CCPATH/config | cut -c 8-10` != "---" ]]; then
     echo "Security warning: config file should be chmod o-rwx" >&2
 fi
-source config
+source $CCPATH/config
 
 if [[ -n $log ]]; then
     inform "Warning, $LOGFILE will contain sensitive information. You should delete it."