On Sat, Apr 16, 2011 at 05:04:43PM +0300, Tomas Straupis wrote: > Prisegu py failą, gal kolegos pitoninikai kokių nors stambių kliurkų > pastebės, nes šiaip kodą rašiau google pagalba „search: python print, > search: python loop, search: python variables“ ir pan. :-)
Gan gerai išėjo kaip pirmam kartui! Rekomenduoju oficialų Pythono tutorialą, užima vieną vakarą ir supažindina su dauguma kalbos feature'ų: http://docs.python.org/tutorial/index.html > #!/usr/bin/python > from imposm.parser import OSMParser > > class Taskai(object): > highways = 0 > > def ieskok(self, nodes): > # callback method for nodes > for osmid, tags, pos in nodes: > if 'historic' in tags: > #print tags > title = '' > description = '' > url = '' > if 'name' in tags: > title = tags['name'] > if title == '': > title = tags['historic'] > description = title > if 'url' in tags: > url = tags['url'] > description += '<br><a href="%s" target="_blank">Info</a>' % url > if tags['historic'] == 'hill_fort' or tags['historic'] == 'monument' > or tags['historic'] == 'archaeological_site': Čia galima būtų sulankstyti eilutę taip: if (tags['historic'] == 'hill_fort' or tags['historic'] == 'monument' or tags['historic'] == 'archaeological_site'): Arba trumpiau: if (tags['historic'] in ['hill_fort', 'monument', 'archaeological_site']): > # instantiate counter and parser and start parsing > f = open('textfile.txt', 'w') > f.write('lat\tlon\ttitle\tdescription\ticonSize\ticonOffset\ticon\n') > taskai = Taskai() > p = OSMParser(concurrency=4, nodes_callback=taskai.ieskok) > p.parse('lithuania_.osm') Šitą paprastai sudeda į main() funkciją ir kviečia ją taip: if __name__ == '__main__': main() Tokiu būdu galėsi importuoti Taskai klasę iš kito skripto. Dabar importo metu bus vykdomas skriptas. Albertas _______________________________________________ Talk-lt mailing list Talk-lt@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-lt