Merge lp:~bstanciu/openobject-server/trunk-dev into lp:openobject-server

Proposed by Bogdan Stanciu
Status: Rejected
Rejected by: Vo Minh Thu
Proposed branch: lp:~bstanciu/openobject-server/trunk-dev
Merge into: lp:openobject-server
Diff against target: 1520 lines (+412/-413)
46 files modified
MANIFEST.in (+6/-6)
openerp-server.py (+0/-258)
openerp/addons/__init__.py (+9/-9)
openerp/ir/ir.py (+2/-2)
openerp/openerp-server.py (+258/-0)
openerp/osv/expression.py (+1/-1)
openerp/osv/fields.py (+3/-3)
openerp/osv/orm.py (+6/-6)
openerp/osv/osv.py (+4/-4)
openerp/pooler.py (+4/-4)
openerp/report/__init__.py (+1/-1)
openerp/report/custom.py (+8/-8)
openerp/report/interface.py (+4/-4)
openerp/report/print_xml.py (+5/-5)
openerp/report/printscreen/ps_form.py (+4/-4)
openerp/report/printscreen/ps_list.py (+5/-5)
openerp/report/render/html2html/html2html.py (+2/-2)
openerp/report/render/makohtml2html/makohtml2html.py (+1/-1)
openerp/report/render/odt2odt/odt2odt.py (+1/-1)
openerp/report/render/rml2html/rml2html.py (+1/-1)
openerp/report/render/rml2pdf/customfonts.py (+1/-1)
openerp/report/render/rml2pdf/trml2pdf.py (+2/-2)
openerp/report/render/rml2pdf/utils.py (+3/-3)
openerp/report/render/rml2txt/utils.py (+1/-1)
openerp/report/report_sxw.py (+4/-4)
openerp/service/http_server.py (+2/-2)
openerp/service/netrpc_server.py (+3/-3)
openerp/service/security.py (+2/-2)
openerp/service/web_services.py (+12/-12)
openerp/test/test_osv.py (+1/-1)
openerp/test/test_translate.py (+1/-1)
openerp/tools/amount_to_text_en.py (+1/-1)
openerp/tools/config.py (+3/-4)
openerp/tools/convert.py (+5/-5)
openerp/tools/misc.py (+4/-4)
openerp/tools/test_reports.py (+4/-4)
openerp/tools/translate.py (+3/-3)
openerp/tools/yaml_import.py (+3/-3)
openerp/wizard/__init__.py (+9/-9)
openerp/workflow/instance.py (+2/-2)
openerp/workflow/wkf_expr.py (+4/-4)
openerp/workflow/wkf_logs.py (+1/-1)
openerp/workflow/wkf_service.py (+2/-2)
openerp/workflow/workitem.py (+1/-1)
setup.cfg (+2/-2)
setup.py (+11/-11)
To merge this branch: bzr merge lp:~bstanciu/openobject-server/trunk-dev
Reviewer Review Type Date Requested Status
Vo Minh Thu (community) Disapprove
Review via email: mp+49150@code.launchpad.net

Commit message

repaired the setup process, broken due to misplacement of openerp-server.py file and wrong references.

Description of the change

repaired the setup process, broken due to misplacement of openerp-server.py file and wrong references.

To post a comment you must log in.
Revision history for this message
Vo Minh Thu (thu) wrote :

The bin to openerp renaming did cause problems in the setup.py and the setup.py itself was later corrected. So this branch is unnecessary now.

review: Disapprove

Unmerged revisions

3355. By Bogdan Stanciu

