import requests
|
|
from urllib.parse import urljoin
|
|
from fe.access import book
|
|
from fe.access.auth import Auth
|
|
|
|
|
|
class Seller:
|
|
def __init__(self, url_prefix, seller_id: str, password: str):
|
|
self.url_prefix = urljoin(url_prefix, "seller/")
|
|
self.seller_id = seller_id
|
|
self.password = password
|
|
self.terminal = "my terminal"
|
|
self.auth = Auth(url_prefix)
|
|
code, self.token = self.auth.login(self.seller_id, self.password, self.terminal)
|
|
assert code == 200
|
|
|
|
def create_store(self, store_id):
|
|
json = {
|
|
"user_id": self.seller_id,
|
|
"store_id": store_id,
|
|
}
|
|
#print(simplejson.dumps(json))
|
|
url = urljoin(self.url_prefix, "create_store")
|
|
headers = {"token": self.token}
|
|
r = requests.post(url, headers=headers, json=json)
|
|
return r.status_code
|
|
|
|
def add_book(self, store_id: str, stock_level: int, book_info: book.Book) -> int:
|
|
json = {
|
|
"user_id": self.seller_id,
|
|
"store_id": store_id,
|
|
"book_info": book_info.__dict__,
|
|
"stock_level": stock_level
|
|
}
|
|
#print(simplejson.dumps(json))
|
|
url = urljoin(self.url_prefix, "add_book")
|
|
headers = {"token": self.token}
|
|
r = requests.post(url, headers=headers, json=json)
|
|
return r.status_code
|
|
|
|
def add_stock_level(self, seller_id: str, store_id: str, book_id: str, add_stock_num: int) -> int:
|
|
json = {
|
|
"user_id": seller_id,
|
|
"store_id": store_id,
|
|
"book_id": book_id,
|
|
"add_stock_level": add_stock_num
|
|
}
|
|
#print(simplejson.dumps(json))
|
|
url = urljoin(self.url_prefix, "add_stock_level")
|
|
headers = {"token": self.token}
|
|
r = requests.post(url, headers=headers, json=json)
|
|
return r.status_code
|