Skip to content

Commit 8fa2b0f

Browse files
committed
Hello
1 parent 5be35c2 commit 8fa2b0f

File tree

7 files changed

+75
-0
lines changed

7 files changed

+75
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,4 @@ dmypy.json
127127

128128
# Pyre type checker
129129
.pyre/
130+
.idea/

pydevd_odoo/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import pydevd_plugins
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
try:
2+
__import__('pkg_resources').declare_namespace(__name__)
3+
except ImportError:
4+
import pkgutil
5+
__path__ = pkgutil.extend_path(__path__, __name__)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
try:
2+
__import__('pkg_resources').declare_namespace(__name__)
3+
except ImportError:
4+
import pkgutil
5+
__path__ = pkgutil.extend_path(__path__, __name__)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
try:
2+
__import__('pkg_resources').declare_namespace(__name__)
3+
except ImportError:
4+
import pkgutil
5+
__path__ = pkgutil.extend_path(__path__, __name__)
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import sys
2+
from collections import OrderedDict
3+
4+
from _pydevd_bundle.pydevd_extension_api import TypeResolveProvider, StrPresentationProvider
5+
from _pydevd_bundle.pydevd_resolver import defaultResolver
6+
7+
8+
class OdooRecordSetProvider(object):
9+
def can_provide(self, type_object, type_name):
10+
try:
11+
from odoo import models
12+
return isinstance(type_object, models.MetaModel)
13+
except:
14+
return False
15+
16+
def resolve(self, obj, attr):
17+
try:
18+
_id = int(attr)
19+
except:
20+
return getattr(obj, attr)
21+
else:
22+
return obj[_id]
23+
24+
def get_dictionary(self, obj):
25+
if len(obj) > 1:
26+
d = OrderedDict()
27+
for idx, r in enumerate(obj):
28+
d[str(idx)] = r
29+
return d
30+
return defaultResolver.get_dictionary(obj)
31+
32+
def get_str(self, val):
33+
if not val:
34+
return ''
35+
s = str(val.ids)
36+
if len(val) == 1:
37+
name = getattr(val, 'name')
38+
if name:
39+
s += ' ⇨ %s' % name
40+
return s
41+
42+
43+
if not sys.platform.startswith("java"):
44+
TypeResolveProvider.register(OdooRecordSetProvider)
45+
StrPresentationProvider.register(OdooRecordSetProvider)

setup.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from setuptools import setup, find_packages
2+
3+
setup(
4+
name='pydevd-odoo',
5+
version='0.1',
6+
description='PyDev.Debugger plugin for Odoo',
7+
url='https://github.com/trinhanhngoc/pydevd-odoo',
8+
author='Trinh Anh Ngoc',
9+
author_email='atw1990@gmail.com',
10+
packages=find_packages(),
11+
license='MIT',
12+
long_description=open('README.md').read(),
13+
)

0 commit comments

Comments
 (0)