MCPcopy Create free account
hub / github.com/ccxt/ccxt / get_skips

Method get_skips

python/ccxt/test/tests_sync.py:235–276  ·  view source on GitHub ↗
(self, exchange, method_name)

Source from the content-addressed store, hash-verified

233 return True
234
235 def get_skips(self, exchange, method_name):
236 final_skips = {}
237 # check the exact method (i.e. `fetchTrades`) and language-specific (i.e. `fetchTrades.php`)
238 method_names = [method_name, method_name + '.' + self.ext]
239 for i in range(0, len(method_names)):
240 m_name = method_names[i]
241 if m_name in self.skipped_methods:
242 # if whole method is skipped, by assigning a string to it, i.e. "fetchOrders":"blabla"
243 if isinstance(self.skipped_methods[m_name], str):
244 return self.skipped_methods[m_name]
245 else:
246 final_skips = exchange.deep_extend(final_skips, self.skipped_methods[m_name])
247 # get "object-specific" skips
248 object_skips = {
249 'orderBook': ['fetchOrderBook', 'fetchOrderBooks', 'fetchL2OrderBook', 'watchOrderBook', 'watchOrderBookForSymbols'],
250 'ticker': ['fetchTicker', 'fetchTickers', 'watchTicker', 'watchTickers'],
251 'trade': ['fetchTrades', 'watchTrades', 'watchTradesForSymbols'],
252 'ohlcv': ['fetchOHLCV', 'watchOHLCV', 'watchOHLCVForSymbols'],
253 'ledger': ['fetchLedger', 'fetchLedgerEntry'],
254 'depositWithdraw': ['fetchDepositsWithdrawals', 'fetchDeposits', 'fetchWithdrawals'],
255 'depositWithdrawFee': ['fetchDepositWithdrawFee', 'fetchDepositWithdrawFees'],
256 }
257 object_names = list(object_skips.keys())
258 for i in range(0, len(object_names)):
259 object_name = object_names[i]
260 object_methods = object_skips[object_name]
261 if exchange.in_array(method_name, object_methods):
262 # if whole object is skipped, by assigning a string to it, i.e. "orderBook":"blabla"
263 if (object_name in self.skipped_methods) and (isinstance(self.skipped_methods[object_name], str)):
264 return self.skipped_methods[object_name]
265 extra_skips = exchange.safe_dict(self.skipped_methods, object_name, {})
266 final_skips = exchange.deep_extend(final_skips, extra_skips)
267 # extend related skips
268 # - if 'timestamp' is skipped, we should do so for 'datetime' too
269 # - if 'bid' is skipped, skip 'ask' too
270 if ('timestamp' in final_skips) and not ('datetime' in final_skips):
271 final_skips['datetime'] = final_skips['timestamp']
272 if ('bid' in final_skips) and not ('ask' in final_skips):
273 final_skips['ask'] = final_skips['bid']
274 if ('baseVolume' in final_skips) and not ('quoteVolume' in final_skips):
275 final_skips['quoteVolume'] = final_skips['baseVolume']
276 return final_skips
277
278 def test_safe(self, method_name, exchange, args=[], is_public=False):
279 # `testSafe` method does not throw an exception, instead mutes it. The reason we

Callers 2

test_methodMethod · 0.95
test_has_propsMethod · 0.95

Calls 4

deep_extendMethod · 0.80
in_arrayMethod · 0.80
safe_dictMethod · 0.80
rangeFunction · 0.50

Tested by

no test coverage detected