This commit is contained in:
Trinh Anh Ngoc
2020-03-21 22:03:55 +07:00
parent 5be35c2c40
commit 8fa2b0f257
7 changed files with 75 additions and 0 deletions

1
.gitignore vendored
View File

@@ -127,3 +127,4 @@ dmypy.json
# Pyre type checker # Pyre type checker
.pyre/ .pyre/
.idea/

1
pydevd_odoo/__init__.py Normal file
View File

@@ -0,0 +1 @@
from . import pydevd_plugins

View File

@@ -0,0 +1,5 @@
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)

View File

@@ -0,0 +1,5 @@
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)

View File

@@ -0,0 +1,5 @@
try:
__import__('pkg_resources').declare_namespace(__name__)
except ImportError:
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)

View File

@@ -0,0 +1,45 @@
import sys
from collections import OrderedDict
from _pydevd_bundle.pydevd_extension_api import TypeResolveProvider, StrPresentationProvider
from _pydevd_bundle.pydevd_resolver import defaultResolver
class OdooRecordSetProvider(object):
def can_provide(self, type_object, type_name):
try:
from odoo import models
return isinstance(type_object, models.MetaModel)
except:
return False
def resolve(self, obj, attr):
try:
_id = int(attr)
except:
return getattr(obj, attr)
else:
return obj[_id]
def get_dictionary(self, obj):
if len(obj) > 1:
d = OrderedDict()
for idx, r in enumerate(obj):
d[str(idx)] = r
return d
return defaultResolver.get_dictionary(obj)
def get_str(self, val):
if not val:
return ''
s = str(val.ids)
if len(val) == 1:
name = getattr(val, 'name')
if name:
s += '%s' % name
return s
if not sys.platform.startswith("java"):
TypeResolveProvider.register(OdooRecordSetProvider)
StrPresentationProvider.register(OdooRecordSetProvider)

13
setup.py Normal file
View File

@@ -0,0 +1,13 @@
from setuptools import setup, find_packages
setup(
name='pydevd-odoo',
version='0.1',
description='PyDev.Debugger plugin for Odoo',
url='https://github.com/trinhanhngoc/pydevd-odoo',
author='Trinh Anh Ngoc',
author_email='atw1990@gmail.com',
packages=find_packages(),
license='MIT',
long_description=open('README.md').read(),
)