Package stocks3 :: Package parsers :: Module transitcard
[hide private]
[frames] | no frames]

Source Code for Module stocks3.parsers.transitcard

 1  # -*- coding: utf-8 -*- 
 2   
 3  u""" 
 4  Парсер данных, приходящих от transitcard.ru. 
 5  """ 
 6   
 7  __author__ = "Zasimov Alexey" 
 8  __email__ = "zasimov-a@yandex-team.ru" 
 9   
10   
11  from stocks3.parsers.xml import XMLParser 
12  from stocks3.core.factories import parsers 
13  from stocks3.core.stocksmapper import StocksMapper 
14   
15   
16 -class TransitcardParser(XMLParser):
17 - def parse(self, place):
18 XMLParser.parse(self, place) 19 for regions in self.dataRoot.findall("regions"): 20 date = self.strpdate(regions.attrib["date"]) 21 for region in regions.findall("region"): 22 regionId = int(region.attrib["id"]) 23 for quoteNode in region: 24 # Узнаем идентификатор котировки 25 sourceQuoteId = quoteNode.tag 26 # Создаем котировку 27 value = float(quoteNode.text) 28 price = self.makePrice(sourceQuoteId, date, value) 29 if price: 30 price.onlyForRegion(regionId) 31 yield price
32 33 34 parsers.register("stocks3.parsers.Transitcard", TransitcardParser) 35