1234567891011121314151617181920212223242526272829303132 |
- import trackingmore
- import requests
- from .logging import Logger
- from typing import Dict, List, Tuple, Generator, Optional
- class TrackingMore:
- api_key: str
- logger: Logger
- client: trackingmore.TrackingMore
- api_code: str = "trackingmore"
- parcel_api: str = "trackingmore"
- operator: str = "TrackingMore ([https://www.trackingmore.com](https://www.trackingmore.com))"
- def __init__(self, api_key: str, logger: Optional[Logger] = None):
- self.api_key: str = api_key
- self.logger: Logger = logger or Logger()
- self.client = trackingmore.TrackingMore(self.api_key)
- def lookup_parcel(self, query: str, carrier: Optional[str] = None, user: Optional[str] = None) -> Tuple[str, int]:
- self.logger.log(f"Querying TrackingMore for {query}")
- if query == "carriers":
- response = "\n".join(f"* {carrier['courier_name']} - {carrier['courier_code']}" for carrier in self.client.get_carriers())
- return response, 1
- response = self.client.track_shipment(query)
- return response, 1
|