32 lines
979 B
Python
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)
|