T-Mobile Rechnungen auspacken und umbenennen

ü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

Flattr this!

Comments 2

  1. Akawee wrote:

    Wer sonst nichts tu tun hat… „Die spinnen, die Programmierer!“

    Posted 04 Nov 2009 at 10:28 pm
  2. mro wrote:

    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

Your email is never published nor shared. Required fields are marked *