über T-Mobile RechnungOnline kann man sich die Rechnung als gpg-verschlüsselten Anhang per Mail schicken lassen – incl. Einzelverbindungsnachweis. Und obwohl’s nur 1x im Monat kommt, ist das Auspacken und Umbenennen in sinnvolle Dateinamen eine lästige Routinearbeit.
Also – automatisieren. Das folgende Ruby-Script erledigt das, nachdem der Rechnungsanhang in einen der Ordner “Downloads” oder “Desktop” gelegt wurde:
#!/usr/bin/ruby dst="#{ENV['HOME']}/Documents/tmobile" # 1. pull together all pgp crypted find Rechnung_15.10.2009.zip.pgp in Desktop, Downloads, local dir ["#{ENV['HOME']}/Downloads", "#{ENV['HOME']}/Desktop", dst].each do |dir| Dir.foreach(dir) do |file| m = /Rechnung_(\d{2})\.(\d{2})\.(\d{4})\.zip(\.pgp|\.gpg)?/.match file if m s = system "mv #{dir}/#{file} #{dst}/#{m[3]}-#{m[2]}-#{m[1]}-bill.zip#{m[4]}" s = system "gpg #{dst}/#{m[3]}-#{m[2]}-#{m[1]}-bill.zip#{m[4]}" if m[4] system "rm #{dst}/#{m[3]}-#{m[2]}-#{m[1]}-bill.zip#{m[4]}" if s && m[4] s = system "unzip #{dst}/#{m[3]}-#{m[2]}-#{m[1]}-bill.zip" system "rm #{dst}/#{m[3]}-#{m[2]}-#{m[1]}-bill.zip" if s puts "de-crypted & unpacked #{dst}/#{m[3]}-#{m[2]}-#{m[1]}-bill.zip" end end end # 2. rename unpacked files accordingly Dir.foreach(dst) do |file| m = /^Rechnung_(\d{4})_(\d{2})_(.+)$/.match file system "mv #{dst}/#{file} #{dst}/#{m[1]}-#{m[2]}-bill-#{m[3]}" if m m = /^Einzelverbindungsnachweis_(\d{4})_(\d{2})_(.+)$/.match file system "mv #{dst}/#{file} #{dst}/#{m[1]}-#{m[2]}-evn--#{m[3]}" if m m = /^Rechnung_(\d{5,20})_(\d{2})_(\d{4})(.+)$/.match file system "mv #{dst}/#{file} #{dst}/#{m[3]}-#{m[2]}-bill-#{m[1]}#{m[4]}" if m m = /^Einzelverbindungsnachweis_(\d{5,20})_(\d{2})_(\d{4})(.+)$/.match file system "mv #{dst}/#{file} #{dst}/#{m[3]}-#{m[2]}-evn--#{m[1]}#{m[4]}" if m end
Comments 2
Wer sonst nichts tu tun hat… “Die spinnen, die Programmierer!”
Posted 04 Nov 2009 at 10:28 pm ¶Naja, da mich weder eine wildgewordene TimeCapsule noch ein bockiges MacBook Pro von der Arbeit abhalten, mußte ich die Wartezeit zwischen Patentanwalt, App Store Antwort, Projektauftraggeber und dem letzten Detektiv irgendwie füllen. Da passen T-Mobile Rechnungen doch ideal rein, oder etwa nicht?
Posted 06 Nov 2009 at 2:23 am ¶Post a Comment