Beispiel #1
0
def connect(name):
    print()
    print('Connect')

    host = Host.objects.filter(name=name)[0]
    #print(host)

    hostname = host.hostname
    database = host.database
    login = host.login
    password = host.password

    #print(hostname)

    # Connect - Json Rpc
    connection = odoolib.get_connection(
        #hostname='localhost',
        #login="******",
        #database="ODOO-TACNA",
        #password="******",
        hostname=hostname,
        database=database,
        login=login,
        password=password,
        port=8069,
        protocol='jsonrpc',
    )
    #print()
    #print(connection)

    return connection
Beispiel #2
0
 def _connect(self):
     user_id = None
     if self.user_id and self.user_id > 0:
         user_id = self.user_id
     self.client = odoolib.get_connection(hostname=self.host,
                                          port=self.port,
                                          database=self.database,
                                          login=self.login,
                                          password=self.password,
                                          protocol=self.protocol,
                                          user_id=user_id)
     self.client.check_login(force=False)
Beispiel #3
0
def get_server_connection(config_file):
    config = ConfigParser.RawConfigParser({'protocol' : 'xmlrpc', 'port' : 8069})
    config.read(config_file)

    hostname = config.get('Connection', 'hostname')
    database = config.get('Connection', 'database')
    login = config.get('Connection', 'login')
    password = config.get('Connection', 'password')
    protocol = config.get('Connection', 'protocol')
    port = int(config.get('Connection', 'port'))
    uid = int(config.get('Connection', 'uid'))
    return odoolib.get_connection(hostname=hostname, database=database, login=login, password=password, protocol=protocol, port=port, user_id=uid)
Beispiel #4
0
def read_data(url,
              port,
              database,
              login,
              password,
              model,
              fields,
              domain,
              firstrow=None):
    """Read an odoo model.

    `url`: URL of the odoo instance.

    `database`: name of the database.

    `model`: name of the odoo model in dot-notaion (ej `res.partner`).

    `fields`: list of field names.

    `domain`: list of tuples with odoo domain expression.

    `firstrow`: string overriding odoo's header row.

    Returns list (rows) of lists (columns) of the fetched data.
    """
    connection = odoolib.get_connection(
        hostname=url,
        port=port,
        database=database,
        login=login,
        password=password,
    )
    connection.get_user_context()
    model = connection.get_model(model)
    ids = model.search(domain)
    table_list = model.export_data(ids,
                                   fields,
                                   context=dict(connection.user_context or {},
                                                import_compat=False))["datas"]

    if not table_list:
        raise EmptyTableError

    if firstrow:
        with io.StringIO(firstrow) as f:
            rows = [row for row in csv.reader(f)]
            if not len(rows) == 1:
                raise MoreThanHeaderContentError
            table_list.insert(0, rows[0])
    return table_list
Beispiel #5
0
def get_server_connection(config_file):
    config = ConfigParser.RawConfigParser({'protocol': 'xmlrpc', 'port': 8069})
    config.read(config_file)

    hostname = config.get('Connection', 'hostname')
    database = config.get('Connection', 'database')
    login = config.get('Connection', 'login')
    password = config.get('Connection', 'password')
    protocol = config.get('Connection', 'protocol')
    port = int(config.get('Connection', 'port'))
    uid = int(config.get('Connection', 'uid'))
    return odoolib.get_connection(hostname=hostname,
                                  database=database,
                                  login=login,
                                  password=password,
                                  protocol=protocol,
                                  port=port,
                                  user_id=uid)
Beispiel #6
0
def connection(database, hostname=None, port=None, login=None, password=None):
    parser = SafeConfigParser()
    pwd = os.environ.get('ETL_INI_CONFIG_PWD', False) or os.environ['PWD']
    filename = os.path.join(pwd, 'config', 'etl.ini')
    if not os.path.exists(filename):
        filename = os.path.join(os.path.dirname(__file__), 'config.ini')
    parser.read(filename)
    if hostname is None:
        hostname = parser.get(database, 'host')
    if port is None:
        port = parser.getint(database, 'port')
    if login is None:
        login = parser.get(database, 'username')
    if password is None:
        password = parser.get(database, 'password')

    return odoolib.get_connection(hostname=hostname,
                                  port=port,
                                  database=database,
                                  login=login,
                                  password=password)
import odoolib
import re


connection = odoolib.get_connection(
    hostname="www.odoo.com",
    database="openerp",
    login="******",
    port=443,
    password="******",
    protocol='jsonrpcs',
)

task_model = connection.get_model("project.task")
sub_model = connection.get_model("sale.subscription")
sub_line_model = connection.get_model("sale.subscription.line")
product_model = connection.get_model("product.product")
partner_model = connection.get_model("res.partner")
odoo_database_model = connection.get_model("openerp.enterprise.database")
tag_model = connection.get_model("project.tags")

