[BUG] v0.60 - Exportierte PT3 Daten werden fehlerhaft importiert

    • danielish
      danielish
      Bronze
      Dabei seit: 06.07.2007 Beiträge: 160
      Version: 0.60

      Kurzbeschreibung:
      Exportierte iPoker Historydaten aus PT3 (als .txt)
      Inhalt der .txt sind sowohl Cash- als auch Tournament-Historydaten (PT3 exportiert einfach alles...)

      Elephant importiert auch die Tournament-Daten, erkennbar an der Zeile:

      GAME #123: Texas Hold'em NL Tournament 2008-08-09 19:52:22

      und ordnet diese als NL-Cashgame in atemberaubenden Limits (z.B. 3000/6000) ein - Elephant macht mich also kurzerhand zum Highroller :D
  • 2 Antworten
    • galam
      galam
      Bronze
      Dabei seit: 06.03.2005 Beiträge: 11.136
      Beschwer dich doch, jeder will doch mal Highroller sein ;) Nee im ernst, PT3 Hände werden als Import noch gar nicht unterstützt, von daher kann das durchaus passieren ;)

      Gruß Sebastian
    • danielish
      danielish
      Bronze
      Dabei seit: 06.07.2007 Beiträge: 160
      Ah okay, das wusste ich noch garnicht.

      Ich habe mir ein kleines Script gebastelt, mit dem ich meine exportierten iPoker .txt-Dateien aus PT3 ausschließlich auf NL-Cashgames filtere. Nebenbei ist mir noch aufgefallen, dass es einen iPoker-Skin gibt, der ein anderes Datumsformat benutzt:

      10-Sep-2008 anstatt 2008-09-10

      Elephant ordnet diese Hände dann alle unter dem Tag des Imports ein.

      Anbei noch mein Script, entwickelt & getestet mit ruby 1.8.6 (2008-06-20 patchlevel 230) [i386-linux]. Vielleicht kann es jemand gebrauchen bzw. den Regex für seine präferierte Scriptsprache nutzen. Das Datumsformat wird dabei in das gebräuchliche Format (YYYY-MM-DD) mittels einer eingebauten Ruby-Date Funktion gebracht, daher die Gruppierung der gefundenen Zeichenfolgen in 3 Blöcke.

      code:
      require 'date'
      
      $source_filename = ARGV[0]
      $target_filename = File.join(File.dirname($source_filename), "CONVERTED_" << File.basename($source_filename))
      $output = "" # output string
      $i = 0 # line number
      
      File.open($source_filename) do |file|
        lines = file.readlines
        while $i < lines.length
          # regex for "GAME #123: Texas Hold'em NL $0.50/$1 09-Sep-2008 22:11:45"
          if /(GAME #\d+: Texas Hold'em NL \$.+ )(.+)( .+)/.match(lines[$i])
            $output << $1 << Date.parse($2).to_s << $3 << "\n"
            $i += 1
            until lines[$i].strip.empty?
              $output << lines[$i]
              $i += 1
            end
            $output << "\n\n"
          end
          $i += 1
        end
      end
      
      File.open($target_filename, 'w') do |file|
        file.write($output)
      end
      


      Usage: ruby <dieses script> <ipoker .txt>

      Die Originaldatei bleibt unberührt, es wird eine neue Datei angelegt, die als Präfix ein "CONVERTED_" erhält und ins selbe Verzeichnis gespeichert wird.