ebanutsya
This commit is contained in:
5
app.py
5
app.py
@@ -26,12 +26,9 @@ blueprints = [
|
||||
(routes.auth_blueprint, '/auth'),
|
||||
(routes.orders_blueprint, '/orders'),
|
||||
(routes.barcode_blueprint, '/barcode'),
|
||||
(routes.printing_blueprint, '/printing'),
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
for blueprint, url_prefix in blueprints:
|
||||
app.register_blueprint(blueprint, url_prefix=url_prefix)
|
||||
|
||||
|
||||
23
assemblr.log
23
assemblr.log
@@ -10,3 +10,26 @@
|
||||
10-27 05:37 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-27 05:38 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-27 05:57 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 04:06 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 04:06 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 04:37 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 04:38 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 04:38 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 04:38 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:00 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:00 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:00 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:02 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:02 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:02 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:03 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:03 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:04 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:06 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:06 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:07 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:07 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:08 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:08 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:09 - assemblr - INFO - SiproClient successfully initialized
|
||||
10-28 05:09 - assemblr - INFO - SiproClient successfully initialized
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from routes.auth import auth_blueprint
|
||||
from routes.orders import orders_blueprint
|
||||
from routes.barcode import barcode_blueprint
|
||||
from routes.printing import printing_blueprint
|
||||
|
||||
17
routes/printing.py
Normal file
17
routes/printing.py
Normal file
@@ -0,0 +1,17 @@
|
||||
from flask import Blueprint, request, send_file
|
||||
from routes.utils import jwt_protect_blueprint
|
||||
import sipro.api.printing
|
||||
|
||||
printing_blueprint = jwt_protect_blueprint(Blueprint('printing', __name__))
|
||||
|
||||
|
||||
@printing_blueprint.get('/getLabel')
|
||||
def get_label():
|
||||
args = request.args
|
||||
order_id = args.get('orderId')
|
||||
data = sipro.api.printing.get_label(order_id)
|
||||
data.seek(0)
|
||||
return send_file(data,
|
||||
as_attachment=True,
|
||||
download_name='label.pdf',
|
||||
mimetype='application/pdf')
|
||||
@@ -19,10 +19,13 @@ class SiproClient:
|
||||
self.initialized = True
|
||||
logger_instance.info('SiproClient successfully initialized')
|
||||
|
||||
def method(self, http_method: str, method: str, data: dict = None):
|
||||
def method(self, http_method: str, method: str, data: dict = None, raw=False):
|
||||
url = self.api_url + '/assemblr' + method
|
||||
headers = {'Authorization': self.token}
|
||||
return requests.request(http_method, url, headers=headers, json=data).json()
|
||||
response = requests.request(http_method, url, headers=headers, json=data)
|
||||
if raw:
|
||||
return response
|
||||
return response.json()
|
||||
|
||||
def ping(self) -> str:
|
||||
return self.method('GET', '/ping').get('response')
|
||||
|
||||
16
sipro/api/printing.py
Normal file
16
sipro/api/printing.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from io import BytesIO
|
||||
|
||||
from flask import send_file
|
||||
from requests import Response
|
||||
|
||||
from sipro.api.client import get_client
|
||||
|
||||
client = get_client()
|
||||
router = '/printing'
|
||||
|
||||
|
||||
def get_label(order_product_id: str) -> BytesIO:
|
||||
method = f'{router}/getLabel?orderId={order_product_id}'
|
||||
response: Response = client.method('GET', method, raw=True)
|
||||
data = BytesIO(response.content)
|
||||
return data
|
||||
Reference in New Issue
Block a user