diff --git a/NEWS.rst b/NEWS.rst index ebebb649312667d9a8cb4291271dc49c59de471f_TkVXUy5yc3Q=..3d7d44c259bd1623d3a51312149a0396973f0e3c_TkVXUy5yc3Q= 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -2,6 +2,13 @@ NEWS ==== +13.0.3.3.0 +========== + +(port from 11.0.2.8.0) + +* Server URL rework: Expect an URL without path, add /api/v1 in the code. + 13.0.3.2.0 ========== diff --git a/__manifest__.py b/__manifest__.py index ebebb649312667d9a8cb4291271dc49c59de471f_X19tYW5pZmVzdF9fLnB5..3d7d44c259bd1623d3a51312149a0396973f0e3c_X19tYW5pZmVzdF9fLnB5 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -21,7 +21,7 @@ "name": "Redner", "summary": """ Allows to generate transactional emails and documents in PDF or HTML format""", - "version": "13.0.3.2.0", + "version": "13.0.3.3.0", "category": "Technical", "author": "XCG Consulting", "website": "http://odoo.consulting/", diff --git a/redner.py b/redner.py index ebebb649312667d9a8cb4291271dc49c59de471f_cmVkbmVyLnB5..3d7d44c259bd1623d3a51312149a0396973f0e3c_cmVkbmVyLnB5 100644 --- a/redner.py +++ b/redner.py @@ -11,6 +11,8 @@ _logger = logging.getLogger(__name__) +REDNER_API_PATH = "api/v1/" + class Redner: def __init__(self, api_key, server_url, account, timeout): @@ -19,6 +21,7 @@ Args: api_key(str): provide your Redner API key. server_url(str): Redner server URL or socket path. + For example: http://localhost:30001/ timeout(float): Timeout per Redner call, in seconds. """ @@ -28,9 +31,9 @@ if server_url.startswith("/"): self.session = requests_unixsocket.Session() - self.server_url = "http+unix://{}/api/".format( + self.server_url = "http+unix://{}/".format( quote(server_url, safe="") ) else: self.session = requests.sessions.Session() self.server_url = server_url @@ -32,8 +35,12 @@ quote(server_url, safe="") ) else: self.session = requests.sessions.Session() self.server_url = server_url + if not self.server_url.endswith("/"): + self.server_url += "/" + self.server_url += REDNER_API_PATH + self.templates = Templates(self) def call(self, path, http_verb="post", **params): @@ -154,7 +161,7 @@ "body-format": body_format, "metadata": metadata or {}, } - return self.master.call("v1/render", http_verb="post", **params) + return self.master.call("render", http_verb="post", **params) def account_template_add( self, @@ -198,7 +205,7 @@ "version": version, } res = self.master.call( - "v1/template/%s" % self.master.account, http_verb="post", **params + "template/%s" % self.master.account, http_verb="post", **params ) return res["name"] @@ -246,7 +253,7 @@ "version": version, } res = self.master.call( - "v1/template/%s/%s" % (self.master.account, template_id), + "template/%s/%s" % (self.master.account, template_id), http_verb="put", **params, ) @@ -262,8 +269,7 @@ dict: API response. """ return self.master.call( - "v1/template/%s/%s" % (self.master.account, name), - http_verb="delete", + "template/%s/%s" % (self.master.account, name), http_verb="delete" ) def account_template_varlist(self, name): @@ -280,4 +286,4 @@ params = {"account": self.master.account, "name": name} - return self.master.call("v1/varlist", **params) + return self.master.call("varlist", **params)