grocy-cli/grocy/stock.py

32 lines
979 B
Python

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)