Files
Odoo-Build/scripts/jsonrpc
T
2022-06-23 12:15:17 +02:00

65 lines
1.8 KiB
Python
Executable File

#!/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}')