Mercurial > eagle-eye
changeset 2:0fb73a7a0b94
ok, we done basic island scanning functions.
author | "Rex Tsai <chihchun@kalug.linux.org.tw>" |
---|---|
date | Tue, 07 Oct 2008 23:22:09 +0800 |
parents | f9eac5385dc0 |
children | b72786cdccbb |
files | Ikariam.pm scan.pl |
diffstat | 2 files changed, 25 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/Ikariam.pm Tue Oct 07 22:56:12 2008 +0800 +++ b/Ikariam.pm Tue Oct 07 23:22:09 2008 +0800 @@ -1,4 +1,13 @@ #!/usr/bin/env perl + +use Class::DBI::AutoLoader ( + dsn => 'dbi:SQLite:dbname=ikariam.sqlite', + options => { RaiseError => 1 }, + tables => ['cities', 'islands'], + use_base => 'Class::DBI::SQLite', + namespace => 'Ikariam', +); + package Ikariam; use Data::Dumper;
--- a/scan.pl Tue Oct 07 22:56:12 2008 +0800 +++ b/scan.pl Tue Oct 07 23:22:09 2008 +0800 @@ -4,19 +4,16 @@ package main; -use Class::DBI::AutoLoader ( - dsn => 'dbi:SQLite:dbname=ikariam.sqlite', - options => { RaiseError => 1 }, - tables => ['cities', 'islands'], - use_base => 'Class::DBI::SQLite', - namespace => 'Ikariam', -); - my $i = new Ikariam("s2.ikariam.tw", "chihchun", "c795d57d"); $i->login; -# my @islands = $i->viewHomeMap(); -# my @islands = $i->viewWorldMap(89, 60); -my @islands = $i->viewWorldMap(50, 34); + +my @islands; +if($#ARGV >= 2) { + @islands = $i->viewWorldMap($ARGV[0], $ARGV[1]); +} else { + @islands = $i->viewHomeMap(); +} +# my @islands = $i->viewWorldMap(50, 34); foreach my $island (@islands) { @@ -34,20 +31,21 @@ foreach my $city (@cities) { $city->{island} = $island->{id}; - printf("checking city %d\n", $city->{cityId}); if(my $c = Ikariam::Cities->retrieve($city->{cityId})) { - foreach my $i (keys(%$city)) - { - eval($c->$i($city->{$i})); - printf("%s %s ", $i, $city->{$i}); - } - print ("\n"); + #foreach my $i (keys(%$city)) + #{ + # eval($c->$i($city->{$i})); + # printf("%s %s ", $i, $city->{$i}); + #} + #print ("\n"); + $c->autoupdate(1); $c->update(); } else { Ikariam::Cities->insert($city); } + printf("city %d %s saved\n", $city->{cityId}, $city->{cityname}); } }