comparison flash.pl @ 371:0522468991c1

added flash attacking script.
author "Rex Tsai <chihchun@kalug.linux.org.tw>"
date Tue, 14 Apr 2009 16:59:14 +0800
parents
children
comparison
equal deleted inserted replaced
370:ba1643654e6d 371:0522468991c1
1 #!/usr/bin/perl
2
3 use strict;
4 use Ikariam;
5 use Ikariam::CitiesRules;
6 use Data::Dumper;
7 use Decision::ParseTree q{ParseTree};
8 use YAML qw/LoadFile Dump DumpFile/;
9
10 package main;
11 my $cityId = 95780;
12 my $cities = {};
13
14 our $i = new Ikariam($::server, $::user, $::pass);
15 $i->login;
16 $i->changeCity($cityId);
17 $cities->{$cityId} = $i->checkCity($cityId);
18
19 # Genereic rules for both overall and city level arranagement.
20 my $rules = Ikariam::CitiesRules->new($i);
21 my $tree = LoadFile('flash-city.yaml');
22 $cities->{$cityId}->{parse_path} = [];
23 $cities->{$cityId}->{parse_answer} = undef;
24 if (my $action = ParseTree($tree, $rules, $cities->{$cityId})) {
25 triggerAction($action, $cityId);
26 }
27
28 $i->logout;
29
30 sub triggerAction {
31 my ($action, $cityId) = @_;
32
33 my ($func, $param) = split(/_/,$action);
34 printf('$i->%s("%s", %s);'. "\n", $func, $param, $cityId);
35 eval(sprintf('$i->%s("%s", %s);', $func, $param, $cityId));
36 warn $@ if $@;
37 }