Vo Minh Thu (OpenERP) has proposed merging lp:~openerp-dev/openobject-server/trunk-reexport-thu into lp:openobject-server.
Requested reviews: OpenERP Core Team (openerp) For more details, see: https://code.launchpad.net/~openerp-dev/openobject-server/trunk-reexport-thu/+merge/146372 Time for some bikeshedding: # 0 from openerp import * class res_user(Model): _columns = { 'name': Char() } # 1 from openerp import exceptions, fields, models class res_user(models.Model): _columns = { 'name': fields.Char() } # 2 import openerp class res_user(openerp.Model): _columns = { 'name': openerp.Char() } # 3 import openerp class res_user(openerp.models.Model): _columns = { 'name': openerp.fields.Char() } I think I like #1: openerp is not just an orm, so having openerp re-exporting the (admitedly commonly used) Model, Char, ... symbols seems to stress too much the orm side. We also have openerp.exceptions which provides Warning, AccessDenied, AccessError. I like those to be on the same level as Model, Char, ... (which is the case when openerp.models lives side by side with openerp.fields). But openerp is also about the workflows, the WSGI stack, import/export, reporting, maybe about process monitoring (I wish it was not), ... and really the use of models.Model, and fields.Char is just a few more characters among thousands of lines. Thoughts? -- https://code.launchpad.net/~openerp-dev/openobject-server/trunk-reexport-thu/+merge/146372 Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/trunk-reexport-thu.
=== modified file 'openerp/__init__.py' --- openerp/__init__.py 2013-01-18 15:32:35 +0000 +++ openerp/__init__.py 2013-02-04 10:00:38 +0000 @@ -29,6 +29,8 @@ import cli import conf import loglevels +import fields +import models import modules import netsvc import osv @@ -55,4 +57,3 @@ evented = False # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: - === added file 'openerp/fields.py' --- openerp/fields.py 1970-01-01 00:00:00 +0000 +++ openerp/fields.py 2013-02-04 10:00:38 +0000 @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +# Re-export (before we move things around properly). +from openerp.osv.fields import \ + Boolean, \ + Integer, \ + Reference, \ + Char, \ + Text, \ + Html, \ + Float, \ + Date, \ + DateTime, \ + Binary, \ + Selection, \ + ManyToOne, \ + OneToMany, \ + ManyToMany, \ + Function, \ + Related, \ + Sparse, \ + Serialized, \ + Property + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: === added file 'openerp/models.py' --- openerp/models.py 1970-01-01 00:00:00 +0000 +++ openerp/models.py 2013-02-04 10:00:38 +0000 @@ -0,0 +1,7 @@ +# -*- coding: utf-8 -*- + +# Re-export (before we move things around properly). +from openerp.osv.orm import Model, TransientModel, AbstractModel +from . import fields + +# vim:expandtab:smartindent:tabstop\4:softtabstop\4:shiftwidth\4: === modified file 'openerp/osv/fields.py' --- openerp/osv/fields.py 2013-01-11 17:57:17 +0000 +++ openerp/osv/fields.py 2013-02-04 10:00:38 +0000 @@ -41,7 +41,7 @@ import pytz import re import xmlrpclib -from psycopg2 import Binary +import psycopg2 import openerp import openerp.tools as tools @@ -376,7 +376,7 @@ # unicode in some circumstances, hence the str() cast in symbol_f. # This str coercion will only work for pure ASCII unicode strings, # on purpose - non base64 data must be passed as a 8bit byte strings. - _symbol_f = lambda symb: symb and Binary(str(symb)) or None + _symbol_f = lambda symb: symb and psycopg2.Binary(str(symb)) or None _symbol_set = (_symbol_c, _symbol_f) _symbol_get = lambda self, x: x and str(x) @@ -1572,5 +1572,26 @@ self.__class__.__name__, self.name, self.column, self.parent_model, self.parent_column, self.original_parent) +# Synonyms, to match the naming convention of Model, TransientModel, and AbstractModel +Boolean = boolean +Integer = integer +Reference = reference +Char = char +Text = text +Html = html +Float = float +Date = date +DateTime = datetime +Binary = binary +Selection = selection +ManyToOne = many2one +OneToMany = one2many +ManyToMany = many2many +Function = function +Related = related +Sparse = sparse +Serialized = serialized +Property = property + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: === modified file 'openerp/tests/addons/test_uninstall/models.py' --- openerp/tests/addons/test_uninstall/models.py 2012-06-01 15:45:44 +0000 +++ openerp/tests/addons/test_uninstall/models.py 2013-02-04 10:00:38 +0000 @@ -1,9 +1,8 @@ # -*- coding: utf-8 -*- import openerp -from openerp.osv import fields -from openerp.osv.orm import Model +from openerp import fields, models -class test_uninstall_model(Model): +class test_uninstall_model(models.Model): """ This model uses different types of columns to make it possible to test the uninstall feature of OpenERP. @@ -11,9 +10,9 @@ _name = 'test_uninstall.model' _columns = { - 'name': fields.char('Name', size=64), - 'ref': fields.many2one('res.users', string='User'), - 'rel': fields.many2many('res.users', string='Users'), + 'name': fields.Char('Name', size=64), + 'ref': fields.ManyToOne('res.users', string='User'), + 'rel': fields.ManyToMany('res.users', string='Users'), } _sql_constraints = [
_______________________________________________ Mailing list: https://launchpad.net/~openerp-dev-gtk Post to : openerp-dev-gtk@lists.launchpad.net Unsubscribe : https://launchpad.net/~openerp-dev-gtk More help : https://help.launchpad.net/ListHelp