42 lines
1.1 KiB
Python
Executable File
42 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
|
|
user = odoo.env.user
|
|
print(f"Current user: {user.display_name}")
|
|
|
|
# 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}")
|