[FIX] repaired broken setup due to wrong references in various files.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'MANIFEST.in'
--- MANIFEST.in 2010-10-18 21:59:29 +0000
+++ MANIFEST.in 2011-02-09 22:36:08 +0000
@@ -3,15 +3,15 @@
3include MANIFEST.in3include MANIFEST.in
4include setup.nsi4include setup.nsi
5include setup.cfg5include setup.cfg
6include bin/import_xml.rng6include openerp/import_xml.rng
7include bin/server.cert7#include openerp/server.cert
8include bin/server.pkey8#include openerp/server.pkey
9include bin/gpl.txt9#include openerp/gpl.txt
10include man/openerp-server.110include man/openerp-server.1
11include man/openerp_serverrc.511include man/openerp_serverrc.5
12recursive-include pixmaps *12recursive-include pixmaps *
13recursive-include win32 *13recursive-include win32 *
14recursive-include doc *14recursive-include doc *
15recursive-include bin *xml *xsl *sql *rml *sxw *csv *rng15recursive-include openerp *xml *xsl *sql *rml *sxw *csv *rng
16graft bin/addons16graft openerp/addons
17global-exclude *pyc *~17global-exclude *pyc *~
1818
=== removed file 'openerp-server.py'
--- openerp-server.py 2011-02-08 09:29:23 +0000
+++ openerp-server.py 1970-01-01 00:00:00 +0000
@@ -1,258 +0,0 @@
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3##############################################################################
4#
5# OpenERP, Open Source Management Solution
6# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23"""
24OpenERP - Server
25OpenERP is an ERP+CRM program for small and medium businesses.
26
27The whole source code is distributed under the terms of the
28GNU Public Licence.
29
30(c) 2003-TODAY, Fabien Pinckaers - OpenERP s.a.
31"""
32
33#----------------------------------------------------------
34# python imports
35#----------------------------------------------------------
36import logging
37import os
38import signal
39import sys
40import threading
41import traceback
42
43import openerp.release as release
44__author__ = release.author
45__version__ = release.version
46
47if os.name == 'posix':
48 import pwd
49 # We DON't log this using the standard logger, because we might mess
50 # with the logfile's permissions. Just do a quick exit here.
51 if pwd.getpwuid(os.getuid())[0] == 'root' :
52 sys.stderr.write("Attempted to run OpenERP server as root. This is not good, aborting.\n")
53 sys.exit(1)
54
55#-----------------------------------------------------------------------
56# import the tools module so that the commandline parameters are parsed
57#-----------------------------------------------------------------------
58import openerp.tools as tools
59tools.config.parse_config(sys.argv[1:])
60
61#----------------------------------------------------------
62# get logger
63#----------------------------------------------------------
64import openerp.netsvc as netsvc
65netsvc.init_logger()
66logger = logging.getLogger('server')
67
68logger.info("OpenERP version - %s", release.version)
69for name, value in [('addons_path', tools.config['addons_path']),
70 ('database hostname', tools.config['db_host'] or 'localhost'),
71 ('database port', tools.config['db_port'] or '5432'),
72 ('database user', tools.config['db_user'])]:
73 logger.info("%s - %s", name, value)
74
75# Don't allow if the connection to PostgreSQL done by postgres user
76if tools.config['db_user'] == 'postgres':
77 logger.error("Connecting to the database as 'postgres' user is forbidden, as it present major security issues. Shutting down.")
78 sys.exit(1)
79
80import time
81
82#----------------------------------------------------------
83# init net service
84#----------------------------------------------------------
85logger.info('initialising distributed objects services')
86
87#---------------------------------------------------------------
88# connect to the database and initialize it with base if needed
89#---------------------------------------------------------------
90import openerp.pooler as pooler
91
92#----------------------------------------------------------
93# import basic modules
94#----------------------------------------------------------
95import openerp.osv as osv
96import openerp.workflow as workflow
97import openerp.report as report
98import openerp.service as service
99
100#----------------------------------------------------------
101# import addons
102#----------------------------------------------------------
103
104import openerp.addons as addons
105
106#----------------------------------------------------------
107# Load and update databases if requested
108#----------------------------------------------------------
109
110import openerp.service.http_server as service_http_server
111
112if not ( tools.config["stop_after_init"] or \
113 tools.config["translate_in"] or \
114 tools.config["translate_out"] ):
115 service_http_server.init_servers()
116 service_http_server.init_xmlrpc()
117 service_http_server.init_static_http()
118
119 import openerp.service.netrpc_server as service_netrpc_server
120 service_netrpc_server.init_servers()
121
122if tools.config['db_name']:
123 for dbname in tools.config['db_name'].split(','):
124 db,pool = pooler.get_db_and_pool(dbname, update_module=tools.config['init'] or tools.config['update'], pooljobs=False)
125 cr = db.cursor()
126
127 if tools.config["test_file"]:
128 logger.info('loading test file %s', tools.config["test_file"])
129 tools.convert_yaml_import(cr, 'base', file(tools.config["test_file"]), {}, 'test', True)
130 cr.rollback()
131
132 pool.get('ir.cron')._poolJobs(db.dbname)
133
134 cr.close()
135
136#----------------------------------------------------------
137# translation stuff
138#----------------------------------------------------------
139if tools.config["translate_out"]:
140 import csv
141
142 if tools.config["language"]:
143 msg = "language %s" % (tools.config["language"],)
144 else:
145 msg = "new language"
146 logger.info('writing translation file for %s to %s', msg, tools.config["translate_out"])
147
148 fileformat = os.path.splitext(tools.config["translate_out"])[-1][1:].lower()
149 buf = file(tools.config["translate_out"], "w")
150 dbname = tools.config['db_name']
151 cr = pooler.get_db(dbname).cursor()
152 tools.trans_export(tools.config["language"], tools.config["translate_modules"] or ["all"], buf, fileformat, cr)
153 cr.close()
154 buf.close()
155
156 logger.info('translation file written successfully')
157 sys.exit(0)
158
159if tools.config["translate_in"]:
160 context = {'overwrite': tools.config["overwrite_existing_translations"]}
161 dbname = tools.config['db_name']
162 cr = pooler.get_db(dbname).cursor()
163 tools.trans_load(cr,
164 tools.config["translate_in"],
165 tools.config["language"],
166 context=context)
167 tools.trans_update_res_ids(cr)
168 cr.commit()
169 cr.close()
170 sys.exit(0)
171
172#----------------------------------------------------------------------------------
173# if we don't want the server to continue to run after initialization, we quit here
174#----------------------------------------------------------------------------------
175if tools.config["stop_after_init"]:
176 sys.exit(0)
177
178
179#----------------------------------------------------------
180# Launch Servers
181#----------------------------------------------------------
182
183LST_SIGNALS = ['SIGINT', 'SIGTERM']
184
185SIGNALS = dict(
186 [(getattr(signal, sign), sign) for sign in LST_SIGNALS]
187)
188
189netsvc.quit_signals_received = 0
190
191def handler(signum, frame):
192 """
193 :param signum: the signal number
194 :param frame: the interrupted stack frame or None
195 """
196 netsvc.quit_signals_received += 1
197 if netsvc.quit_signals_received > 1:
198 sys.stderr.write("Forced shutdown.\n")
199 os._exit(0)
200
201def dumpstacks(signum, frame):
202 # code from http://stackoverflow.com/questions/132058/getting-stack-trace-from-a-running-python-application#answer-2569696
203 # modified for python 2.5 compatibility
204 thread_map = dict(threading._active, **threading._limbo)
205 id2name = dict([(threadId, thread.getName()) for threadId, thread in thread_map.items()])
206 code = []
207 for threadId, stack in sys._current_frames().items():
208 code.append("\n# Thread: %s(%d)" % (id2name[threadId], threadId))
209 for filename, lineno, name, line in traceback.extract_stack(stack):
210 code.append('File: "%s", line %d, in %s' % (filename, lineno, name))
211 if line:
212 code.append(" %s" % (line.strip()))
213 logging.getLogger('dumpstacks').info("\n".join(code))
214
215for signum in SIGNALS:
216 signal.signal(signum, handler)
217
218if os.name == 'posix':
219 signal.signal(signal.SIGQUIT, dumpstacks)
220
221def quit():
222 netsvc.Agent.quit()
223 netsvc.Server.quitAll()
224 if tools.config['pidfile']:
225 os.unlink(tools.config['pidfile'])
226 logger = logging.getLogger('shutdown')
227 logger.info("Initiating OpenERP Server shutdown")
228 logger.info("Hit CTRL-C again or send a second signal to immediately terminate the server...")
229 logging.shutdown()
230
231 # manually join() all threads before calling sys.exit() to allow a second signal
232 # to trigger _force_quit() in case some non-daemon threads won't exit cleanly.
233 # threading.Thread.join() should not mask signals (at least in python 2.5)
234 for thread in threading.enumerate():
235 if thread != threading.currentThread() and not thread.isDaemon():
236 while thread.isAlive():
237 # need a busyloop here as thread.join() masks signals
238 # and would present the forced shutdown
239 thread.join(0.05)
240 time.sleep(0.05)
241 sys.exit(0)
242
243if tools.config['pidfile']:
244 fd = open(tools.config['pidfile'], 'w')
245 pidtext = "%d" % (os.getpid())
246 fd.write(pidtext)
247 fd.close()
248
249netsvc.Server.startAll()
250
251logger.info('OpenERP server is running, waiting for connections...')
252
253while netsvc.quit_signals_received == 0:
254 time.sleep(60)
255
256quit()
257
258# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
2590
=== modified file 'openerp/addons/__init__.py'
--- openerp/addons/__init__.py 2011-02-08 13:27:19 +0000
+++ openerp/addons/__init__.py 2011-02-09 22:36:08 +0000
@@ -25,17 +25,17 @@
25import itertools25import itertools
26import zipimport26import zipimport
2727
28import openerp.osv as osv28import osv
29import openerp.tools as tools29import tools
30import openerp.tools.osutil as osutil30import tools.osutil as osutil
31from openerp.tools.safe_eval import safe_eval as eval31from tools.safe_eval import safe_eval as eval
32import openerp.pooler as pooler32import pooler
33from openerp.tools.translate import _33from tools.translate import _
3434
35import openerp.netsvc as netsvc35import netsvc
3636
37import zipfile37import zipfile
38import openerp.release as release38import release
3939
40import re40import re
41import base6441import base64
@@ -569,7 +569,7 @@
569 a.update(b)569 a.update(b)
570 return a570 return a
571571
572 from openerp.tools.parse_version import parse_version572 from tools.parse_version import parse_version
573573
574 parsed_installed_version = parse_version(pkg.installed_version or '')574 parsed_installed_version = parse_version(pkg.installed_version or '')
575 current_version = parse_version(convert_version(pkg.data.get('version', '0')))575 current_version = parse_version(convert_version(pkg.data.get('version', '0')))
576576
=== modified file 'openerp/ir/ir.py'
--- openerp/ir/ir.py 2011-02-07 12:57:23 +0000
+++ openerp/ir/ir.py 2011-02-09 22:36:08 +0000
@@ -20,8 +20,8 @@
20##############################################################################20##############################################################################
2121
22import pickle22import pickle
23import openerp.osv as osv23import osv
24import openerp.pooler as pooler24import pooler
2525
26def ir_set(cr, uid, key, key2, name, models, value, replace=True, isobject=False, meta=None):26def ir_set(cr, uid, key, key2, name, models, value, replace=True, isobject=False, meta=None):
27 obj = pooler.get_pool(cr.dbname).get('ir.values')27 obj = pooler.get_pool(cr.dbname).get('ir.values')
2828
=== added file 'openerp/openerp-server.py'
--- openerp/openerp-server.py 1970-01-01 00:00:00 +0000
+++ openerp/openerp-server.py 2011-02-09 22:36:08 +0000
@@ -0,0 +1,258 @@
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3##############################################################################
4#
5# OpenERP, Open Source Management Solution
6# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23"""
24OpenERP - Server
25OpenERP is an ERP+CRM program for small and medium businesses.
26
27The whole source code is distributed under the terms of the
28GNU Public Licence.
29
30(c) 2003-TODAY, Fabien Pinckaers - OpenERP s.a.
31"""
32
33#----------------------------------------------------------
34# python imports
35#----------------------------------------------------------
36import logging
37import os
38import signal
39import sys
40import threading
41import traceback
42
43import release
44__author__ = release.author
45__version__ = release.version
46
47if os.name == 'posix':
48 import pwd
49 # We DON't log this using the standard logger, because we might mess
50 # with the logfile's permissions. Just do a quick exit here.
51 if pwd.getpwuid(os.getuid())[0] == 'root' :
52 sys.stderr.write("Attempted to run OpenERP server as root. This is not good, aborting.\n")
53 sys.exit(1)
54
55#-----------------------------------------------------------------------
56# import the tools module so that the commandline parameters are parsed
57#-----------------------------------------------------------------------
58import tools
59tools.config.parse_config(sys.argv[1:])
60
61#----------------------------------------------------------
62# get logger
63#----------------------------------------------------------
64import netsvc
65netsvc.init_logger()
66logger = logging.getLogger('server')
67
68logger.info("OpenERP version - %s", release.version)
69for name, value in [('addons_path', tools.config['addons_path']),
70 ('database hostname', tools.config['db_host'] or 'localhost'),
71 ('database port', tools.config['db_port'] or '5432'),
72 ('database user', tools.config['db_user'])]:
73 logger.info("%s - %s", name, value)
74
75# Don't allow if the connection to PostgreSQL done by postgres user
76if tools.config['db_user'] == 'postgres':
77 logger.error("Connecting to the database as 'postgres' user is forbidden, as it present major security issues. Shutting down.")
78 sys.exit(1)
79
80import time
81
82#----------------------------------------------------------
83# init net service
84#----------------------------------------------------------
85logger.info('initialising distributed objects services')
86
87#---------------------------------------------------------------
88# connect to the database and initialize it with base if needed
89#---------------------------------------------------------------
90import pooler
91
92#----------------------------------------------------------
93# import basic modules
94#----------------------------------------------------------
95import osv
96import workflow
97import report
98import service
99
100#----------------------------------------------------------
101# import addons
102#----------------------------------------------------------
103
104import addons
105
106#----------------------------------------------------------
107# Load and update databases if requested
108#----------------------------------------------------------
109
110import service.http_server as service_http_server
111
112if not ( tools.config["stop_after_init"] or \
113 tools.config["translate_in"] or \
114 tools.config["translate_out"] ):
115 service_http_server.init_servers()
116 service_http_server.init_xmlrpc()
117 service_http_server.init_static_http()
118
119 import service.netrpc_server as service_netrpc_server
120 service_netrpc_server.init_servers()
121
122if tools.config['db_name']:
123 for dbname in tools.config['db_name'].split(','):
124 db,pool = pooler.get_db_and_pool(dbname, update_module=tools.config['init'] or tools.config['update'], pooljobs=False)
125 cr = db.cursor()
126
127 if tools.config["test_file"]:
128 logger.info('loading test file %s', tools.config["test_file"])
129 tools.convert_yaml_import(cr, 'base', file(tools.config["test_file"]), {}, 'test', True)
130 cr.rollback()
131
132 pool.get('ir.cron')._poolJobs(db.dbname)
133
134 cr.close()
135
136#----------------------------------------------------------
137# translation stuff
138#----------------------------------------------------------
139if tools.config["translate_out"]:
140 import csv
141
142 if tools.config["language"]:
143 msg = "language %s" % (tools.config["language"],)
144 else:
145 msg = "new language"
146 logger.info('writing translation file for %s to %s', msg, tools.config["translate_out"])
147
148 fileformat = os.path.splitext(tools.config["translate_out"])[-1][1:].lower()
149 buf = file(tools.config["translate_out"], "w")
150 dbname = tools.config['db_name']
151 cr = pooler.get_db(dbname).cursor()
152 tools.trans_export(tools.config["language"], tools.config["translate_modules"] or ["all"], buf, fileformat, cr)
153 cr.close()
154 buf.close()
155
156 logger.info('translation file written successfully')
157 sys.exit(0)
158
159if tools.config["translate_in"]:
160 context = {'overwrite': tools.config["overwrite_existing_translations"]}
161 dbname = tools.config['db_name']
162 cr = pooler.get_db(dbname).cursor()
163 tools.trans_load(cr,
164 tools.config["translate_in"],
165 tools.config["language"],
166 context=context)
167 tools.trans_update_res_ids(cr)
168 cr.commit()
169 cr.close()
170 sys.exit(0)
171
172#----------------------------------------------------------------------------------
173# if we don't want the server to continue to run after initialization, we quit here
174#----------------------------------------------------------------------------------
175if tools.config["stop_after_init"]:
176 sys.exit(0)
177
178
179#----------------------------------------------------------
180# Launch Servers
181#----------------------------------------------------------
182
183LST_SIGNALS = ['SIGINT', 'SIGTERM']
184
185SIGNALS = dict(
186 [(getattr(signal, sign), sign) for sign in LST_SIGNALS]
187)
188
189netsvc.quit_signals_received = 0
190
191def handler(signum, frame):
192 """
193 :param signum: the signal number
194 :param frame: the interrupted stack frame or None
195 """
196 netsvc.quit_signals_received += 1
197 if netsvc.quit_signals_received > 1:
198 sys.stderr.write("Forced shutdown.\n")
199 os._exit(0)
200
201def dumpstacks(signum, frame):
202 # code from http://stackoverflow.com/questions/132058/getting-stack-trace-from-a-running-python-application#answer-2569696
203 # modified for python 2.5 compatibility
204 thread_map = dict(threading._active, **threading._limbo)
205 id2name = dict([(threadId, thread.getName()) for threadId, thread in thread_map.items()])
206 code = []
207 for threadId, stack in sys._current_frames().items():
208 code.append("\n# Thread: %s(%d)" % (id2name[threadId], threadId))
209 for filename, lineno, name, line in traceback.extract_stack(stack):
210 code.append('File: "%s", line %d, in %s' % (filename, lineno, name))
211 if line:
212 code.append(" %s" % (line.strip()))
213 logging.getLogger('dumpstacks').info("\n".join(code))
214
215for signum in SIGNALS:
216 signal.signal(signum, handler)
217
218if os.name == 'posix':
219 signal.signal(signal.SIGQUIT, dumpstacks)
220
221def quit():
222 netsvc.Agent.quit()
223 netsvc.Server.quitAll()
224 if tools.config['pidfile']:
225 os.unlink(tools.config['pidfile'])
226 logger = logging.getLogger('shutdown')
227 logger.info("Initiating OpenERP Server shutdown")
228 logger.info("Hit CTRL-C again or send a second signal to immediately terminate the server...")
229 logging.shutdown()
230
231 # manually join() all threads before calling sys.exit() to allow a second signal
232 # to trigger _force_quit() in case some non-daemon threads won't exit cleanly.
233 # threading.Thread.join() should not mask signals (at least in python 2.5)
234 for thread in threading.enumerate():
235 if thread != threading.currentThread() and not thread.isDaemon():
236 while thread.isAlive():
237 # need a busyloop here as thread.join() masks signals
238 # and would present the forced shutdown
239 thread.join(0.05)
240 time.sleep(0.05)
241 sys.exit(0)
242
243if tools.config['pidfile']:
244 fd = open(tools.config['pidfile'], 'w')
245 pidtext = "%d" % (os.getpid())
246 fd.write(pidtext)
247 fd.close()
248
249netsvc.Server.startAll()
250
251logger.info('OpenERP server is running, waiting for connections...')
252
253while netsvc.quit_signals_received == 0:
254 time.sleep(60)
255
256quit()
257
258# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
0259
=== modified file 'openerp/osv/expression.py'
--- openerp/osv/expression.py 2011-02-07 12:57:23 +0000
+++ openerp/osv/expression.py 2011-02-09 22:36:08 +0000
@@ -20,7 +20,7 @@
20#20#
21##############################################################################21##############################################################################
2222
23from openerp.tools import flatten, reverse_enumerate23from tools import flatten, reverse_enumerate
24import fields24import fields
2525
2626
2727
=== modified file 'openerp/osv/fields.py'
--- openerp/osv/fields.py 2011-02-07 12:57:23 +0000
+++ openerp/osv/fields.py 2011-02-09 22:36:08 +0000
@@ -38,9 +38,9 @@
38import xmlrpclib38import xmlrpclib
39from psycopg2 import Binary39from psycopg2 import Binary
4040
41import openerp.netsvc as netsvc41import netsvc
42import openerp.tools as tools42import tools
43from openerp.tools.translate import _43from tools.translate import _
4444
45def _symbol_set(symb):45def _symbol_set(symb):
46 if symb == None or symb == False:46 if symb == None or symb == False:
4747
=== modified file 'openerp/osv/orm.py'
--- openerp/osv/orm.py 2011-02-08 16:49:23 +0000
+++ openerp/osv/orm.py 2011-02-09 22:36:08 +0000
@@ -49,18 +49,18 @@
49import traceback49import traceback
50import types50import types
5151
52import openerp.netsvc as netsvc52import netsvc
53from lxml import etree53from lxml import etree
54from openerp.tools.config import config54from tools.config import config
55from openerp.tools.translate import _55from tools.translate import _
5656
57import fields57import fields
58from query import Query58from query import Query
59import openerp.tools as tools59import tools
60from openerp.tools.safe_eval import safe_eval as eval60from tools.safe_eval import safe_eval as eval
6161
62# List of etree._Element subclasses that we choose to ignore when parsing XML.62# List of etree._Element subclasses that we choose to ignore when parsing XML.
63from openerp.tools import SKIPPED_ELEMENT_TYPES63from tools import SKIPPED_ELEMENT_TYPES
6464
65regex_order = re.compile('^(([a-z0-9_]+|"[a-z0-9_]+")( *desc| *asc)?( *, *|))+$', re.I)65regex_order = re.compile('^(([a-z0-9_]+|"[a-z0-9_]+")( *desc| *asc)?( *, *|))+$', re.I)
6666
6767
=== modified file 'openerp/osv/osv.py'
--- openerp/osv/osv.py 2011-02-07 12:57:23 +0000
+++ openerp/osv/osv.py 2011-02-09 22:36:08 +0000
@@ -24,13 +24,13 @@
24#24#
2525
26import orm26import orm
27import openerp.netsvc as netsvc27import netsvc
28import openerp.pooler as pooler28import pooler
29import copy29import copy
30import logging30import logging
31from psycopg2 import IntegrityError, errorcodes31from psycopg2 import IntegrityError, errorcodes
32from openerp.tools.func import wraps32from tools.func import wraps
33from openerp.tools.translate import translate33from tools.translate import translate
3434
35module_list = []35module_list = []
36module_class_list = {}36module_class_list = {}
3737
=== modified file 'openerp/pooler.py'
--- openerp/pooler.py 2011-02-07 12:57:23 +0000
+++ openerp/pooler.py 2011-02-09 22:36:08 +0000
@@ -30,8 +30,8 @@
30 if db_name in pool_dic:30 if db_name in pool_dic:
31 pool = pool_dic[db_name]31 pool = pool_dic[db_name]
32 else:32 else:
33 import openerp.addons as addons33 import addons
34 import openerp.osv.osv as osv_osv34 import osv.osv as osv_osv
35 pool = osv_osv.osv_pool()35 pool = osv_osv.osv_pool()
36 pool_dic[db_name] = pool36 pool_dic[db_name] = pool
3737
@@ -65,8 +65,8 @@
65 # do not put this import outside this function65 # do not put this import outside this function
66 # sql_db must not be loaded before the logger is initialized.66 # sql_db must not be loaded before the logger is initialized.
67 # sql_db import psycopg2.tool which create a default logger if there is not.67 # sql_db import psycopg2.tool which create a default logger if there is not.
68 # this resulting of having the logs outputed twice...68 # this resulting of having the logs output twice...
69 import openerp.sql_db as sql_db69 import sql_db
70 db = sql_db.db_connect(db_name)70 db = sql_db.db_connect(db_name)
71 return db71 return db
7272
7373
=== modified file 'openerp/report/__init__.py'
--- openerp/report/__init__.py 2011-02-07 12:57:23 +0000
+++ openerp/report/__init__.py 2011-02-09 22:36:08 +0000
@@ -24,7 +24,7 @@
24import print_fnc24import print_fnc
25import custom25import custom
26import render26import render
27import openerp.pychart27import pychart
28import int_to_text28import int_to_text
2929
30import report_sxw30import report_sxw
3131
=== modified file 'openerp/report/custom.py'
--- openerp/report/custom.py 2011-02-07 12:57:23 +0000
+++ openerp/report/custom.py 2011-02-09 22:36:08 +0000
@@ -21,23 +21,23 @@
2121
22import os22import os
23import time23import time
24import openerp.netsvc as netsvc24import netsvc
2525
26import openerp.tools as tools26import tools
27from openerp.tools.safe_eval import safe_eval as eval27from tools.safe_eval import safe_eval as eval
28import print_xml28import print_xml
29import render29import render
30from interface import report_int30from interface import report_int
31import common31import common
32from openerp.osv.osv import except_osv32from osv.osv import except_osv
33from openerp.osv.orm import browse_null33from osv.orm import browse_null
34from openerp.osv.orm import browse_record_list34from osv.orm import browse_record_list
35import openerp.pooler as pooler35import pooler
36from pychart import *36from pychart import *
37import misc37import misc
38import cStringIO38import cStringIO
39from lxml import etree39from lxml import etree
40from openerp.tools.translate import _40from tools.translate import _
4141
42class external_pdf(render.render):42class external_pdf(render.render):
43 def __init__(self, pdf):43 def __init__(self, pdf):
4444
=== modified file 'openerp/report/interface.py'
--- openerp/report/interface.py 2011-02-07 12:57:23 +0000
+++ openerp/report/interface.py 2011-02-09 22:36:08 +0000
@@ -23,11 +23,11 @@
23import re23import re
2424
25from lxml import etree25from lxml import etree
26import openerp.netsvc as netsvc26import netsvc
27import openerp.pooler as pooler27import pooler
2828
29import openerp.tools as tools29import tools
30import openerp.addons as addons30import addons
31import print_xml31import print_xml
32import render32import render
33import urllib33import urllib
3434
=== modified file 'openerp/report/print_xml.py'
--- openerp/report/print_xml.py 2011-02-07 12:57:23 +0000
+++ openerp/report/print_xml.py 2011-02-09 22:36:08 +0000
@@ -21,13 +21,13 @@
2121
22import os,types22import os,types
23from lxml import etree23from lxml import etree
24import openerp.netsvc as netsvc24import netsvc
25import openerp.tools as tools25import tools
26from openerp.tools.safe_eval import safe_eval26from tools.safe_eval import safe_eval
27import print_fnc27import print_fnc
28import copy28import copy
29from openerp.osv.orm import browse_null, browse_record29from osv.orm import browse_null, browse_record
30import openerp.pooler as pooler30import pooler as pooler
3131
32class InheritDict(dict):32class InheritDict(dict):
33 # Might be usefull when we're doing name lookup for call or eval.33 # Might be usefull when we're doing name lookup for call or eval.
3434
=== modified file 'openerp/report/printscreen/ps_form.py'
--- openerp/report/printscreen/ps_form.py 2011-02-07 12:57:23 +0000
+++ openerp/report/printscreen/ps_form.py 2011-02-09 22:36:08 +0000
@@ -19,11 +19,11 @@
19#19#
20##############################################################################20##############################################################################
2121
22from openerp.report.interface import report_int22from report.interface import report_int
23import openerp.pooler as pooler23import pooler
24import openerp.tools as tools24import tools
2525
26from openerp.report import render26from report import render
27from lxml import etree27from lxml import etree
2828
29import time, os29import time, os
3030
=== modified file 'openerp/report/printscreen/ps_list.py'
--- openerp/report/printscreen/ps_list.py 2011-02-07 12:57:23 +0000
+++ openerp/report/printscreen/ps_list.py 2011-02-09 22:36:08 +0000
@@ -19,12 +19,12 @@
19#19#
20##############################################################################20##############################################################################
2121
22from openerp.report.interface import report_int22from report.interface import report_int
23import openerp.pooler as pooler23import pooler
24import openerp.tools as tools24import tools
25from openerp.tools.safe_eval import safe_eval as eval25from tools.safe_eval import safe_eval as eval
26from lxml import etree26from lxml import etree
27from openerp.report import render, report_sxw27from report import render, report_sxw
28import locale28import locale
2929
30import time, os30import time, os
3131
=== modified file 'openerp/report/render/html2html/html2html.py'
--- openerp/report/render/html2html/html2html.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/html2html/html2html.py 2011-02-09 22:36:08 +0000
@@ -19,10 +19,10 @@
19#19#
20##############################################################################20##############################################################################
2121
22from openerp.report.render.rml2pdf import utils22from report.render.rml2pdf import utils
23from lxml import etree23from lxml import etree
24import copy24import copy
25import openerp.pooler as pooler25import pooler
26import base6426import base64
27import cStringIO27import cStringIO
28import re28import re
2929
=== modified file 'openerp/report/render/makohtml2html/makohtml2html.py'
--- openerp/report/render/makohtml2html/makohtml2html.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/makohtml2html/makohtml2html.py 2011-02-09 22:36:08 +0000
@@ -22,7 +22,7 @@
22from lxml import etree22from lxml import etree
23from mako.template import Template23from mako.template import Template
24from mako.lookup import TemplateLookup24from mako.lookup import TemplateLookup
25import openerp.netsvc as netsvc25import netsvc
26import traceback, sys, os26import traceback, sys, os
2727
28class makohtml2html(object):28class makohtml2html(object):
2929
=== modified file 'openerp/report/render/odt2odt/odt2odt.py'
--- openerp/report/render/odt2odt/odt2odt.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/odt2odt/odt2odt.py 2011-02-09 22:36:08 +0000
@@ -19,7 +19,7 @@
19#19#
20##############################################################################20##############################################################################
2121
22from openerp.report.render.rml2pdf import utils22from report.render.rml2pdf import utils
23from lxml import etree23from lxml import etree
24import copy24import copy
2525
2626
=== modified file 'openerp/report/render/rml2html/rml2html.py'
--- openerp/report/render/rml2html/rml2html.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/rml2html/rml2html.py 2011-02-09 22:36:08 +0000
@@ -40,7 +40,7 @@
40from lxml import etree40from lxml import etree
41import copy41import copy
42import utils42import utils
43from openerp.report.render.rml2pdf import utils43from report.render.rml2pdf import utils
4444
45class _flowable(object):45class _flowable(object):
46 def __init__(self, template, doc, localcontext = None):46 def __init__(self, template, doc, localcontext = None):
4747
=== modified file 'openerp/report/render/rml2pdf/customfonts.py'
--- openerp/report/render/rml2pdf/customfonts.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/rml2pdf/customfonts.py 2011-02-09 22:36:08 +0000
@@ -26,7 +26,7 @@
26import platform26import platform
27from reportlab import rl_config27from reportlab import rl_config
2828
29from openerp.tools import config29from tools import config
3030
31"""This module allows the mapping of some system-available TTF fonts to31"""This module allows the mapping of some system-available TTF fonts to
32the reportlab engine.32the reportlab engine.
3333
=== modified file 'openerp/report/render/rml2pdf/trml2pdf.py'
--- openerp/report/render/rml2pdf/trml2pdf.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/rml2pdf/trml2pdf.py 2011-02-09 22:36:08 +0000
@@ -33,9 +33,9 @@
33from lxml import etree33from lxml import etree
34import base6434import base64
35from reportlab.platypus.doctemplate import ActionFlowable35from reportlab.platypus.doctemplate import ActionFlowable
36from openerp.tools.safe_eval import safe_eval as eval36from tools.safe_eval import safe_eval as eval
37from reportlab.lib.units import inch,cm,mm37from reportlab.lib.units import inch,cm,mm
38from openerp.tools.misc import file_open38from tools.misc import file_open
39from reportlab.pdfbase import pdfmetrics39from reportlab.pdfbase import pdfmetrics
4040
41try:41try:
4242
=== modified file 'openerp/report/render/rml2pdf/utils.py'
--- openerp/report/render/rml2pdf/utils.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/rml2pdf/utils.py 2011-02-09 22:36:08 +0000
@@ -43,9 +43,9 @@
43import re43import re
44import reportlab44import reportlab
4545
46import openerp.tools as tools46import tools
47from openerp.tools.safe_eval import safe_eval as eval47from tools.safe_eval import safe_eval as eval
48from openerp.tools.misc import ustr48from tools.misc import ustr
4949
50_regex = re.compile('\[\[(.+?)\]\]')50_regex = re.compile('\[\[(.+?)\]\]')
5151
5252
=== modified file 'openerp/report/render/rml2txt/utils.py'
--- openerp/report/render/rml2txt/utils.py 2011-02-07 12:57:23 +0000
+++ openerp/report/render/rml2txt/utils.py 2011-02-09 22:36:08 +0000
@@ -23,7 +23,7 @@
23import reportlab23import reportlab
24import reportlab.lib.units24import reportlab.lib.units
25from lxml import etree25from lxml import etree
26from openerp.tools.safe_eval import safe_eval as eval26from tools.safe_eval import safe_eval as eval
2727
28_regex = re.compile('\[\[(.+?)\]\]')28_regex = re.compile('\[\[(.+?)\]\]')
2929
3030
=== modified file 'openerp/report/report_sxw.py'
--- openerp/report/report_sxw.py 2011-02-07 12:57:23 +0000
+++ openerp/report/report_sxw.py 2011-02-09 22:36:08 +0000
@@ -29,12 +29,12 @@
29from interface import report_rml29from interface import report_rml
30import preprocess30import preprocess
31import logging31import logging
32import openerp.pooler as pooler32import pooler
33import openerp.tools as tools33import tools
34import zipfile34import zipfile
35import common35import common
36from openerp.osv.fields import float as float_class, function as function_class36from osv.fields import float as float_class, function as function_class
37from openerp.osv.orm import browse_record37from osv.orm import browse_record
3838
39DT_FORMAT = '%Y-%m-%d'39DT_FORMAT = '%Y-%m-%d'
40DHM_FORMAT = '%Y-%m-%d %H:%M:%S'40DHM_FORMAT = '%Y-%m-%d %H:%M:%S'
4141
=== modified file 'openerp/service/http_server.py'
--- openerp/service/http_server.py 2011-02-07 12:57:23 +0000
+++ openerp/service/http_server.py 2011-02-09 22:36:08 +0000
@@ -31,10 +31,10 @@
3131
32"""32"""
33from websrv_lib import *33from websrv_lib import *
34import openerp.netsvc as netsvc34import netsvc
35import errno35import errno
36import threading36import threading
37import openerp.tools as tools37import tools
38import posixpath38import posixpath
39import urllib39import urllib
40import os40import os
4141
=== modified file 'openerp/service/netrpc_server.py'
--- openerp/service/netrpc_server.py 2011-02-07 12:57:23 +0000
+++ openerp/service/netrpc_server.py 2011-02-09 22:36:08 +0000
@@ -30,9 +30,9 @@
30import threading30import threading
31import traceback31import traceback
3232
33import openerp.netsvc as netsvc33import netsvc
34import openerp.tiny_socket as tiny_socket34import tiny_socket
35import openerp.tools as tools35import tools
3636
37class TinySocketClientThread(threading.Thread, netsvc.OpenERPDispatcher):37class TinySocketClientThread(threading.Thread, netsvc.OpenERPDispatcher):
38 def __init__(self, sock, threads):38 def __init__(self, sock, threads):
3939
=== modified file 'openerp/service/security.py'
--- openerp/service/security.py 2011-02-07 12:57:23 +0000
+++ openerp/service/security.py 2011-02-09 22:36:08 +0000
@@ -19,8 +19,8 @@
19#19#
20##############################################################################20##############################################################################
2121
22import openerp.pooler as pooler22import pooler
23import openerp.tools as tools23import tools
2424
25# When rejecting a password, hide the traceback25# When rejecting a password, hide the traceback
26class ExceptionNoTb(Exception):26class ExceptionNoTb(Exception):
2727
=== modified file 'openerp/service/web_services.py'
--- openerp/service/web_services.py 2011-02-07 12:57:23 +0000
+++ openerp/service/web_services.py 2011-02-09 22:36:08 +0000
@@ -27,14 +27,14 @@
27import time27import time
28import sys28import sys
29import platform29import platform
30from openerp.tools.translate import _30from tools.translate import _
31import openerp.addons as addons31import addons
32import openerp.ir32import ir
33import openerp.netsvc as netsvc33import netsvc
34import openerp.pooler as pooler34import pooler
35import openerp.release as release35import release
36import openerp.sql_db as sql_db36import sql_db
37import openerp.tools as tools37import tools
38import locale38import locale
39import logging39import logging
40from cStringIO import StringIO40from cStringIO import StringIO
@@ -327,8 +327,8 @@
327327
328 def exp_migrate_databases(self,databases):328 def exp_migrate_databases(self,databases):
329329
330 from openerp.osv.orm import except_orm330 from osv.orm import except_orm
331 from openerp.osv.osv import except_osv331 from osv.osv import except_osv
332332
333 l = netsvc.Logger()333 l = netsvc.Logger()
334 for db in databases:334 for db in databases:
@@ -441,7 +441,7 @@
441 return tools.misc.get_server_timezone()441 return tools.misc.get_server_timezone()
442442
443 def exp_get_available_updates(self, contract_id, contract_password):443 def exp_get_available_updates(self, contract_id, contract_password):
444 import openerp.tools.maintenance as tm444 import tools.maintenance as tm
445 try:445 try:
446 rc = tm.remote_contract(contract_id, contract_password)446 rc = tm.remote_contract(contract_id, contract_password)
447 if not rc.id:447 if not rc.id:
@@ -455,7 +455,7 @@
455455
456 def exp_get_migration_scripts(self, contract_id, contract_password):456 def exp_get_migration_scripts(self, contract_id, contract_password):
457 l = netsvc.Logger()457 l = netsvc.Logger()
458 import openerp.tools.maintenance as tm458 import tools.maintenance as tm
459 try:459 try:
460 rc = tm.remote_contract(contract_id, contract_password)460 rc = tm.remote_contract(contract_id, contract_password)
461 if not rc.id:461 if not rc.id:
462462
=== modified file 'openerp/test/test_osv.py'
--- openerp/test/test_osv.py 2011-02-07 12:57:23 +0000
+++ openerp/test/test_osv.py 2011-02-09 22:36:08 +0000
@@ -20,7 +20,7 @@
20##############################################################################20##############################################################################
2121
22import unittest22import unittest
23from openerp.osv.query import Query23from osv.query import Query
2424
25class QueryTestCase(unittest.TestCase):25class QueryTestCase(unittest.TestCase):
2626
2727
=== modified file 'openerp/test/test_translate.py'
--- openerp/test/test_translate.py 2011-02-07 12:57:23 +0000
+++ openerp/test/test_translate.py 2011-02-09 22:36:08 +0000
@@ -20,7 +20,7 @@
20##############################################################################20##############################################################################
2121
22import unittest22import unittest
23from openerp.tools.translate import quote, unquote23from tools.translate import quote, unquote
2424
25class TranslationToolsTestCase(unittest.TestCase):25class TranslationToolsTestCase(unittest.TestCase):
2626
2727
=== modified file 'openerp/tools/amount_to_text_en.py'
--- openerp/tools/amount_to_text_en.py 2011-02-07 12:57:23 +0000
+++ openerp/tools/amount_to_text_en.py 2011-02-09 22:36:08 +0000
@@ -99,7 +99,7 @@
99 Example:99 Example:
100 1654: thousands six cent cinquante-quatre.100 1654: thousands six cent cinquante-quatre.
101 """101 """
102 import openerp.loglevels as loglevels102 import loglevels
103# if nbr > 10000000:103# if nbr > 10000000:
104# netsvc.Logger().notifyChannel('translate', netsvc.LOG_WARNING, _("Number too large '%d', can not translate it"))104# netsvc.Logger().notifyChannel('translate', netsvc.LOG_WARNING, _("Number too large '%d', can not translate it"))
105# return str(nbr)105# return str(nbr)
106106
=== modified file 'openerp/tools/config.py'
--- openerp/tools/config.py 2011-02-08 17:09:27 +0000
+++ openerp/tools/config.py 2011-02-09 22:36:08 +0000
@@ -23,10 +23,9 @@
23import optparse23import optparse
24import os24import os
25import sys25import sys
26import openerp26import loglevels
27import openerp.loglevels as loglevels
28import logging27import logging
29import openerp.release as release28import release
3029
31def check_ssl():30def check_ssl():
32 try:31 try:
@@ -334,7 +333,7 @@
334 else:333 else:
335 self.options['log_level'] = self._LOGLEVELS.get(self.options['log_level']) or int(self.options['log_level'])334 self.options['log_level'] = self._LOGLEVELS.get(self.options['log_level']) or int(self.options['log_level'])
336335
337 self.options['root_path'] = os.path.abspath(os.path.expanduser(os.path.expandvars(os.path.dirname(openerp.__file__))))336 self.options['root_path'] = os.path.abspath(os.path.expanduser(os.path.expandvars(os.path.dirname(__file__))))
338 if not self.options['addons_path'] or self.options['addons_path']=='None':337 if not self.options['addons_path'] or self.options['addons_path']=='None':
339 self.options['addons_path'] = os.path.join(self.options['root_path'], 'addons')338 self.options['addons_path'] = os.path.join(self.options['root_path'], 'addons')
340 else:339 else:
341340
=== modified file 'openerp/tools/convert.py'
--- openerp/tools/convert.py 2011-02-07 12:57:23 +0000
+++ openerp/tools/convert.py 2011-02-09 22:36:08 +0000
@@ -28,7 +28,7 @@
2828
29# for eval context:29# for eval context:
30import time30import time
31import openerp.release as release31import release
32try:32try:
33 import pytz33 import pytz
34except:34except:
@@ -41,8 +41,8 @@
41from datetime import datetime, timedelta41from datetime import datetime, timedelta
42from lxml import etree42from lxml import etree
43import misc43import misc
44import openerp.loglevels as loglevels44import loglevels
45import openerp.pooler as pooler45import pooler
46from config import config46from config import config
47from translate import _47from translate import _
48from yaml_import import convert_yaml_import48from yaml_import import convert_yaml_import
@@ -540,7 +540,7 @@
540 id = _eval_xml(self, rec[0], self.pool, cr, self.uid, self.idref)540 id = _eval_xml(self, rec[0], self.pool, cr, self.uid, self.idref)
541541
542 uid = self.get_uid(cr, self.uid, data_node, rec)542 uid = self.get_uid(cr, self.uid, data_node, rec)
543 import openerp.netsvc as netsvc543 import netsvc
544 wf_service = netsvc.LocalService("workflow")544 wf_service = netsvc.LocalService("workflow")
545 wf_service.trg_validate(uid, model,545 wf_service.trg_validate(uid, model,
546 id,546 id,
@@ -825,7 +825,7 @@
825 else:825 else:
826 f_val = _eval_xml(self,field, self.pool, cr, self.uid, self.idref)826 f_val = _eval_xml(self,field, self.pool, cr, self.uid, self.idref)
827 if model._columns.has_key(f_name):827 if model._columns.has_key(f_name):
828 import openerp.osv as osv828 import osv
829 if isinstance(model._columns[f_name], osv.fields.integer):829 if isinstance(model._columns[f_name], osv.fields.integer):
830 f_val = int(f_val)830 f_val = int(f_val)
831 res[f_name] = f_val831 res[f_name] = f_val
832832
=== modified file 'openerp/tools/misc.py'
--- openerp/tools/misc.py 2011-02-08 09:24:58 +0000
+++ openerp/tools/misc.py 2011-02-09 22:36:08 +0000
@@ -55,13 +55,13 @@
55except ImportError:55except ImportError:
56 html2text = None56 html2text = None
5757
58import openerp.loglevels as loglevels58import loglevels
59from config import config59from config import config
60from lru import LRU60from lru import LRU
6161
62# get_encodings, ustr and exception_to_unicode were originally from tools.misc.62# get_encodings, ustr and exception_to_unicode were originally from tools.misc.
63# There are moved to loglevels until we refactor tools.63# There are moved to loglevels until we refactor tools.
64from openerp.loglevels import get_encodings, ustr, exception_to_unicode64from loglevels import get_encodings, ustr, exception_to_unicode
6565
66_logger = logging.getLogger('tools')66_logger = logging.getLogger('tools')
6767
@@ -71,7 +71,7 @@
7171
72# initialize a database with base/base.sql72# initialize a database with base/base.sql
73def init_db(cr):73def init_db(cr):
74 import openerp.addons as addons74 import addons as addons
75 f = addons.get_module_resource('base', 'base.sql')75 f = addons.get_module_resource('base', 'base.sql')
76 base_sql_file = file_open(f)76 base_sql_file = file_open(f)
77 try:77 try:
@@ -204,7 +204,7 @@
204204
205 @return: fileobject if pathinfo is False else (fileobject, filepath)205 @return: fileobject if pathinfo is False else (fileobject, filepath)
206 """206 """
207 import openerp.addons as addons207 import addons
208 adps = addons.ad_paths208 adps = addons.ad_paths
209 rtp = os.path.normcase(os.path.abspath(config['root_path']))209 rtp = os.path.normcase(os.path.abspath(config['root_path']))
210210
211211
=== modified file 'openerp/tools/test_reports.py'
--- openerp/tools/test_reports.py 2011-02-07 12:57:23 +0000
+++ openerp/tools/test_reports.py 2011-02-09 22:36:08 +0000
@@ -25,11 +25,11 @@
25 through the code of yaml tests.25 through the code of yaml tests.
26"""26"""
2727
28import openerp.netsvc as netsvc28import netsvc
29import openerp.tools as tools29import tools
30import logging30import logging
31import openerp.pooler as pooler31import pooler
32from openerp.tools.safe_eval import safe_eval32from tools.safe_eval import safe_eval
33from subprocess import Popen, PIPE33from subprocess import Popen, PIPE
34import os34import os
35import tempfile35import tempfile
3636
=== modified file 'openerp/tools/translate.py'
--- openerp/tools/translate.py 2011-02-09 09:02:31 +0000
+++ openerp/tools/translate.py 2011-02-09 22:36:08 +0000
@@ -26,7 +26,7 @@
26import itertools26import itertools
27import locale27import locale
28import os28import os
29import openerp.pooler as pooler29import pooler
30import re30import re
31import logging31import logging
32import tarfile32import tarfile
@@ -354,7 +354,7 @@
354 return type, name, res_id, source, trad354 return type, name, res_id, source, trad
355355
356 def write_infos(self, modules):356 def write_infos(self, modules):
357 import openerp.release as release357 import release
358 self.buffer.write("# Translation of %(project)s.\n" \358 self.buffer.write("# Translation of %(project)s.\n" \
359 "# This file contains the translation of the following modules:\n" \359 "# This file contains the translation of the following modules:\n" \
360 "%(modules)s" \360 "%(modules)s" \
@@ -588,7 +588,7 @@
588 push_translation(module, 'view', encode(obj.model), 0, t)588 push_translation(module, 'view', encode(obj.model), 0, t)
589 elif model=='ir.actions.wizard':589 elif model=='ir.actions.wizard':
590 service_name = 'wizard.'+encode(obj.wiz_name)590 service_name = 'wizard.'+encode(obj.wiz_name)
591 import openerp.netsvc as netsvc591 import netsvc
592 if netsvc.Service._services.get(service_name):592 if netsvc.Service._services.get(service_name):
593 obj2 = netsvc.Service._services[service_name]593 obj2 = netsvc.Service._services[service_name]
594 for state_name, state_def in obj2.states.iteritems():594 for state_name, state_def in obj2.states.iteritems():
595595
=== modified file 'openerp/tools/yaml_import.py'
--- openerp/tools/yaml_import.py 2011-02-07 12:57:23 +0000
+++ openerp/tools/yaml_import.py 2011-02-09 22:36:08 +0000
@@ -4,7 +4,7 @@
4from datetime import datetime, timedelta4from datetime import datetime, timedelta
5import logging5import logging
66
7import openerp.pooler as pooler7import pooler
8import misc8import misc
9from config import config9from config import config
10import yaml_tag10import yaml_tag
@@ -296,7 +296,7 @@
296 return record_dict296 return record_dict
297297
298 def process_record(self, node):298 def process_record(self, node):
299 import openerp.osv as osv299 import osv
300 record, fields = node.items()[0]300 record, fields = node.items()[0]
301 model = self.get_model(record.model)301 model = self.get_model(record.model)
302 if isinstance(model, osv.osv.osv_memory):302 if isinstance(model, osv.osv.osv_memory):
@@ -447,7 +447,7 @@
447 signals=[x['signal'] for x in self.cr.dictfetchall()]447 signals=[x['signal'] for x in self.cr.dictfetchall()]
448 if workflow.action not in signals:448 if workflow.action not in signals:
449 raise YamlImportException('Incorrect action %s. No such action defined' % workflow.action)449 raise YamlImportException('Incorrect action %s. No such action defined' % workflow.action)
450 import openerp.netsvc as netsvc450 import netsvc
451 wf_service = netsvc.LocalService("workflow")451 wf_service = netsvc.LocalService("workflow")
452 wf_service.trg_validate(uid, workflow.model, id, workflow.action, self.cr)452 wf_service.trg_validate(uid, workflow.model, id, workflow.action, self.cr)
453 453
454454
=== modified file 'openerp/wizard/__init__.py'
--- openerp/wizard/__init__.py 2011-02-07 12:57:23 +0000
+++ openerp/wizard/__init__.py 2011-02-09 22:36:08 +0000
@@ -19,18 +19,18 @@
19#19#
20##############################################################################20##############################################################################
2121
22import openerp.netsvc as netsvc22import netsvc
23from openerp.tools import copy23from tools import copy
24from openerp.tools.misc import UpdateableStr, UpdateableDict24from tools.misc import UpdateableStr, UpdateableDict
25from openerp.tools.translate import translate25from tools.translate import translate
26from lxml import etree26from lxml import etree
2727
28import openerp.ir as ir28import ir
29import openerp.pooler as pooler29import pooler
3030
31from openerp.osv.osv import except_osv31from osv.osv import except_osv
32from openerp.osv.orm import except_orm32from osv.orm import except_orm
33from openerp.netsvc import Logger, LOG_ERROR33from netsvc import Logger, LOG_ERROR
34import sys34import sys
3535
36class except_wizard(Exception):36class except_wizard(Exception):
3737
=== modified file 'openerp/workflow/instance.py'
--- openerp/workflow/instance.py 2011-02-07 12:57:23 +0000
+++ openerp/workflow/instance.py 2011-02-09 22:36:08 +0000
@@ -22,8 +22,8 @@
22import wkf_logs22import wkf_logs
23import workitem23import workitem
2424
25import openerp.netsvc as netsvc25import netsvc
26import openerp.pooler as pooler26import pooler
2727
28def create(cr, ident, wkf_id):28def create(cr, ident, wkf_id):
29 (uid,res_type,res_id) = ident29 (uid,res_type,res_id) = ident
3030
=== modified file 'openerp/workflow/wkf_expr.py'
--- openerp/workflow/wkf_expr.py 2011-02-07 12:57:23 +0000
+++ openerp/workflow/wkf_expr.py 2011-02-09 22:36:08 +0000
@@ -20,10 +20,10 @@
20##############################################################################20##############################################################################
2121
22import sys22import sys
23import openerp.netsvc as netsvc23import netsvc
24import openerp.osv as base24import osv as base
25import openerp.pooler as pooler25import pooler
26from openerp.tools.safe_eval import safe_eval as eval26from tools.safe_eval import safe_eval as eval
2727
28class Env(dict):28class Env(dict):
29 def __init__(self, cr, uid, model, ids):29 def __init__(self, cr, uid, model, ids):
3030
=== modified file 'openerp/workflow/wkf_logs.py'
--- openerp/workflow/wkf_logs.py 2011-02-07 12:57:23 +0000
+++ openerp/workflow/wkf_logs.py 2011-02-09 22:36:08 +0000
@@ -22,7 +22,7 @@
22#22#
23# May be uncommented to logs workflows modifications23# May be uncommented to logs workflows modifications
24#24#
25import openerp.netsvc as netsvc25import netsvc
2626
27def log(cr,ident,act_id,info=''):27def log(cr,ident,act_id,info=''):
28 return 28 return
2929
=== modified file 'openerp/workflow/wkf_service.py'
--- openerp/workflow/wkf_service.py 2011-02-07 12:57:23 +0000
+++ openerp/workflow/wkf_service.py 2011-02-09 22:36:08 +0000
@@ -23,8 +23,8 @@
23import workitem23import workitem
24import instance24import instance
2525
26import openerp.netsvc as netsvc26import netsvc
27import openerp.pooler as pooler27import pooler
2828
29class workflow_service(netsvc.Service):29class workflow_service(netsvc.Service):
30 def __init__(self, name='workflow', audience='*'):30 def __init__(self, name='workflow', audience='*'):
3131
=== modified file 'openerp/workflow/workitem.py'
--- openerp/workflow/workitem.py 2011-02-07 12:57:23 +0000
+++ openerp/workflow/workitem.py 2011-02-09 22:36:08 +0000
@@ -24,7 +24,7 @@
24# cr.execute('delete from wkf_triggers where model=%s and res_id=%s', (res_type,res_id))24# cr.execute('delete from wkf_triggers where model=%s and res_id=%s', (res_type,res_id))
25#25#
2626
27import openerp.netsvc as netsvc27import netsvc
28import instance28import instance
2929
30import wkf_expr30import wkf_expr
3131
=== modified file 'setup.cfg'
--- setup.cfg 2010-10-18 22:00:03 +0000
+++ setup.cfg 2011-02-09 22:36:08 +0000
@@ -7,8 +7,8 @@
7formats=rpm7formats=rpm
88
9[bdist_rpm]9[bdist_rpm]
10# release must exactly match 'release' as set in bin/release.py10# release must exactly match 'release' as set in openerp/release.py
11release=6.0.0-rc111release=6.1-dev
1212
13requires=python >= 2.513requires=python >= 2.5
14#build-requires=python-devel >= 2.314#build-requires=python-devel >= 2.3
1515
=== modified file 'setup.py'
--- setup.py 2011-02-03 23:00:23 +0000
+++ setup.py 2011-02-09 22:36:08 +0000
@@ -42,9 +42,9 @@
42 import py2exe42 import py2exe
43 has_py2exe = True43 has_py2exe = True
4444
45sys.path.append(join(os.path.abspath(os.path.dirname(__file__)), "bin"))45sys.path.append(join(os.path.abspath(os.path.dirname(__file__)), "openerp"))
4646
47execfile(join('bin', 'release.py'))47execfile(join('openerp', 'release.py'))
4848
49if 'bdist_rpm' in sys.argv:49if 'bdist_rpm' in sys.argv:
50 version = version.split('-')[0]50 version = version.split('-')[0]
@@ -85,7 +85,7 @@
85 os.walk = walk_followlinks85 os.walk = walk_followlinks
8686
87def find_addons():87def find_addons():
88 for root, _, names in os.walk(join('bin', 'addons'), followlinks=True):88 for root, _, names in os.walk(join('openerp', 'addons'), followlinks=True):
89 if '__openerp__.py' in names or '__terp__.py' in names:89 if '__openerp__.py' in names or '__terp__.py' in names:
90 yield basename(root), root90 yield basename(root), root
91 #look for extra modules91 #look for extra modules
@@ -111,9 +111,9 @@
111 '''Build list of data files to be installed'''111 '''Build list of data files to be installed'''
112 files = []112 files = []
113 if os.name == 'nt':113 if os.name == 'nt':
114 os.chdir('bin')114 os.chdir('openerp')
115 for (dp, dn, names) in os.walk('addons'):115 for (dp, dn, names) in os.walk('addons'):
116 files.append((dp, map(lambda x: join('bin', dp, x), names)))116 files.append((dp, map(lambda x: join('openerp', dp, x), names)))
117 os.chdir('..')117 os.chdir('..')
118 #for root, _, names in os.walk(join('bin','addons')):118 #for root, _, names in os.walk(join('bin','addons')):
119 # files.append((root, [join(root, name) for name in names]))119 # files.append((root, [join(root, name) for name in names]))
@@ -121,7 +121,7 @@
121 files.append((root, [join(root, name) for name in names]))121 files.append((root, [join(root, name) for name in names]))
122 #for root, _, names in os.walk('pixmaps'):122 #for root, _, names in os.walk('pixmaps'):
123 # files.append((root, [join(root, name) for name in names]))123 # files.append((root, [join(root, name) for name in names]))
124 files.append(('.', [join('bin', 'import_xml.rng'),]))124 files.append(('.', [join('openerp', 'import_xml.rng'),]))
125 else:125 else:
126 man_directory = join('share', 'man')126 man_directory = join('share', 'man')
127 files.append((join(man_directory, 'man1'), ['man/openerp-server.1']))127 files.append((join(man_directory, 'man1'), ['man/openerp-server.1']))
@@ -136,7 +136,7 @@
136136
137 openerp_site_packages = join(get_python_lib(prefix=''), 'openerp-server')137 openerp_site_packages = join(get_python_lib(prefix=''), 'openerp-server')
138138
139 files.append((openerp_site_packages, [join('bin', 'import_xml.rng'),]))139 files.append((openerp_site_packages, [join('openerp', 'import_xml.rng'),]))
140140
141 if sys.version_info[0:2] == (2,5):141 if sys.version_info[0:2] == (2,5):
142 files.append((openerp_site_packages, [ join('python25-compat','BaseHTTPServer.py'),142 files.append((openerp_site_packages, [ join('python25-compat','BaseHTTPServer.py'),
@@ -163,7 +163,7 @@
163f.close()163f.close()
164164
165def find_package_dirs():165def find_package_dirs():
166 package_dirs = {'openerp-server': 'bin'}166 package_dirs = {'openerp-server': 'openerp'}
167 for mod, path in find_addons():167 for mod, path in find_addons():
168 package_dirs['openerp-server.addons.' + mod] = path168 package_dirs['openerp-server.addons.' + mod] = path
169 return package_dirs169 return package_dirs
@@ -224,8 +224,8 @@
224 package_dir = find_package_dirs(),224 package_dir = find_package_dirs(),
225 console = [225 console = [
226 {226 {
227 "script": join("bin", "openerp-server.py"),227 "script": join("openerp","openerp-server.py"),
228 "icon_resources": [(1, join("pixmaps","openerp-icon.ico"))]228 "icon_resources": [(1, join("pixmaps","openerp-icon.ico"))],
229 }229 }
230 ],230 ],
231 options = options,231 options = options,
@@ -241,7 +241,7 @@
241 'caldav',241 'caldav',
242 'pyyaml',242 'pyyaml',
243 'pywebdav',243 'pywebdav',
244 'feedparser',244 'feedparser',
245 ],245 ],
246 extras_require={246 extras_require={
247 'SSL' : ['pyopenssl'],247 'SSL' : ['pyopenssl'],