print("===CREATE CUSTOM BE PARENT===")

## PART 1 : CHECK TASKS
upgrade_issues = task_model.search_read([('project_id', '=', 4157),('stage_id', 'not in', (373, 365)), ('create_date', '>', '2021-04-15'),
                                        ('mnt_subscription_id', '!=', False), ('parent_id', '=', False)],
                                        ["partner_id", "id", "name", "mnt_subscription_id", "enterprise_subscription_ids", "description", "create_date",
                                        "project_id", "user_id", "tag_ids", "parent_id", "reviewer_id"])


print(len(upgrade_issues))
Beispiel #8
0
#!/usr/bin/env python3
from odoolib import get_connection
import base64

connection = get_connection(hostname="localhost",
                            database='report',
                            port=8069,
                            login='******',
                            password='******',
                            protocol='jsonrpc')

model_data = connection.get_model('ir.model.data')
#Get id of the report action
report_model, report_id = model_data.get_object_reference(
    'sale', 'action_report_saleorder')
#get a demo data
_, sale_order_id = model_data.get_object_reference('sale', 'sale_order_7')

report = connection.get_model(report_model)
res = report.render_rpc(report_id, sale_order_id, False)

outfile = open('sale.pdf', 'wb')
outfile.write(base64.b64decode(res[0]))
outfile.close()
Beispiel #9
0
import odoolib

connection = odoolib.get_connection(hostname="localhost",
                                    database="my_db",
                                    login="******",
                                    password="******")
user_model = connection.get_model("academy.course")
ids = user_model.search([])
user_info = user_model.read(ids[0], ["name"])
print(user_info["name"])
Beispiel #10
0
#!/usr/bin/python3

api_key = "5b3ce3597851110001cf6248209f07136a7a44c0be17479e56a02c78"

theURL = "https://api.openrouteservice.org/v2/directions/driving-car?api_key=5b3ce3597851110001cf6248209f07136a7a44c0be17479e56a02c78&start=8.681495,49.41461&end=8.687872,49.420318"

######################
### Odoo JSON:

import odoolib
connection = odoolib.get_connection(hostname="localhost", port=8013, protocol="jsonrpc", database="odoo13_dirscache", login="******", password="******")
user_model = connection.get_model("directions.route.request")
user_model.get_route(8.681495000, 49.414610000, 8.687872000, 49.420318000)

######################

wget "http://localhost:8013/jsonrpc" --post-data '{"jsonrpc": "2.0", "method": "call", "params": {"service": "common", "method": "login", "args": ["odoo13_dirscache", "admin", "admin"] }, "id": 124658997 }' -O- --save-headers --header="Content-Type: application/json" -o /dev/null

######################
POST /jsonrpc HTTP/1.1
User-Agent: Wget/1.19.4 (linux-gnu)
Accept: */*
Accept-Encoding: identity
Host: localhost:8013
Connection: Keep-Alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 155

{"jsonrpc": "2.0", "method": "call", "params": {"service": "common", "method": "login", "args": ["odoo13_dirscache", "admin", "admin"] }, "id": 124658997 }

HTTP/1.0 400 BAD REQUEST
Beispiel #11
0
print("hello Odoo 13")

import odoolib

#informations to edite *************************************************************************************************
hostname = "edu-odoo13en.odoo.com"  #server url
database = "edu-odoo13en"  #domaine name
login = "******"  # administrator login (create the object)
password = '******'
########################################################################################################################

#connection
connection = odoolib.get_connection(hostname=hostname,
                                    database=database,
                                    login=login,
                                    password=password,
                                    port=443,
                                    protocol="jsonrpcs")

#ask for country_id
country_model = connection.get_model('res.country')
ch_id = country_model.search([('name', '=', 'Switzerland')])[0]

print(ch_id)

## works create user
#partner_model = connection.get_model('res.partner')
#a_turner = partner_model.create({
# 	'name': 'okok okok',
# 	'street': 'Avenue du Peyrou 8',
# 	'zip': '2000',
Beispiel #12
0
 def _conn(self, protocol):
     return odoolib.get_connection(hostname="localhost",
                                   protocol=protocol,
                                   database="test",
                                   login="******",
                                   password="******")
Beispiel #13
0
# -*- coding: utf-8 -*-

# This script gives you a basic connection to the odoo server with the provided credentials
from os import environ
import odoolib

con = odoolib.get_connection(
    hostname=environ["ODOO_HOST"],
    database=environ["ODOO_DATABASE"],
    login=environ["ODOO_LOGIN"],
    password=environ["ODOO_PASSWORD"],
    port=int(environ["ODOO_PORT"]),
)