DinersHandler
Mehuwiki
Sisällysluettelo |
Diners laskut tietokantaan
Itsellä tuli tarvetta saada Diners Clubin laskut Internetistä kunnon tietokantaan, jossa rahan käyttöä pystyy paremmin seurailemaan kuin tutkailemalla yksittäisiä laskuja. Diners on onneksi tehnyt asian suhteellisen helpoksi, sillä laskut saa haettua Microsoft Excel -muodossa sivuilta.
Koko touhun hienous piilee kuitenkin OS X:n Folder Actioneissa, jolla saa toteutettua sen, että kun lataan Dinersin sivuilta laskun, tallentuu se haluaamani kansioon, mistä Folder Actionin seurauksena AppleScript käynnistyy, tunnistaa tiedoston ja vie sen automaattisesti PostgreSQL -tietokantaan.
Esivalmistelut
Ensiksi on haettava AppleScript tiedosto sekä yksinkertainen bash -skripti, jota AppleScript käyttää CSV-tiedoston muokkaamiseen ja PostgreSQL:n ohjaamiseen. Voit hakea sen Diners.zip.
Asentaminen
- Pura ZIP-paketti
- Siirrä diners/ -kansiosta DinersHandler.scpt -tiedosto ~/Library/Scripts/Folder Action Scripts -kansioon
- Siirrä diners/ -kansiosta dinersCSV -tiedosto haluaamasi paikkan, esim /usr/local/bin -kansioon
- Muokkaa DinersHandlers.scpt -tiedostoa Script Editor:lla siten, että muutat
set newBook to open workbook workbook file name "Macintosh HD:Users:mikko:Documents:Downloads:" & item_name
mikko:Documents:Downloads -kohdan siksi kansioksi, minne tallennat tiedostosi selaimesta.
Muuta samaten kohta
do script "~/bin/dinersCSV /tmp/dc2psql.csv; exit"
muotoon
do script "/usr/local/bin/dinersCSV /tmp/dc2psql.csv; exit"
jos siirsit dinersCSV -tiedoston /usr/local/bin -hakemistoon.
- Hae Finderilla kansio, minne tallennat tiedostosi selaimesta
- Liitä kansioon uusi Folder Action ja aukeavasti ikkunasta valitset DinersHandler -skriptin
- Jos sinulla ei ole vielä PostgreSQL:ssä taulua Dinersille, niin luo se seuraavalla komennolla:
create schema diners; create table diners.kaytto(kortti varchar(16), ostopaiva varchar(10), arkistotun nus integer, liike varchar(255), tyyppi integer, valuuttasumma decimal(10, 2), v aluutta varchar(3), kurssi integer, summa decimal(10, 2), laskupvm varchar(10), erapaiva varchar(10));
Käyttö
Tämän käyttämiseen et tarvitse mitään muuta kuin tallentaa selaimella Dinersin laskut Excel -muodossa, ja sen jälkeen laskut ilmestyvät PostgreSQL kantaan.
Lisenssi
Ohjelmisto toimitetaan GPL-lisenssin alaisena. Lisää lisenssistä täältä

