Beispiel #1
0
 def get_inplay_markets(self, locale=None):
     if self.product_id == FREE_API:
         raise ServiceError("Free API does not support get_inplay_markets")
     req = BFExchangeFactory.create("ns1:GetInPlayMarketsReq")
     if locale: req.locale = locale
     rsp = self._soapcall(BFExchangeService.getInPlayMarkets, req)
     if rsp.errorCode != GetInPlayMarketsErrorEnum.OK:
         error_code = rsp.errorCode
         if error_code == GetInPlayMarketsErrorEnum.API_ERROR:
             error_code = rsp.header.errorCode
         logger.error("{getInPlayMarkets} failed with error {%s}",
                      error_code)
         raise ServiceError(error_code)
     return uncompress_markets(rsp.marketData)
Beispiel #2
0
 def get_markets(self, event_ids=None, countries=None, date_range=None):
     req = BFExchangeFactory.create("ns1:GetAllMarketsReq")
     if event_ids:
         req.eventTypeIds[0].extend(list(iter(event_ids)))
     if countries:
         req.countries[0].extend(list(iter(countries)))
     if date_range:
         date_range = list(iter(date_range))
         req.fromDate = date_range[0]
         if len(date_range) > 1:
             req.toDate = date_range.end[-1]
     rsp = self._soapcall(BFExchangeService.getAllMarkets, req)
     if rsp.errorCode != GetAllMarketsErrorEnum.OK:
         error_code = rsp.errorCode
         if error_code == GetAllMarketsErrorEnum.API_ERROR:
             error_code = rsp.header.errorCode
         logger.error("{getAllMarkets} failed with error {%s}", error_code)
         raise ServiceError(error_code)
     markets = uncompress_markets(rsp.marketData)
     return markets
Beispiel #3
0
def test_uncompress_markets():
    with open(path.join(DATA_DIR, "markets.dump")) as f:
        for line in f:
            uncompress_markets(line)