from grocy.request import Request from grocy.conf import Configuration import logging class Stock(object): GET_STOCK_URL_TEMPLATE = '{api}/stock' GET_STOCK_PRODUCT_DETAIL_TEMPLATE = '{api}/stock/products/{product_id}' def __init__(self): self.conf = Configuration() self.conf.load() def __get_resources(self, url, logger): request = Request('get', url) try: return request.send() except Exception as e: logger.error(e) raise e @property def products(self): logger = logging.getLogger('stock.products') url = self.GET_STOCK_URL_TEMPLATE.format(api=self.conf.api) return self.__get_resources(url, logger) def get_product(self, product_id): logger = logging.getLogger('stock.get_product') url = self.GET_STOCK_PRODUCT_DETAIL_TEMPLATE.format(api=self.conf.api, product_id=product_id) return self.__get_resources(url, logger)