Removed obsolete perl6 files.
This commit is contained in:
parent
75f17be9de
commit
7ef6a533ec
|
@ -1,178 +0,0 @@
|
|||
#!/usr/bin/pugs
|
||||
|
||||
#Copyright 2008 Steffen Jobbagy-Felso
|
||||
#This program is free software: you can redistribute it and/or modify
|
||||
#it under the terms of the GNU Affero General Public License as published by
|
||||
#the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
#This program is distributed in the hope that it will be useful,
|
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#GNU General Public License for more details.
|
||||
#
|
||||
#You should have received a copy of the GNU Affero General Public License
|
||||
#along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#In the "official" distribution you can find the license in
|
||||
#agpl-3.0.txt in the docs folder of the package.
|
||||
|
||||
module LibFpdbImport;
|
||||
use v6;
|
||||
#use strict;
|
||||
use LibFpdbShared;
|
||||
#use LibFpdbImport2;
|
||||
|
||||
class Player {
|
||||
has Str $name;
|
||||
has Int $start_cash;
|
||||
has Card @.cards;
|
||||
has Char $position;
|
||||
|
||||
submethod BUILD (Str @strings) {
|
||||
say "todo: implement Player.BUILD";
|
||||
}#end Player.BUILD
|
||||
|
||||
our Player method find_players(@strings) {
|
||||
#todo: i think this should be sub since its a class method not an instance method
|
||||
say "todo: implement Player.find_players";
|
||||
}
|
||||
}#end class Player
|
||||
|
||||
class Line {
|
||||
has Str $line;
|
||||
has Bool $processed;
|
||||
|
||||
our protected submethod BUILD() {
|
||||
say "todo: implement Line.BUILD?"
|
||||
}#end Line.BUILD
|
||||
|
||||
our Line method recognise_and_parse(@strings) {
|
||||
#todo: i think this should be sub since its a class method not an instance method
|
||||
say "todo: implement Line.recognise_and_parse";
|
||||
}#end Line.recognise_and_parse
|
||||
}#end class Line
|
||||
|
||||
class ActionLine is Line {
|
||||
has Player $player;
|
||||
has Str $type;
|
||||
has Int $amount;
|
||||
has Bool $all_in;
|
||||
has Int $action_no;
|
||||
}#end class ActionLine
|
||||
|
||||
class WinLine is Line {
|
||||
has Player $player;
|
||||
has Int $amount;
|
||||
}#end class WinLine
|
||||
|
||||
class RakeLine is Line {
|
||||
has Int $amount;
|
||||
}#end class RakeLine
|
||||
|
||||
class CardLine is Line {
|
||||
has Bool $board_line;
|
||||
has Player $player;
|
||||
has Card @cards;
|
||||
}#end class CardLine
|
||||
|
||||
#for useless lines
|
||||
class CrapLine is Line {
|
||||
has Str $type;
|
||||
}#end class CrapLine
|
||||
|
||||
class Hand {
|
||||
has Line @.lines;
|
||||
#has Str @strings;
|
||||
has Site $site;
|
||||
has Str $currency;
|
||||
|
||||
has Str $type;
|
||||
has Str $category;
|
||||
has Str $limit_type;#todo: above ; missing causes error, but that doesnt list ; as a possibility
|
||||
has Player @.players;
|
||||
has Card @.board;
|
||||
has Int $db_id;
|
||||
|
||||
submethod BUILD(Str @strings) {
|
||||
Util.debug("running Hand.BUILD");
|
||||
say "strings:",@strings;
|
||||
#this contructor automatically parses the hand. call .store for storing
|
||||
|
||||
@.players=Player.find_players(@strings);
|
||||
@.lines=Line.recognise_and_parse(@strings);
|
||||
|
||||
for @strings -> $line {
|
||||
if class_of(line)==CardLine {
|
||||
if line.board {
|
||||
board=line.cards;
|
||||
} else {
|
||||
for player in players {
|
||||
if line.player==player {
|
||||
player.cards=line.cards;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}#end Hand.BUILD
|
||||
|
||||
our Bool method is_holdem(){
|
||||
if category==("holdem"|"omahahi"|"omahahilo") {
|
||||
return True;
|
||||
} else {
|
||||
return False;
|
||||
}
|
||||
}#end Hand.is_holdem
|
||||
|
||||
our Bool method is_stud(){
|
||||
return not is_holdem();
|
||||
}#end Hand.is_stud
|
||||
|
||||
our Bool method store($db) {
|
||||
say "todo: Hand.store";
|
||||
}#end Hand.store
|
||||
}#end class Hand
|
||||
|
||||
class Importer {
|
||||
#todo: be Thread?
|
||||
submethod BUILD (Database $db, Str $filename) {
|
||||
Util.debug("running Importer.BUILD");
|
||||
if (not ($db.is_connected())) {
|
||||
Util.fatal("not connected to DB");
|
||||
}
|
||||
|
||||
my IO $?filehandle=$filename;
|
||||
#for =$filehandle -> $line {say $line}
|
||||
my Str @lines =$filehandle;
|
||||
|
||||
my Int $hand_start=0;
|
||||
my Int $hand_end=0;
|
||||
my Int $loopcount=0;
|
||||
loop {#one loop of this per hand
|
||||
$loopcount++;
|
||||
say "loopcount", $loopcount;
|
||||
my Int $current_line_index=$hand_end+1; #previous hand end is new hand start
|
||||
for (my Int $i, $i<5, $i++) {#remove blank hands
|
||||
if (@lines[$current_line_index].bytes) < 6 {
|
||||
$current_line_index++;
|
||||
} else {
|
||||
$hand_start=$current_line_index;
|
||||
break;
|
||||
}
|
||||
}
|
||||
my Bool $continue=True; #todo: this is dumb, find out correct loop
|
||||
while $continue {#loop through the lines to find end of hand
|
||||
$current_line_index++;
|
||||
if (@lines[$current_line_index].bytes) < 6 {
|
||||
$hand_end=$current_line_index;
|
||||
$continue=False;
|
||||
}
|
||||
}#end of find end of hand loop
|
||||
my Str @handlines=@lines[$hand_start..$hand_end];
|
||||
my Hand $hand .= new(:lines(@handlines));
|
||||
$hand.store($db);
|
||||
say "todo: record \$db_id";
|
||||
say "todo: terminate on EOF";
|
||||
}
|
||||
}#end new Importer
|
||||
}#end class Importer
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
#!/usr/bin/pugs
|
||||
|
||||
#Copyright 2008 Steffen Jobbagy-Felso
|
||||
#This program is free software: you can redistribute it and/or modify
|
||||
#it under the terms of the GNU Affero General Public License as published by
|
||||
#the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
#This program is distributed in the hope that it will be useful,
|
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#GNU General Public License for more details.
|
||||
#
|
||||
#You should have received a copy of the GNU Affero General Public License
|
||||
#along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#In the "official" distribution you can find the license in
|
||||
#agpl-3.0.txt in the docs folder of the package.
|
||||
|
||||
module LibFpdbShared;
|
||||
use v6;
|
||||
#use strict;
|
||||
|
||||
class Util {
|
||||
method debug(Str $string) {
|
||||
#todo: i think this should be sub since its a class method not an instance method
|
||||
say "debug notice: ", $string;
|
||||
}#end debug_msg
|
||||
|
||||
sub warn(Str $string) {
|
||||
say "todo: Util.warning";
|
||||
}#end warning
|
||||
|
||||
sub fatal(Str $string, Database $db) {
|
||||
say "todo: Util.fatal_error";
|
||||
}#end fatal_error
|
||||
}#end class Util
|
||||
|
||||
class Database {
|
||||
has Str $backend;
|
||||
has Str $host;
|
||||
has Str $name;
|
||||
has Str $user;
|
||||
my Str $password;
|
||||
submethod BUILD (Str $!backend, Str $!host, Str $!name, Str $!user, Str $!password) {
|
||||
Util.debug("running Database.BUILD");
|
||||
self.connect();
|
||||
}#end new Database
|
||||
|
||||
our method connect() {
|
||||
say "todo: db.connect";
|
||||
}#end connect
|
||||
|
||||
method disconnect() {
|
||||
say "todo: db.disconnect";
|
||||
}#end disconnect
|
||||
|
||||
method cancel_import() {
|
||||
say "todo: db.cancel_import";
|
||||
}#end cancel_import
|
||||
|
||||
my method drop_tables() {
|
||||
#todo: make this one private
|
||||
say "todo: db.drop_tables";
|
||||
}#end drop_tables
|
||||
|
||||
method recreate_tables() {
|
||||
say "todo: db.recreate_tables";
|
||||
}#end recreate_tables
|
||||
|
||||
#returns the id of the insert
|
||||
our Int method insert(Str $sql_command) {
|
||||
#todo: is it a bug that i need the "our" above?
|
||||
say "todo: db.insert";
|
||||
return 0;
|
||||
}#end insert
|
||||
|
||||
our Str method fetch(Str $sql_command) {
|
||||
say "todo: db.fetch";
|
||||
}#end fetch
|
||||
|
||||
our Bool method is_connected() {
|
||||
say "todo: db.is_connected";
|
||||
}#end
|
||||
}#end class Database
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/pugs
|
||||
|
||||
#Copyright 2008 Steffen Jobbagy-Felso
|
||||
#This program is free software: you can redistribute it and/or modify
|
||||
#it under the terms of the GNU Affero General Public License as published by
|
||||
#the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
#This program is distributed in the hope that it will be useful,
|
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#GNU General Public License for more details.
|
||||
#
|
||||
#You should have received a copy of the GNU Affero General Public License
|
||||
#along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#In the "official" distribution you can find the license in
|
||||
#agpl-3.0.txt in the docs folder of the package.
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#!/usr/bin/pugs
|
||||
|
||||
#Copyright 2008 Steffen Jobbagy-Felso
|
||||
#This program is free software: you can redistribute it and/or modify
|
||||
#it under the terms of the GNU Affero General Public License as published by
|
||||
#the Free Software Foundation, version 3 of the License.
|
||||
#
|
||||
#This program is distributed in the hope that it will be useful,
|
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
#GNU General Public License for more details.
|
||||
#
|
||||
#You should have received a copy of the GNU Affero General Public License
|
||||
#along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#In the "official" distribution you can find the license in
|
||||
#agpl-3.0.txt in the docs folder of the package.
|
||||
|
||||
use v6;
|
||||
#use strict;
|
||||
use LibFpdbImport;
|
||||
use LibFpdbShared;
|
||||
|
||||
|
||||
my Database $db .= new(:backend<MySQL InnoDB>, :host<localhost>, :database<fpdb>, :user<fpdb>, :password<myPW>);
|
||||
#todo: below doesnt work
|
||||
my Importer $imp .= new(:db($db), :filename<HH-LHE1.txt>);
|
||||
#perlbug?: adding another named argument that isnt listed in the constructor gave very weird error.
|
||||
say $imp;
|
||||
|
Loading…
Reference in New Issue
Block a user