#!/usr/bin/env python3 import odoorpc import os from urllib.parse import urlparse url = os.environ.get('ODOO_URL') or 'http://localhost:8069' db = os.environ.get('ODOO_DATABASE') or 'odoo' username = os.getenv('ODOO_USERNAME') or 'admin' password = os.environ.get('ODOO_PASSWORD') or 'admin' # Prepare the connection to the server url = urlparse(url) if url.scheme == 'https': protocol = 'jsonrpc+ssl' port = 443 if url.scheme == 'http': protocol = 'jsonrpc' port = 80 odoo = odoorpc.ODOO(url.hostname, protocol=protocol, port=(url.port or port)) # Check available databases print(odoo.db.list()) # Login odoo.login(db, username, password) # Current user user = odoo.env.user print(user.name) # name of the user connected print(user.company_id.name) # the name of its company # import json # import os # import random # import urllib.request # import getpass # url = os.environ.get('ODOO_URL') or 'http://localhost:8069' # db = os.environ.get('ODOO_DATABASE') or 'odoo' # username = os.getenv('ODOO_USERNAME') or 'admin' # password = os.environ.get('ODOO_PASSWORD') or 'admin' # def json_rpc(url, method, params): # data = { # "jsonrpc": "2.0", # "method": method, # "params": params, # "id": random.randint(0, 1000000000), # } # req = urllib.request.Request(url=url, data=json.dumps(data).encode(), headers={ # "Content-Type":"application/json", # }) # reply = json.loads(urllib.request.urlopen(req).read().decode('UTF-8')) # if reply.get("error"): # raise Exception(reply["error"]) # return reply["result"] # def call(url, service, method, *args): # return json_rpc(url, "call", {"service": service, "method": method, "args": args}) # url = url + "/jsonrpc" # uid = call(url, "common", "login", db, username, password) # print(f'Success! uid is {uid}')