Mercurial > eagle-eye
view pyikriam/example.py @ 177:6adad3bcca78
Refactory to functions for sychronizing object attributes with pages.
- We add more building types.
- All of them need to sync attributes with content of Ikariam's online page.
- These functions are refactoried to functions.
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Sun, 02 Nov 2008 15:14:51 +0800 |
parents | 3ba3edda6d1e |
children | bf4ddf5bffb9 |
line wrap: on
line source
import sys import buildings from ikariam import Ikariam if len(sys.argv) != 2: print >> sys.stderr, 'Usage: %s <city id>' % (sys.argv[0]) sys.exit(1) pass city_id = int(sys.argv[1]) # 117261 i = Ikariam() city = i.city(city_id) print "pull datas of the city %s" % (city_id) city.sync() print 'gold is ' + city.gold print 'inhabitants is ' + city.inhabitants print 'wood is ' + city.wood print 'wine is ' + city.wine print 'marble is ' + city.marble print 'crystal is ' + city.crystal print 'sulfur is ' + city.sulfur print 'positions ' + repr(city.positions) for idx, pos in enumerate(city.positions): if not isinstance(pos, buildings.position): continue pos.sync() building_attrs = filter(lambda attr: not attr[0].startswith('_'), pos.__dict__.items()) building_attrs.sort(key=lambda x: x[0]) print print 'positions[%d]' % (idx) for building_attr, value in building_attrs: print '\t%s: %s' % (building_attr, repr(value)) pass