~openerp-community/openerp-tools/erppeek

« back to all changes in this revision

Viewing changes to erppeek.py

  • Committer: Florent Xicluna
  • Date: 2015-09-16 19:33:43 UTC
  • mfrom: (306.1.1)
  • Revision ID: git-v1:2bddff37cb46ea54e8822fa68d605196058c0e12
Merge pull request #71 from tinyerp/optional-transport

Show diffs side-by-side

added added

removed removed

Lines of Context:
346
346
    _rpcpath = ''
347
347
    _methods = ()
348
348
 
349
 
    def __init__(self, server, endpoint, methods, verbose=False):
 
349
    def __init__(self, server, endpoint, methods,
 
350
                 transport=None, verbose=False):
350
351
        if isinstance(server, basestring):
351
352
            self._rpcpath = rpcpath = server + '/xmlrpc/'
352
 
            proxy = ServerProxy(rpcpath + endpoint, allow_none=True)
353
 
            self._dispatch = proxy._ServerProxy__request
 
353
            proxy = ServerProxy(rpcpath + endpoint,
 
354
                                transport=transport, allow_none=True)
354
355
            if hasattr(proxy._ServerProxy__transport, 'close'):   # >= 2.7
355
356
                self.close = proxy._ServerProxy__transport.close
 
357
            self._dispatch = proxy._ServerProxy__request
356
358
        elif server._api_v7:
357
359
            proxy = server.netsvc.ExportService.getService(endpoint)
358
360
            self._dispatch = proxy.dispatch
419
421
    _config_file = os.path.join(os.curdir, CONF_FILE)
420
422
 
421
423
    def __init__(self, server, db=None, user=None, password=None,
422
 
                 verbose=False):
 
424
                 transport=None, verbose=False):
423
425
        if isinstance(server, basestring) and server[-1:] == '/':
424
426
            server = server.rstrip('/')
425
427
        elif isinstance(server, list):
432
434
            methods = list(_methods[name]) if (name in _methods) else []
433
435
            if float_version < 8.0:
434
436
                methods += _obsolete_methods.get(name) or ()
435
 
            return Service(server, name, methods, verbose=verbose)
 
437
            return Service(server, name, methods, transport, verbose=verbose)
436
438
        self.server_version = ver = get_proxy('db').server_version()
437
439
        self.major_version = re.match('\d+\.?\d*', ver).group()
438
440
        float_version = float(self.major_version)