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

  1. Pura ZIP-paketti
  2. Siirrä diners/ -kansiosta DinersHandler.scpt -tiedosto ~/Library/Scripts/Folder Action Scripts -kansioon
  3. Siirrä diners/ -kansiosta dinersCSV -tiedosto haluaamasi paikkan, esim /usr/local/bin -kansioon
  4. 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.

  1. Hae Finderilla kansio, minne tallennat tiedostosi selaimesta
  2. Liitä kansioon uusi Folder Action ja aukeavasti ikkunasta valitset DinersHandler -skriptin
  3. 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ä

Henkilökohtaiset työkalut

Creative Commons License