Files
Odoo-Build/scripts/jsonrpc
T
2024-12-10 13:44:38 +01:00

41 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
import odoorpc
import os
from urllib.parse import urlparse
# Load env vars
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'
model = os.environ.get('ODOO_MODEL') or 'res.partner'
# Prepare the connection to the server
url = urlparse(url)
if url.scheme == 'https':
protocol = 'jsonrpc+ssl'
port = 443
elif url.scheme == 'http':
protocol = 'jsonrpc'
port = 80
else:
raise ValueError("Unsupported URL scheme. Only http or https is supported.")
odoo = odoorpc.ODOO(url.hostname, protocol=protocol, port=(url.port or port))
# Login
try:
print(f"Login to {url.hostname}:{url.port or port}/{db}")
odoo.login(db, username, password)
# Current user
print(f"Current user id: {odoo.env.uid}")
# Get records
records = odoo.env[model].search([])
print(f"Found {len(records)} records for model {model}")
except Exception as e:
print(f"An error occurred: {e}")