Skip to content

Commit cc8e478

Browse files
Abel Milashclaude
andcommitted
Refactor: extract pure-logic base classes for async Phase 1 (#165)
Extract all I/O-free methods from _ODataClient and _BatchClient into new shared base classes (_ODataBase, _BatchBase) so that a future async sibling can inherit the same pure logic without duplicating code. - Add data/_odata_base.py: _ODataBase with URL builders, payload constructors, cache helpers, _RequestContext, _USER_AGENT, _DEFAULT_EXPECTED_STATUSES, _extract_pagingcookie, _GUID_RE, _CALL_SCOPE_CORRELATION_ID, and _http_logger initialisation - Add data/_batch_base.py: _BatchBase with all intent dataclasses, multipart serialisation, response parsing, and the pure table resolvers - _ODataClient and _BatchClient now inherit from the respective base classes and retain only the I/O-dependent methods - Update test patch target for urlparse to _odata_base module - All 1223 unit tests pass; overall coverage remains at 94% Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 65aac7d commit cc8e478

5 files changed

Lines changed: 1304 additions & 1169 deletions

File tree

0 commit comments

Comments
 (0)