Merge lp:~bstanciu/openobject-server/trunk-dev into lp:openobject-server
- trunk-dev
- Merge into trunk
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 |
Related bugs: |
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.
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
1 | === modified file 'MANIFEST.in' |
2 | --- MANIFEST.in 2010-10-18 21:59:29 +0000 |
3 | +++ MANIFEST.in 2011-02-09 22:36:08 +0000 |
4 | @@ -3,15 +3,15 @@ |
5 | include MANIFEST.in |
6 | include setup.nsi |
7 | include setup.cfg |
8 | -include bin/import_xml.rng |
9 | -include bin/server.cert |
10 | -include bin/server.pkey |
11 | -include bin/gpl.txt |
12 | +include openerp/import_xml.rng |
13 | +#include openerp/server.cert |
14 | +#include openerp/server.pkey |
15 | +#include openerp/gpl.txt |
16 | include man/openerp-server.1 |
17 | include man/openerp_serverrc.5 |
18 | recursive-include pixmaps * |
19 | recursive-include win32 * |
20 | recursive-include doc * |
21 | -recursive-include bin *xml *xsl *sql *rml *sxw *csv *rng |
22 | -graft bin/addons |
23 | +recursive-include openerp *xml *xsl *sql *rml *sxw *csv *rng |
24 | +graft openerp/addons |
25 | global-exclude *pyc *~ |
26 | |
27 | === removed file 'openerp-server.py' |
28 | --- openerp-server.py 2011-02-08 09:29:23 +0000 |
29 | +++ openerp-server.py 1970-01-01 00:00:00 +0000 |
30 | @@ -1,258 +0,0 @@ |
31 | -#!/usr/bin/env python |
32 | -# -*- coding: utf-8 -*- |
33 | -############################################################################## |
34 | -# |
35 | -# OpenERP, Open Source Management Solution |
36 | -# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). |
37 | -# |
38 | -# This program is free software: you can redistribute it and/or modify |
39 | -# it under the terms of the GNU Affero General Public License as |
40 | -# published by the Free Software Foundation, either version 3 of the |
41 | -# License, or (at your option) any later version. |
42 | -# |
43 | -# This program is distributed in the hope that it will be useful, |
44 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of |
45 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
46 | -# GNU Affero General Public License for more details. |
47 | -# |
48 | -# You should have received a copy of the GNU Affero General Public License |
49 | -# along with this program. If not, see <http://www.gnu.org/licenses/>. |
50 | -# |
51 | -############################################################################## |
52 | - |
53 | -""" |
54 | -OpenERP - Server |
55 | -OpenERP is an ERP+CRM program for small and medium businesses. |
56 | - |
57 | -The whole source code is distributed under the terms of the |
58 | -GNU Public Licence. |
59 | - |
60 | -(c) 2003-TODAY, Fabien Pinckaers - OpenERP s.a. |
61 | -""" |
62 | - |
63 | -#---------------------------------------------------------- |
64 | -# python imports |
65 | -#---------------------------------------------------------- |
66 | -import logging |
67 | -import os |
68 | -import signal |
69 | -import sys |
70 | -import threading |
71 | -import traceback |
72 | - |
73 | -import openerp.release as release |
74 | -__author__ = release.author |
75 | -__version__ = release.version |
76 | - |
77 | -if os.name == 'posix': |
78 | - import pwd |
79 | - # We DON't log this using the standard logger, because we might mess |
80 | - # with the logfile's permissions. Just do a quick exit here. |
81 | - if pwd.getpwuid(os.getuid())[0] == 'root' : |
82 | - sys.stderr.write("Attempted to run OpenERP server as root. This is not good, aborting.\n") |
83 | - sys.exit(1) |
84 | - |
85 | -#----------------------------------------------------------------------- |
86 | -# import the tools module so that the commandline parameters are parsed |
87 | -#----------------------------------------------------------------------- |
88 | -import openerp.tools as tools |
89 | -tools.config.parse_config(sys.argv[1:]) |
90 | - |
91 | -#---------------------------------------------------------- |
92 | -# get logger |
93 | -#---------------------------------------------------------- |
94 | -import openerp.netsvc as netsvc |
95 | -netsvc.init_logger() |
96 | -logger = logging.getLogger('server') |
97 | - |
98 | -logger.info("OpenERP version - %s", release.version) |
99 | -for name, value in [('addons_path', tools.config['addons_path']), |
100 | - ('database hostname', tools.config['db_host'] or 'localhost'), |
101 | - ('database port', tools.config['db_port'] or '5432'), |
102 | - ('database user', tools.config['db_user'])]: |
103 | - logger.info("%s - %s", name, value) |
104 | - |
105 | -# Don't allow if the connection to PostgreSQL done by postgres user |
106 | -if tools.config['db_user'] == 'postgres': |
107 | - logger.error("Connecting to the database as 'postgres' user is forbidden, as it present major security issues. Shutting down.") |
108 | - sys.exit(1) |
109 | - |
110 | -import time |
111 | - |
112 | -#---------------------------------------------------------- |
113 | -# init net service |
114 | -#---------------------------------------------------------- |
115 | -logger.info('initialising distributed objects services') |
116 | - |
117 | -#--------------------------------------------------------------- |
118 | -# connect to the database and initialize it with base if needed |
119 | -#--------------------------------------------------------------- |
120 | -import openerp.pooler as pooler |
121 | - |
122 | -#---------------------------------------------------------- |
123 | -# import basic modules |
124 | -#---------------------------------------------------------- |
125 | -import openerp.osv as osv |
126 | -import openerp.workflow as workflow |
127 | -import openerp.report as report |
128 | -import openerp.service as service |
129 | - |
130 | -#---------------------------------------------------------- |
131 | -# import addons |
132 | -#---------------------------------------------------------- |
133 | - |
134 | -import openerp.addons as addons |
135 | - |
136 | -#---------------------------------------------------------- |
137 | -# Load and update databases if requested |
138 | -#---------------------------------------------------------- |
139 | - |
140 | -import openerp.service.http_server as service_http_server |
141 | - |
142 | -if not ( tools.config["stop_after_init"] or \ |
143 | - tools.config["translate_in"] or \ |
144 | - tools.config["translate_out"] ): |
145 | - service_http_server.init_servers() |
146 | - service_http_server.init_xmlrpc() |
147 | - service_http_server.init_static_http() |
148 | - |
149 | - import openerp.service.netrpc_server as service_netrpc_server |
150 | - service_netrpc_server.init_servers() |
151 | - |
152 | -if tools.config['db_name']: |
153 | - for dbname in tools.config['db_name'].split(','): |
154 | - db,pool = pooler.get_db_and_pool(dbname, update_module=tools.config['init'] or tools.config['update'], pooljobs=False) |
155 | - cr = db.cursor() |
156 | - |
157 | - if tools.config["test_file"]: |
158 | - logger.info('loading test file %s', tools.config["test_file"]) |
159 | - tools.convert_yaml_import(cr, 'base', file(tools.config["test_file"]), {}, 'test', True) |
160 | - cr.rollback() |
161 | - |
162 | - pool.get('ir.cron')._poolJobs(db.dbname) |
163 | - |
164 | - cr.close() |
165 | - |
166 | -#---------------------------------------------------------- |
167 | -# translation stuff |
168 | -#---------------------------------------------------------- |
169 | -if tools.config["translate_out"]: |
170 | - import csv |
171 | - |
172 | - if tools.config["language"]: |
173 | - msg = "language %s" % (tools.config["language"],) |
174 | - else: |
175 | - msg = "new language" |
176 | - logger.info('writing translation file for %s to %s', msg, tools.config["translate_out"]) |
177 | - |
178 | - fileformat = os.path.splitext(tools.config["translate_out"])[-1][1:].lower() |
179 | - buf = file(tools.config["translate_out"], "w") |
180 | - dbname = tools.config['db_name'] |
181 | - cr = pooler.get_db(dbname).cursor() |
182 | - tools.trans_export(tools.config["language"], tools.config["translate_modules"] or ["all"], buf, fileformat, cr) |
183 | - cr.close() |
184 | - buf.close() |
185 | - |
186 | - logger.info('translation file written successfully') |
187 | - sys.exit(0) |
188 | - |
189 | -if tools.config["translate_in"]: |
190 | - context = {'overwrite': tools.config["overwrite_existing_translations"]} |
191 | - dbname = tools.config['db_name'] |
192 | - cr = pooler.get_db(dbname).cursor() |
193 | - tools.trans_load(cr, |
194 | - tools.config["translate_in"], |
195 | - tools.config["language"], |
196 | - context=context) |
197 | - tools.trans_update_res_ids(cr) |
198 | - cr.commit() |
199 | - cr.close() |
200 | - sys.exit(0) |
201 | - |
202 | -#---------------------------------------------------------------------------------- |
203 | -# if we don't want the server to continue to run after initialization, we quit here |
204 | -#---------------------------------------------------------------------------------- |
205 | -if tools.config["stop_after_init"]: |
206 | - sys.exit(0) |
207 | - |
208 | - |
209 | -#---------------------------------------------------------- |
210 | -# Launch Servers |
211 | -#---------------------------------------------------------- |
212 | - |
213 | -LST_SIGNALS = ['SIGINT', 'SIGTERM'] |
214 | - |
215 | -SIGNALS = dict( |
216 | - [(getattr(signal, sign), sign) for sign in LST_SIGNALS] |
217 | -) |
218 | - |
219 | -netsvc.quit_signals_received = 0 |
220 | - |
221 | -def handler(signum, frame): |
222 | - """ |
223 | - :param signum: the signal number |
224 | - :param frame: the interrupted stack frame or None |
225 | - """ |
226 | - netsvc.quit_signals_received += 1 |
227 | - if netsvc.quit_signals_received > 1: |
228 | - sys.stderr.write("Forced shutdown.\n") |
229 | - os._exit(0) |
230 | - |
231 | -def dumpstacks(signum, frame): |
232 | - # code from http://stackoverflow.com/questions/132058/getting-stack-trace-from-a-running-python-application#answer-2569696 |
233 | - # modified for python 2.5 compatibility |
234 | - thread_map = dict(threading._active, **threading._limbo) |
235 | - id2name = dict([(threadId, thread.getName()) for threadId, thread in thread_map.items()]) |
236 | - code = [] |
237 | - for threadId, stack in sys._current_frames().items(): |
238 | - code.append("\n# Thread: %s(%d)" % (id2name[threadId], threadId)) |
239 | - for filename, lineno, name, line in traceback.extract_stack(stack): |
240 | - code.append('File: "%s", line %d, in %s' % (filename, lineno, name)) |
241 | - if line: |
242 | - code.append(" %s" % (line.strip())) |
243 | - logging.getLogger('dumpstacks').info("\n".join(code)) |
244 | - |
245 | -for signum in SIGNALS: |
246 | - signal.signal(signum, handler) |
247 | - |
248 | -if os.name == 'posix': |
249 | - signal.signal(signal.SIGQUIT, dumpstacks) |
250 | - |
251 | -def quit(): |
252 | - netsvc.Agent.quit() |
253 | - netsvc.Server.quitAll() |
254 | - if tools.config['pidfile']: |
255 | - os.unlink(tools.config['pidfile']) |
256 | - logger = logging.getLogger('shutdown') |
257 | - logger.info("Initiating OpenERP Server shutdown") |
258 | - logger.info("Hit CTRL-C again or send a second signal to immediately terminate the server...") |
259 | - logging.shutdown() |
260 | - |
261 | - # manually join() all threads before calling sys.exit() to allow a second signal |
262 | - # to trigger _force_quit() in case some non-daemon threads won't exit cleanly. |
263 | - # threading.Thread.join() should not mask signals (at least in python 2.5) |
264 | - for thread in threading.enumerate(): |
265 | - if thread != threading.currentThread() and not thread.isDaemon(): |
266 | - while thread.isAlive(): |
267 | - # need a busyloop here as thread.join() masks signals |
268 | - # and would present the forced shutdown |
269 | - thread.join(0.05) |
270 | - time.sleep(0.05) |
271 | - sys.exit(0) |
272 | - |
273 | -if tools.config['pidfile']: |
274 | - fd = open(tools.config['pidfile'], 'w') |
275 | - pidtext = "%d" % (os.getpid()) |
276 | - fd.write(pidtext) |
277 | - fd.close() |
278 | - |
279 | -netsvc.Server.startAll() |
280 | - |
281 | -logger.info('OpenERP server is running, waiting for connections...') |
282 | - |
283 | -while netsvc.quit_signals_received == 0: |
284 | - time.sleep(60) |
285 | - |
286 | -quit() |
287 | - |
288 | -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
289 | |
290 | === modified file 'openerp/addons/__init__.py' |
291 | --- openerp/addons/__init__.py 2011-02-08 13:27:19 +0000 |
292 | +++ openerp/addons/__init__.py 2011-02-09 22:36:08 +0000 |
293 | @@ -25,17 +25,17 @@ |
294 | import itertools |
295 | import zipimport |
296 | |
297 | -import openerp.osv as osv |
298 | -import openerp.tools as tools |
299 | -import openerp.tools.osutil as osutil |
300 | -from openerp.tools.safe_eval import safe_eval as eval |
301 | -import openerp.pooler as pooler |
302 | -from openerp.tools.translate import _ |
303 | +import osv |
304 | +import tools |
305 | +import tools.osutil as osutil |
306 | +from tools.safe_eval import safe_eval as eval |
307 | +import pooler |
308 | +from tools.translate import _ |
309 | |
310 | -import openerp.netsvc as netsvc |
311 | +import netsvc |
312 | |
313 | import zipfile |
314 | -import openerp.release as release |
315 | +import release |
316 | |
317 | import re |
318 | import base64 |
319 | @@ -569,7 +569,7 @@ |
320 | a.update(b) |
321 | return a |
322 | |
323 | - from openerp.tools.parse_version import parse_version |
324 | + from tools.parse_version import parse_version |
325 | |
326 | parsed_installed_version = parse_version(pkg.installed_version or '') |
327 | current_version = parse_version(convert_version(pkg.data.get('version', '0'))) |
328 | |
329 | === modified file 'openerp/ir/ir.py' |
330 | --- openerp/ir/ir.py 2011-02-07 12:57:23 +0000 |
331 | +++ openerp/ir/ir.py 2011-02-09 22:36:08 +0000 |
332 | @@ -20,8 +20,8 @@ |
333 | ############################################################################## |
334 | |
335 | import pickle |
336 | -import openerp.osv as osv |
337 | -import openerp.pooler as pooler |
338 | +import osv |
339 | +import pooler |
340 | |
341 | def ir_set(cr, uid, key, key2, name, models, value, replace=True, isobject=False, meta=None): |
342 | obj = pooler.get_pool(cr.dbname).get('ir.values') |
343 | |
344 | === added file 'openerp/openerp-server.py' |
345 | --- openerp/openerp-server.py 1970-01-01 00:00:00 +0000 |
346 | +++ openerp/openerp-server.py 2011-02-09 22:36:08 +0000 |
347 | @@ -0,0 +1,258 @@ |
348 | +#!/usr/bin/env python |
349 | +# -*- coding: utf-8 -*- |
350 | +############################################################################## |
351 | +# |
352 | +# OpenERP, Open Source Management Solution |
353 | +# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). |
354 | +# |
355 | +# This program is free software: you can redistribute it and/or modify |
356 | +# it under the terms of the GNU Affero General Public License as |
357 | +# published by the Free Software Foundation, either version 3 of the |
358 | +# License, or (at your option) any later version. |
359 | +# |
360 | +# This program is distributed in the hope that it will be useful, |
361 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
362 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
363 | +# GNU Affero General Public License for more details. |
364 | +# |
365 | +# You should have received a copy of the GNU Affero General Public License |
366 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
367 | +# |
368 | +############################################################################## |
369 | + |
370 | +""" |
371 | +OpenERP - Server |
372 | +OpenERP is an ERP+CRM program for small and medium businesses. |
373 | + |
374 | +The whole source code is distributed under the terms of the |
375 | +GNU Public Licence. |
376 | + |
377 | +(c) 2003-TODAY, Fabien Pinckaers - OpenERP s.a. |
378 | +""" |
379 | + |
380 | +#---------------------------------------------------------- |
381 | +# python imports |
382 | +#---------------------------------------------------------- |
383 | +import logging |
384 | +import os |
385 | +import signal |
386 | +import sys |
387 | +import threading |
388 | +import traceback |
389 | + |
390 | +import release |
391 | +__author__ = release.author |
392 | +__version__ = release.version |
393 | + |
394 | +if os.name == 'posix': |
395 | + import pwd |
396 | + # We DON't log this using the standard logger, because we might mess |
397 | + # with the logfile's permissions. Just do a quick exit here. |
398 | + if pwd.getpwuid(os.getuid())[0] == 'root' : |
399 | + sys.stderr.write("Attempted to run OpenERP server as root. This is not good, aborting.\n") |
400 | + sys.exit(1) |
401 | + |
402 | +#----------------------------------------------------------------------- |
403 | +# import the tools module so that the commandline parameters are parsed |
404 | +#----------------------------------------------------------------------- |
405 | +import tools |
406 | +tools.config.parse_config(sys.argv[1:]) |
407 | + |
408 | +#---------------------------------------------------------- |
409 | +# get logger |
410 | +#---------------------------------------------------------- |
411 | +import netsvc |
412 | +netsvc.init_logger() |
413 | +logger = logging.getLogger('server') |
414 | + |
415 | +logger.info("OpenERP version - %s", release.version) |
416 | +for name, value in [('addons_path', tools.config['addons_path']), |
417 | + ('database hostname', tools.config['db_host'] or 'localhost'), |
418 | + ('database port', tools.config['db_port'] or '5432'), |
419 | + ('database user', tools.config['db_user'])]: |
420 | + logger.info("%s - %s", name, value) |
421 | + |
422 | +# Don't allow if the connection to PostgreSQL done by postgres user |
423 | +if tools.config['db_user'] == 'postgres': |
424 | + logger.error("Connecting to the database as 'postgres' user is forbidden, as it present major security issues. Shutting down.") |
425 | + sys.exit(1) |
426 | + |
427 | +import time |
428 | + |
429 | +#---------------------------------------------------------- |
430 | +# init net service |
431 | +#---------------------------------------------------------- |
432 | +logger.info('initialising distributed objects services') |
433 | + |
434 | +#--------------------------------------------------------------- |
435 | +# connect to the database and initialize it with base if needed |
436 | +#--------------------------------------------------------------- |
437 | +import pooler |
438 | + |
439 | +#---------------------------------------------------------- |
440 | +# import basic modules |
441 | +#---------------------------------------------------------- |
442 | +import osv |
443 | +import workflow |
444 | +import report |
445 | +import service |
446 | + |
447 | +#---------------------------------------------------------- |
448 | +# import addons |
449 | +#---------------------------------------------------------- |
450 | + |
451 | +import addons |
452 | + |
453 | +#---------------------------------------------------------- |
454 | +# Load and update databases if requested |
455 | +#---------------------------------------------------------- |
456 | + |
457 | +import service.http_server as service_http_server |
458 | + |
459 | +if not ( tools.config["stop_after_init"] or \ |
460 | + tools.config["translate_in"] or \ |
461 | + tools.config["translate_out"] ): |
462 | + service_http_server.init_servers() |
463 | + service_http_server.init_xmlrpc() |
464 | + service_http_server.init_static_http() |
465 | + |
466 | + import service.netrpc_server as service_netrpc_server |
467 | + service_netrpc_server.init_servers() |
468 | + |
469 | +if tools.config['db_name']: |
470 | + for dbname in tools.config['db_name'].split(','): |
471 | + db,pool = pooler.get_db_and_pool(dbname, update_module=tools.config['init'] or tools.config['update'], pooljobs=False) |
472 | + cr = db.cursor() |
473 | + |
474 | + if tools.config["test_file"]: |
475 | + logger.info('loading test file %s', tools.config["test_file"]) |
476 | + tools.convert_yaml_import(cr, 'base', file(tools.config["test_file"]), {}, 'test', True) |
477 | + cr.rollback() |
478 | + |
479 | + pool.get('ir.cron')._poolJobs(db.dbname) |
480 | + |
481 | + cr.close() |
482 | + |
483 | +#---------------------------------------------------------- |
484 | +# translation stuff |
485 | +#---------------------------------------------------------- |
486 | +if tools.config["translate_out"]: |
487 | + import csv |
488 | + |
489 | + if tools.config["language"]: |
490 | + msg = "language %s" % (tools.config["language"],) |
491 | + else: |
492 | + msg = "new language" |
493 | + logger.info('writing translation file for %s to %s', msg, tools.config["translate_out"]) |
494 | + |
495 | + fileformat = os.path.splitext(tools.config["translate_out"])[-1][1:].lower() |
496 | + buf = file(tools.config["translate_out"], "w") |
497 | + dbname = tools.config['db_name'] |
498 | + cr = pooler.get_db(dbname).cursor() |
499 | + tools.trans_export(tools.config["language"], tools.config["translate_modules"] or ["all"], buf, fileformat, cr) |
500 | + cr.close() |
501 | + buf.close() |
502 | + |
503 | + logger.info('translation file written successfully') |
504 | + sys.exit(0) |
505 | + |
506 | +if tools.config["translate_in"]: |
507 | + context = {'overwrite': tools.config["overwrite_existing_translations"]} |
508 | + dbname = tools.config['db_name'] |
509 | + cr = pooler.get_db(dbname).cursor() |
510 | + tools.trans_load(cr, |
511 | + tools.config["translate_in"], |
512 | + tools.config["language"], |
513 | + context=context) |
514 | + tools.trans_update_res_ids(cr) |
515 | + cr.commit() |
516 | + cr.close() |
517 | + sys.exit(0) |
518 | + |
519 | +#---------------------------------------------------------------------------------- |
520 | +# if we don't want the server to continue to run after initialization, we quit here |
521 | +#---------------------------------------------------------------------------------- |
522 | +if tools.config["stop_after_init"]: |
523 | + sys.exit(0) |
524 | + |
525 | + |
526 | +#---------------------------------------------------------- |
527 | +# Launch Servers |
528 | +#---------------------------------------------------------- |
529 | + |
530 | +LST_SIGNALS = ['SIGINT', 'SIGTERM'] |
531 | + |
532 | +SIGNALS = dict( |
533 | + [(getattr(signal, sign), sign) for sign in LST_SIGNALS] |
534 | +) |
535 | + |
536 | +netsvc.quit_signals_received = 0 |
537 | + |
538 | +def handler(signum, frame): |
539 | + """ |
540 | + :param signum: the signal number |
541 | + :param frame: the interrupted stack frame or None |
542 | + """ |
543 | + netsvc.quit_signals_received += 1 |
544 | + if netsvc.quit_signals_received > 1: |
545 | + sys.stderr.write("Forced shutdown.\n") |
546 | + os._exit(0) |
547 | + |
548 | +def dumpstacks(signum, frame): |
549 | + # code from http://stackoverflow.com/questions/132058/getting-stack-trace-from-a-running-python-application#answer-2569696 |
550 | + # modified for python 2.5 compatibility |
551 | + thread_map = dict(threading._active, **threading._limbo) |
552 | + id2name = dict([(threadId, thread.getName()) for threadId, thread in thread_map.items()]) |
553 | + code = [] |
554 | + for threadId, stack in sys._current_frames().items(): |
555 | + code.append("\n# Thread: %s(%d)" % (id2name[threadId], threadId)) |
556 | + for filename, lineno, name, line in traceback.extract_stack(stack): |
557 | + code.append('File: "%s", line %d, in %s' % (filename, lineno, name)) |
558 | + if line: |
559 | + code.append(" %s" % (line.strip())) |
560 | + logging.getLogger('dumpstacks').info("\n".join(code)) |
561 | + |
562 | +for signum in SIGNALS: |
563 | + signal.signal(signum, handler) |
564 | + |
565 | +if os.name == 'posix': |
566 | + signal.signal(signal.SIGQUIT, dumpstacks) |
567 | + |
568 | +def quit(): |
569 | + netsvc.Agent.quit() |
570 | + netsvc.Server.quitAll() |
571 | + if tools.config['pidfile']: |
572 | + os.unlink(tools.config['pidfile']) |
573 | + logger = logging.getLogger('shutdown') |
574 | + logger.info("Initiating OpenERP Server shutdown") |
575 | + logger.info("Hit CTRL-C again or send a second signal to immediately terminate the server...") |
576 | + logging.shutdown() |
577 | + |
578 | + # manually join() all threads before calling sys.exit() to allow a second signal |
579 | + # to trigger _force_quit() in case some non-daemon threads won't exit cleanly. |
580 | + # threading.Thread.join() should not mask signals (at least in python 2.5) |
581 | + for thread in threading.enumerate(): |
582 | + if thread != threading.currentThread() and not thread.isDaemon(): |
583 | + while thread.isAlive(): |
584 | + # need a busyloop here as thread.join() masks signals |
585 | + # and would present the forced shutdown |
586 | + thread.join(0.05) |
587 | + time.sleep(0.05) |
588 | + sys.exit(0) |
589 | + |
590 | +if tools.config['pidfile']: |
591 | + fd = open(tools.config['pidfile'], 'w') |
592 | + pidtext = "%d" % (os.getpid()) |
593 | + fd.write(pidtext) |
594 | + fd.close() |
595 | + |
596 | +netsvc.Server.startAll() |
597 | + |
598 | +logger.info('OpenERP server is running, waiting for connections...') |
599 | + |
600 | +while netsvc.quit_signals_received == 0: |
601 | + time.sleep(60) |
602 | + |
603 | +quit() |
604 | + |
605 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
606 | |
607 | === modified file 'openerp/osv/expression.py' |
608 | --- openerp/osv/expression.py 2011-02-07 12:57:23 +0000 |
609 | +++ openerp/osv/expression.py 2011-02-09 22:36:08 +0000 |
610 | @@ -20,7 +20,7 @@ |
611 | # |
612 | ############################################################################## |
613 | |
614 | -from openerp.tools import flatten, reverse_enumerate |
615 | +from tools import flatten, reverse_enumerate |
616 | import fields |
617 | |
618 | |
619 | |
620 | === modified file 'openerp/osv/fields.py' |
621 | --- openerp/osv/fields.py 2011-02-07 12:57:23 +0000 |
622 | +++ openerp/osv/fields.py 2011-02-09 22:36:08 +0000 |
623 | @@ -38,9 +38,9 @@ |
624 | import xmlrpclib |
625 | from psycopg2 import Binary |
626 | |
627 | -import openerp.netsvc as netsvc |
628 | -import openerp.tools as tools |
629 | -from openerp.tools.translate import _ |
630 | +import netsvc |
631 | +import tools |
632 | +from tools.translate import _ |
633 | |
634 | def _symbol_set(symb): |
635 | if symb == None or symb == False: |
636 | |
637 | === modified file 'openerp/osv/orm.py' |
638 | --- openerp/osv/orm.py 2011-02-08 16:49:23 +0000 |
639 | +++ openerp/osv/orm.py 2011-02-09 22:36:08 +0000 |
640 | @@ -49,18 +49,18 @@ |
641 | import traceback |
642 | import types |
643 | |
644 | -import openerp.netsvc as netsvc |
645 | +import netsvc |
646 | from lxml import etree |
647 | -from openerp.tools.config import config |
648 | -from openerp.tools.translate import _ |
649 | +from tools.config import config |
650 | +from tools.translate import _ |
651 | |
652 | import fields |
653 | from query import Query |
654 | -import openerp.tools as tools |
655 | -from openerp.tools.safe_eval import safe_eval as eval |
656 | +import tools |
657 | +from tools.safe_eval import safe_eval as eval |
658 | |
659 | # List of etree._Element subclasses that we choose to ignore when parsing XML. |
660 | -from openerp.tools import SKIPPED_ELEMENT_TYPES |
661 | +from tools import SKIPPED_ELEMENT_TYPES |
662 | |
663 | regex_order = re.compile('^(([a-z0-9_]+|"[a-z0-9_]+")( *desc| *asc)?( *, *|))+$', re.I) |
664 | |
665 | |
666 | === modified file 'openerp/osv/osv.py' |
667 | --- openerp/osv/osv.py 2011-02-07 12:57:23 +0000 |
668 | +++ openerp/osv/osv.py 2011-02-09 22:36:08 +0000 |
669 | @@ -24,13 +24,13 @@ |
670 | # |
671 | |
672 | import orm |
673 | -import openerp.netsvc as netsvc |
674 | -import openerp.pooler as pooler |
675 | +import netsvc |
676 | +import pooler |
677 | import copy |
678 | import logging |
679 | from psycopg2 import IntegrityError, errorcodes |
680 | -from openerp.tools.func import wraps |
681 | -from openerp.tools.translate import translate |
682 | +from tools.func import wraps |
683 | +from tools.translate import translate |
684 | |
685 | module_list = [] |
686 | module_class_list = {} |
687 | |
688 | === modified file 'openerp/pooler.py' |
689 | --- openerp/pooler.py 2011-02-07 12:57:23 +0000 |
690 | +++ openerp/pooler.py 2011-02-09 22:36:08 +0000 |
691 | @@ -30,8 +30,8 @@ |
692 | if db_name in pool_dic: |
693 | pool = pool_dic[db_name] |
694 | else: |
695 | - import openerp.addons as addons |
696 | - import openerp.osv.osv as osv_osv |
697 | + import addons |
698 | + import osv.osv as osv_osv |
699 | pool = osv_osv.osv_pool() |
700 | pool_dic[db_name] = pool |
701 | |
702 | @@ -65,8 +65,8 @@ |
703 | # do not put this import outside this function |
704 | # sql_db must not be loaded before the logger is initialized. |
705 | # sql_db import psycopg2.tool which create a default logger if there is not. |
706 | - # this resulting of having the logs outputed twice... |
707 | - import openerp.sql_db as sql_db |
708 | + # this resulting of having the logs output twice... |
709 | + import sql_db |
710 | db = sql_db.db_connect(db_name) |
711 | return db |
712 | |
713 | |
714 | === modified file 'openerp/report/__init__.py' |
715 | --- openerp/report/__init__.py 2011-02-07 12:57:23 +0000 |
716 | +++ openerp/report/__init__.py 2011-02-09 22:36:08 +0000 |
717 | @@ -24,7 +24,7 @@ |
718 | import print_fnc |
719 | import custom |
720 | import render |
721 | -import openerp.pychart |
722 | +import pychart |
723 | import int_to_text |
724 | |
725 | import report_sxw |
726 | |
727 | === modified file 'openerp/report/custom.py' |
728 | --- openerp/report/custom.py 2011-02-07 12:57:23 +0000 |
729 | +++ openerp/report/custom.py 2011-02-09 22:36:08 +0000 |
730 | @@ -21,23 +21,23 @@ |
731 | |
732 | import os |
733 | import time |
734 | -import openerp.netsvc as netsvc |
735 | +import netsvc |
736 | |
737 | -import openerp.tools as tools |
738 | -from openerp.tools.safe_eval import safe_eval as eval |
739 | +import tools |
740 | +from tools.safe_eval import safe_eval as eval |
741 | import print_xml |
742 | import render |
743 | from interface import report_int |
744 | import common |
745 | -from openerp.osv.osv import except_osv |
746 | -from openerp.osv.orm import browse_null |
747 | -from openerp.osv.orm import browse_record_list |
748 | -import openerp.pooler as pooler |
749 | +from osv.osv import except_osv |
750 | +from osv.orm import browse_null |
751 | +from osv.orm import browse_record_list |
752 | +import pooler |
753 | from pychart import * |
754 | import misc |
755 | import cStringIO |
756 | from lxml import etree |
757 | -from openerp.tools.translate import _ |
758 | +from tools.translate import _ |
759 | |
760 | class external_pdf(render.render): |
761 | def __init__(self, pdf): |
762 | |
763 | === modified file 'openerp/report/interface.py' |
764 | --- openerp/report/interface.py 2011-02-07 12:57:23 +0000 |
765 | +++ openerp/report/interface.py 2011-02-09 22:36:08 +0000 |
766 | @@ -23,11 +23,11 @@ |
767 | import re |
768 | |
769 | from lxml import etree |
770 | -import openerp.netsvc as netsvc |
771 | -import openerp.pooler as pooler |
772 | +import netsvc |
773 | +import pooler |
774 | |
775 | -import openerp.tools as tools |
776 | -import openerp.addons as addons |
777 | +import tools |
778 | +import addons |
779 | import print_xml |
780 | import render |
781 | import urllib |
782 | |
783 | === modified file 'openerp/report/print_xml.py' |
784 | --- openerp/report/print_xml.py 2011-02-07 12:57:23 +0000 |
785 | +++ openerp/report/print_xml.py 2011-02-09 22:36:08 +0000 |
786 | @@ -21,13 +21,13 @@ |
787 | |
788 | import os,types |
789 | from lxml import etree |
790 | -import openerp.netsvc as netsvc |
791 | -import openerp.tools as tools |
792 | -from openerp.tools.safe_eval import safe_eval |
793 | +import netsvc |
794 | +import tools |
795 | +from tools.safe_eval import safe_eval |
796 | import print_fnc |
797 | import copy |
798 | -from openerp.osv.orm import browse_null, browse_record |
799 | -import openerp.pooler as pooler |
800 | +from osv.orm import browse_null, browse_record |
801 | +import pooler as pooler |
802 | |
803 | class InheritDict(dict): |
804 | # Might be usefull when we're doing name lookup for call or eval. |
805 | |
806 | === modified file 'openerp/report/printscreen/ps_form.py' |
807 | --- openerp/report/printscreen/ps_form.py 2011-02-07 12:57:23 +0000 |
808 | +++ openerp/report/printscreen/ps_form.py 2011-02-09 22:36:08 +0000 |
809 | @@ -19,11 +19,11 @@ |
810 | # |
811 | ############################################################################## |
812 | |
813 | -from openerp.report.interface import report_int |
814 | -import openerp.pooler as pooler |
815 | -import openerp.tools as tools |
816 | +from report.interface import report_int |
817 | +import pooler |
818 | +import tools |
819 | |
820 | -from openerp.report import render |
821 | +from report import render |
822 | from lxml import etree |
823 | |
824 | import time, os |
825 | |
826 | === modified file 'openerp/report/printscreen/ps_list.py' |
827 | --- openerp/report/printscreen/ps_list.py 2011-02-07 12:57:23 +0000 |
828 | +++ openerp/report/printscreen/ps_list.py 2011-02-09 22:36:08 +0000 |
829 | @@ -19,12 +19,12 @@ |
830 | # |
831 | ############################################################################## |
832 | |
833 | -from openerp.report.interface import report_int |
834 | -import openerp.pooler as pooler |
835 | -import openerp.tools as tools |
836 | -from openerp.tools.safe_eval import safe_eval as eval |
837 | +from report.interface import report_int |
838 | +import pooler |
839 | +import tools |
840 | +from tools.safe_eval import safe_eval as eval |
841 | from lxml import etree |
842 | -from openerp.report import render, report_sxw |
843 | +from report import render, report_sxw |
844 | import locale |
845 | |
846 | import time, os |
847 | |
848 | === modified file 'openerp/report/render/html2html/html2html.py' |
849 | --- openerp/report/render/html2html/html2html.py 2011-02-07 12:57:23 +0000 |
850 | +++ openerp/report/render/html2html/html2html.py 2011-02-09 22:36:08 +0000 |
851 | @@ -19,10 +19,10 @@ |
852 | # |
853 | ############################################################################## |
854 | |
855 | -from openerp.report.render.rml2pdf import utils |
856 | +from report.render.rml2pdf import utils |
857 | from lxml import etree |
858 | import copy |
859 | -import openerp.pooler as pooler |
860 | +import pooler |
861 | import base64 |
862 | import cStringIO |
863 | import re |
864 | |
865 | === modified file 'openerp/report/render/makohtml2html/makohtml2html.py' |
866 | --- openerp/report/render/makohtml2html/makohtml2html.py 2011-02-07 12:57:23 +0000 |
867 | +++ openerp/report/render/makohtml2html/makohtml2html.py 2011-02-09 22:36:08 +0000 |
868 | @@ -22,7 +22,7 @@ |
869 | from lxml import etree |
870 | from mako.template import Template |
871 | from mako.lookup import TemplateLookup |
872 | -import openerp.netsvc as netsvc |
873 | +import netsvc |
874 | import traceback, sys, os |
875 | |
876 | class makohtml2html(object): |
877 | |
878 | === modified file 'openerp/report/render/odt2odt/odt2odt.py' |
879 | --- openerp/report/render/odt2odt/odt2odt.py 2011-02-07 12:57:23 +0000 |
880 | +++ openerp/report/render/odt2odt/odt2odt.py 2011-02-09 22:36:08 +0000 |
881 | @@ -19,7 +19,7 @@ |
882 | # |
883 | ############################################################################## |
884 | |
885 | -from openerp.report.render.rml2pdf import utils |
886 | +from report.render.rml2pdf import utils |
887 | from lxml import etree |
888 | import copy |
889 | |
890 | |
891 | === modified file 'openerp/report/render/rml2html/rml2html.py' |
892 | --- openerp/report/render/rml2html/rml2html.py 2011-02-07 12:57:23 +0000 |
893 | +++ openerp/report/render/rml2html/rml2html.py 2011-02-09 22:36:08 +0000 |
894 | @@ -40,7 +40,7 @@ |
895 | from lxml import etree |
896 | import copy |
897 | import utils |
898 | -from openerp.report.render.rml2pdf import utils |
899 | +from report.render.rml2pdf import utils |
900 | |
901 | class _flowable(object): |
902 | def __init__(self, template, doc, localcontext = None): |
903 | |
904 | === modified file 'openerp/report/render/rml2pdf/customfonts.py' |
905 | --- openerp/report/render/rml2pdf/customfonts.py 2011-02-07 12:57:23 +0000 |
906 | +++ openerp/report/render/rml2pdf/customfonts.py 2011-02-09 22:36:08 +0000 |
907 | @@ -26,7 +26,7 @@ |
908 | import platform |
909 | from reportlab import rl_config |
910 | |
911 | -from openerp.tools import config |
912 | +from tools import config |
913 | |
914 | """This module allows the mapping of some system-available TTF fonts to |
915 | the reportlab engine. |
916 | |
917 | === modified file 'openerp/report/render/rml2pdf/trml2pdf.py' |
918 | --- openerp/report/render/rml2pdf/trml2pdf.py 2011-02-07 12:57:23 +0000 |
919 | +++ openerp/report/render/rml2pdf/trml2pdf.py 2011-02-09 22:36:08 +0000 |
920 | @@ -33,9 +33,9 @@ |
921 | from lxml import etree |
922 | import base64 |
923 | from reportlab.platypus.doctemplate import ActionFlowable |
924 | -from openerp.tools.safe_eval import safe_eval as eval |
925 | +from tools.safe_eval import safe_eval as eval |
926 | from reportlab.lib.units import inch,cm,mm |
927 | -from openerp.tools.misc import file_open |
928 | +from tools.misc import file_open |
929 | from reportlab.pdfbase import pdfmetrics |
930 | |
931 | try: |
932 | |
933 | === modified file 'openerp/report/render/rml2pdf/utils.py' |
934 | --- openerp/report/render/rml2pdf/utils.py 2011-02-07 12:57:23 +0000 |
935 | +++ openerp/report/render/rml2pdf/utils.py 2011-02-09 22:36:08 +0000 |
936 | @@ -43,9 +43,9 @@ |
937 | import re |
938 | import reportlab |
939 | |
940 | -import openerp.tools as tools |
941 | -from openerp.tools.safe_eval import safe_eval as eval |
942 | -from openerp.tools.misc import ustr |
943 | +import tools |
944 | +from tools.safe_eval import safe_eval as eval |
945 | +from tools.misc import ustr |
946 | |
947 | _regex = re.compile('\[\[(.+?)\]\]') |
948 | |
949 | |
950 | === modified file 'openerp/report/render/rml2txt/utils.py' |
951 | --- openerp/report/render/rml2txt/utils.py 2011-02-07 12:57:23 +0000 |
952 | +++ openerp/report/render/rml2txt/utils.py 2011-02-09 22:36:08 +0000 |
953 | @@ -23,7 +23,7 @@ |
954 | import reportlab |
955 | import reportlab.lib.units |
956 | from lxml import etree |
957 | -from openerp.tools.safe_eval import safe_eval as eval |
958 | +from tools.safe_eval import safe_eval as eval |
959 | |
960 | _regex = re.compile('\[\[(.+?)\]\]') |
961 | |
962 | |
963 | === modified file 'openerp/report/report_sxw.py' |
964 | --- openerp/report/report_sxw.py 2011-02-07 12:57:23 +0000 |
965 | +++ openerp/report/report_sxw.py 2011-02-09 22:36:08 +0000 |
966 | @@ -29,12 +29,12 @@ |
967 | from interface import report_rml |
968 | import preprocess |
969 | import logging |
970 | -import openerp.pooler as pooler |
971 | -import openerp.tools as tools |
972 | +import pooler |
973 | +import tools |
974 | import zipfile |
975 | import common |
976 | -from openerp.osv.fields import float as float_class, function as function_class |
977 | -from openerp.osv.orm import browse_record |
978 | +from osv.fields import float as float_class, function as function_class |
979 | +from osv.orm import browse_record |
980 | |
981 | DT_FORMAT = '%Y-%m-%d' |
982 | DHM_FORMAT = '%Y-%m-%d %H:%M:%S' |
983 | |
984 | === modified file 'openerp/service/http_server.py' |
985 | --- openerp/service/http_server.py 2011-02-07 12:57:23 +0000 |
986 | +++ openerp/service/http_server.py 2011-02-09 22:36:08 +0000 |
987 | @@ -31,10 +31,10 @@ |
988 | |
989 | """ |
990 | from websrv_lib import * |
991 | -import openerp.netsvc as netsvc |
992 | +import netsvc |
993 | import errno |
994 | import threading |
995 | -import openerp.tools as tools |
996 | +import tools |
997 | import posixpath |
998 | import urllib |
999 | import os |
1000 | |
1001 | === modified file 'openerp/service/netrpc_server.py' |
1002 | --- openerp/service/netrpc_server.py 2011-02-07 12:57:23 +0000 |
1003 | +++ openerp/service/netrpc_server.py 2011-02-09 22:36:08 +0000 |
1004 | @@ -30,9 +30,9 @@ |
1005 | import threading |
1006 | import traceback |
1007 | |
1008 | -import openerp.netsvc as netsvc |
1009 | -import openerp.tiny_socket as tiny_socket |
1010 | -import openerp.tools as tools |
1011 | +import netsvc |
1012 | +import tiny_socket |
1013 | +import tools |
1014 | |
1015 | class TinySocketClientThread(threading.Thread, netsvc.OpenERPDispatcher): |
1016 | def __init__(self, sock, threads): |
1017 | |
1018 | === modified file 'openerp/service/security.py' |
1019 | --- openerp/service/security.py 2011-02-07 12:57:23 +0000 |
1020 | +++ openerp/service/security.py 2011-02-09 22:36:08 +0000 |
1021 | @@ -19,8 +19,8 @@ |
1022 | # |
1023 | ############################################################################## |
1024 | |
1025 | -import openerp.pooler as pooler |
1026 | -import openerp.tools as tools |
1027 | +import pooler |
1028 | +import tools |
1029 | |
1030 | # When rejecting a password, hide the traceback |
1031 | class ExceptionNoTb(Exception): |
1032 | |
1033 | === modified file 'openerp/service/web_services.py' |
1034 | --- openerp/service/web_services.py 2011-02-07 12:57:23 +0000 |
1035 | +++ openerp/service/web_services.py 2011-02-09 22:36:08 +0000 |
1036 | @@ -27,14 +27,14 @@ |
1037 | import time |
1038 | import sys |
1039 | import platform |
1040 | -from openerp.tools.translate import _ |
1041 | -import openerp.addons as addons |
1042 | -import openerp.ir |
1043 | -import openerp.netsvc as netsvc |
1044 | -import openerp.pooler as pooler |
1045 | -import openerp.release as release |
1046 | -import openerp.sql_db as sql_db |
1047 | -import openerp.tools as tools |
1048 | +from tools.translate import _ |
1049 | +import addons |
1050 | +import ir |
1051 | +import netsvc |
1052 | +import pooler |
1053 | +import release |
1054 | +import sql_db |
1055 | +import tools |
1056 | import locale |
1057 | import logging |
1058 | from cStringIO import StringIO |
1059 | @@ -327,8 +327,8 @@ |
1060 | |
1061 | def exp_migrate_databases(self,databases): |
1062 | |
1063 | - from openerp.osv.orm import except_orm |
1064 | - from openerp.osv.osv import except_osv |
1065 | + from osv.orm import except_orm |
1066 | + from osv.osv import except_osv |
1067 | |
1068 | l = netsvc.Logger() |
1069 | for db in databases: |
1070 | @@ -441,7 +441,7 @@ |
1071 | return tools.misc.get_server_timezone() |
1072 | |
1073 | def exp_get_available_updates(self, contract_id, contract_password): |
1074 | - import openerp.tools.maintenance as tm |
1075 | + import tools.maintenance as tm |
1076 | try: |
1077 | rc = tm.remote_contract(contract_id, contract_password) |
1078 | if not rc.id: |
1079 | @@ -455,7 +455,7 @@ |
1080 | |
1081 | def exp_get_migration_scripts(self, contract_id, contract_password): |
1082 | l = netsvc.Logger() |
1083 | - import openerp.tools.maintenance as tm |
1084 | + import tools.maintenance as tm |
1085 | try: |
1086 | rc = tm.remote_contract(contract_id, contract_password) |
1087 | if not rc.id: |
1088 | |
1089 | === modified file 'openerp/test/test_osv.py' |
1090 | --- openerp/test/test_osv.py 2011-02-07 12:57:23 +0000 |
1091 | +++ openerp/test/test_osv.py 2011-02-09 22:36:08 +0000 |
1092 | @@ -20,7 +20,7 @@ |
1093 | ############################################################################## |
1094 | |
1095 | import unittest |
1096 | -from openerp.osv.query import Query |
1097 | +from osv.query import Query |
1098 | |
1099 | class QueryTestCase(unittest.TestCase): |
1100 | |
1101 | |
1102 | === modified file 'openerp/test/test_translate.py' |
1103 | --- openerp/test/test_translate.py 2011-02-07 12:57:23 +0000 |
1104 | +++ openerp/test/test_translate.py 2011-02-09 22:36:08 +0000 |
1105 | @@ -20,7 +20,7 @@ |
1106 | ############################################################################## |
1107 | |
1108 | import unittest |
1109 | -from openerp.tools.translate import quote, unquote |
1110 | +from tools.translate import quote, unquote |
1111 | |
1112 | class TranslationToolsTestCase(unittest.TestCase): |
1113 | |
1114 | |
1115 | === modified file 'openerp/tools/amount_to_text_en.py' |
1116 | --- openerp/tools/amount_to_text_en.py 2011-02-07 12:57:23 +0000 |
1117 | +++ openerp/tools/amount_to_text_en.py 2011-02-09 22:36:08 +0000 |
1118 | @@ -99,7 +99,7 @@ |
1119 | Example: |
1120 | 1654: thousands six cent cinquante-quatre. |
1121 | """ |
1122 | - import openerp.loglevels as loglevels |
1123 | + import loglevels |
1124 | # if nbr > 10000000: |
1125 | # netsvc.Logger().notifyChannel('translate', netsvc.LOG_WARNING, _("Number too large '%d', can not translate it")) |
1126 | # return str(nbr) |
1127 | |
1128 | === modified file 'openerp/tools/config.py' |
1129 | --- openerp/tools/config.py 2011-02-08 17:09:27 +0000 |
1130 | +++ openerp/tools/config.py 2011-02-09 22:36:08 +0000 |
1131 | @@ -23,10 +23,9 @@ |
1132 | import optparse |
1133 | import os |
1134 | import sys |
1135 | -import openerp |
1136 | -import openerp.loglevels as loglevels |
1137 | +import loglevels |
1138 | import logging |
1139 | -import openerp.release as release |
1140 | +import release |
1141 | |
1142 | def check_ssl(): |
1143 | try: |
1144 | @@ -334,7 +333,7 @@ |
1145 | else: |
1146 | self.options['log_level'] = self._LOGLEVELS.get(self.options['log_level']) or int(self.options['log_level']) |
1147 | |
1148 | - self.options['root_path'] = os.path.abspath(os.path.expanduser(os.path.expandvars(os.path.dirname(openerp.__file__)))) |
1149 | + self.options['root_path'] = os.path.abspath(os.path.expanduser(os.path.expandvars(os.path.dirname(__file__)))) |
1150 | if not self.options['addons_path'] or self.options['addons_path']=='None': |
1151 | self.options['addons_path'] = os.path.join(self.options['root_path'], 'addons') |
1152 | else: |
1153 | |
1154 | === modified file 'openerp/tools/convert.py' |
1155 | --- openerp/tools/convert.py 2011-02-07 12:57:23 +0000 |
1156 | +++ openerp/tools/convert.py 2011-02-09 22:36:08 +0000 |
1157 | @@ -28,7 +28,7 @@ |
1158 | |
1159 | # for eval context: |
1160 | import time |
1161 | -import openerp.release as release |
1162 | +import release |
1163 | try: |
1164 | import pytz |
1165 | except: |
1166 | @@ -41,8 +41,8 @@ |
1167 | from datetime import datetime, timedelta |
1168 | from lxml import etree |
1169 | import misc |
1170 | -import openerp.loglevels as loglevels |
1171 | -import openerp.pooler as pooler |
1172 | +import loglevels |
1173 | +import pooler |
1174 | from config import config |
1175 | from translate import _ |
1176 | from yaml_import import convert_yaml_import |
1177 | @@ -540,7 +540,7 @@ |
1178 | id = _eval_xml(self, rec[0], self.pool, cr, self.uid, self.idref) |
1179 | |
1180 | uid = self.get_uid(cr, self.uid, data_node, rec) |
1181 | - import openerp.netsvc as netsvc |
1182 | + import netsvc |
1183 | wf_service = netsvc.LocalService("workflow") |
1184 | wf_service.trg_validate(uid, model, |
1185 | id, |
1186 | @@ -825,7 +825,7 @@ |
1187 | else: |
1188 | f_val = _eval_xml(self,field, self.pool, cr, self.uid, self.idref) |
1189 | if model._columns.has_key(f_name): |
1190 | - import openerp.osv as osv |
1191 | + import osv |
1192 | if isinstance(model._columns[f_name], osv.fields.integer): |
1193 | f_val = int(f_val) |
1194 | res[f_name] = f_val |
1195 | |
1196 | === modified file 'openerp/tools/misc.py' |
1197 | --- openerp/tools/misc.py 2011-02-08 09:24:58 +0000 |
1198 | +++ openerp/tools/misc.py 2011-02-09 22:36:08 +0000 |
1199 | @@ -55,13 +55,13 @@ |
1200 | except ImportError: |
1201 | html2text = None |
1202 | |
1203 | -import openerp.loglevels as loglevels |
1204 | +import loglevels |
1205 | from config import config |
1206 | from lru import LRU |
1207 | |
1208 | # get_encodings, ustr and exception_to_unicode were originally from tools.misc. |
1209 | # There are moved to loglevels until we refactor tools. |
1210 | -from openerp.loglevels import get_encodings, ustr, exception_to_unicode |
1211 | +from loglevels import get_encodings, ustr, exception_to_unicode |
1212 | |
1213 | _logger = logging.getLogger('tools') |
1214 | |
1215 | @@ -71,7 +71,7 @@ |
1216 | |
1217 | # initialize a database with base/base.sql |
1218 | def init_db(cr): |
1219 | - import openerp.addons as addons |
1220 | + import addons as addons |
1221 | f = addons.get_module_resource('base', 'base.sql') |
1222 | base_sql_file = file_open(f) |
1223 | try: |
1224 | @@ -204,7 +204,7 @@ |
1225 | |
1226 | @return: fileobject if pathinfo is False else (fileobject, filepath) |
1227 | """ |
1228 | - import openerp.addons as addons |
1229 | + import addons |
1230 | adps = addons.ad_paths |
1231 | rtp = os.path.normcase(os.path.abspath(config['root_path'])) |
1232 | |
1233 | |
1234 | === modified file 'openerp/tools/test_reports.py' |
1235 | --- openerp/tools/test_reports.py 2011-02-07 12:57:23 +0000 |
1236 | +++ openerp/tools/test_reports.py 2011-02-09 22:36:08 +0000 |
1237 | @@ -25,11 +25,11 @@ |
1238 | through the code of yaml tests. |
1239 | """ |
1240 | |
1241 | -import openerp.netsvc as netsvc |
1242 | -import openerp.tools as tools |
1243 | +import netsvc |
1244 | +import tools |
1245 | import logging |
1246 | -import openerp.pooler as pooler |
1247 | -from openerp.tools.safe_eval import safe_eval |
1248 | +import pooler |
1249 | +from tools.safe_eval import safe_eval |
1250 | from subprocess import Popen, PIPE |
1251 | import os |
1252 | import tempfile |
1253 | |
1254 | === modified file 'openerp/tools/translate.py' |
1255 | --- openerp/tools/translate.py 2011-02-09 09:02:31 +0000 |
1256 | +++ openerp/tools/translate.py 2011-02-09 22:36:08 +0000 |
1257 | @@ -26,7 +26,7 @@ |
1258 | import itertools |
1259 | import locale |
1260 | import os |
1261 | -import openerp.pooler as pooler |
1262 | +import pooler |
1263 | import re |
1264 | import logging |
1265 | import tarfile |
1266 | @@ -354,7 +354,7 @@ |
1267 | return type, name, res_id, source, trad |
1268 | |
1269 | def write_infos(self, modules): |
1270 | - import openerp.release as release |
1271 | + import release |
1272 | self.buffer.write("# Translation of %(project)s.\n" \ |
1273 | "# This file contains the translation of the following modules:\n" \ |
1274 | "%(modules)s" \ |
1275 | @@ -588,7 +588,7 @@ |
1276 | push_translation(module, 'view', encode(obj.model), 0, t) |
1277 | elif model=='ir.actions.wizard': |
1278 | service_name = 'wizard.'+encode(obj.wiz_name) |
1279 | - import openerp.netsvc as netsvc |
1280 | + import netsvc |
1281 | if netsvc.Service._services.get(service_name): |
1282 | obj2 = netsvc.Service._services[service_name] |
1283 | for state_name, state_def in obj2.states.iteritems(): |
1284 | |
1285 | === modified file 'openerp/tools/yaml_import.py' |
1286 | --- openerp/tools/yaml_import.py 2011-02-07 12:57:23 +0000 |
1287 | +++ openerp/tools/yaml_import.py 2011-02-09 22:36:08 +0000 |
1288 | @@ -4,7 +4,7 @@ |
1289 | from datetime import datetime, timedelta |
1290 | import logging |
1291 | |
1292 | -import openerp.pooler as pooler |
1293 | +import pooler |
1294 | import misc |
1295 | from config import config |
1296 | import yaml_tag |
1297 | @@ -296,7 +296,7 @@ |
1298 | return record_dict |
1299 | |
1300 | def process_record(self, node): |
1301 | - import openerp.osv as osv |
1302 | + import osv |
1303 | record, fields = node.items()[0] |
1304 | model = self.get_model(record.model) |
1305 | if isinstance(model, osv.osv.osv_memory): |
1306 | @@ -447,7 +447,7 @@ |
1307 | signals=[x['signal'] for x in self.cr.dictfetchall()] |
1308 | if workflow.action not in signals: |
1309 | raise YamlImportException('Incorrect action %s. No such action defined' % workflow.action) |
1310 | - import openerp.netsvc as netsvc |
1311 | + import netsvc |
1312 | wf_service = netsvc.LocalService("workflow") |
1313 | wf_service.trg_validate(uid, workflow.model, id, workflow.action, self.cr) |
1314 | |
1315 | |
1316 | === modified file 'openerp/wizard/__init__.py' |
1317 | --- openerp/wizard/__init__.py 2011-02-07 12:57:23 +0000 |
1318 | +++ openerp/wizard/__init__.py 2011-02-09 22:36:08 +0000 |
1319 | @@ -19,18 +19,18 @@ |
1320 | # |
1321 | ############################################################################## |
1322 | |
1323 | -import openerp.netsvc as netsvc |
1324 | -from openerp.tools import copy |
1325 | -from openerp.tools.misc import UpdateableStr, UpdateableDict |
1326 | -from openerp.tools.translate import translate |
1327 | +import netsvc |
1328 | +from tools import copy |
1329 | +from tools.misc import UpdateableStr, UpdateableDict |
1330 | +from tools.translate import translate |
1331 | from lxml import etree |
1332 | |
1333 | -import openerp.ir as ir |
1334 | -import openerp.pooler as pooler |
1335 | +import ir |
1336 | +import pooler |
1337 | |
1338 | -from openerp.osv.osv import except_osv |
1339 | -from openerp.osv.orm import except_orm |
1340 | -from openerp.netsvc import Logger, LOG_ERROR |
1341 | +from osv.osv import except_osv |
1342 | +from osv.orm import except_orm |
1343 | +from netsvc import Logger, LOG_ERROR |
1344 | import sys |
1345 | |
1346 | class except_wizard(Exception): |
1347 | |
1348 | === modified file 'openerp/workflow/instance.py' |
1349 | --- openerp/workflow/instance.py 2011-02-07 12:57:23 +0000 |
1350 | +++ openerp/workflow/instance.py 2011-02-09 22:36:08 +0000 |
1351 | @@ -22,8 +22,8 @@ |
1352 | import wkf_logs |
1353 | import workitem |
1354 | |
1355 | -import openerp.netsvc as netsvc |
1356 | -import openerp.pooler as pooler |
1357 | +import netsvc |
1358 | +import pooler |
1359 | |
1360 | def create(cr, ident, wkf_id): |
1361 | (uid,res_type,res_id) = ident |
1362 | |
1363 | === modified file 'openerp/workflow/wkf_expr.py' |
1364 | --- openerp/workflow/wkf_expr.py 2011-02-07 12:57:23 +0000 |
1365 | +++ openerp/workflow/wkf_expr.py 2011-02-09 22:36:08 +0000 |
1366 | @@ -20,10 +20,10 @@ |
1367 | ############################################################################## |
1368 | |
1369 | import sys |
1370 | -import openerp.netsvc as netsvc |
1371 | -import openerp.osv as base |
1372 | -import openerp.pooler as pooler |
1373 | -from openerp.tools.safe_eval import safe_eval as eval |
1374 | +import netsvc |
1375 | +import osv as base |
1376 | +import pooler |
1377 | +from tools.safe_eval import safe_eval as eval |
1378 | |
1379 | class Env(dict): |
1380 | def __init__(self, cr, uid, model, ids): |
1381 | |
1382 | === modified file 'openerp/workflow/wkf_logs.py' |
1383 | --- openerp/workflow/wkf_logs.py 2011-02-07 12:57:23 +0000 |
1384 | +++ openerp/workflow/wkf_logs.py 2011-02-09 22:36:08 +0000 |
1385 | @@ -22,7 +22,7 @@ |
1386 | # |
1387 | # May be uncommented to logs workflows modifications |
1388 | # |
1389 | -import openerp.netsvc as netsvc |
1390 | +import netsvc |
1391 | |
1392 | def log(cr,ident,act_id,info=''): |
1393 | return |
1394 | |
1395 | === modified file 'openerp/workflow/wkf_service.py' |
1396 | --- openerp/workflow/wkf_service.py 2011-02-07 12:57:23 +0000 |
1397 | +++ openerp/workflow/wkf_service.py 2011-02-09 22:36:08 +0000 |
1398 | @@ -23,8 +23,8 @@ |
1399 | import workitem |
1400 | import instance |
1401 | |
1402 | -import openerp.netsvc as netsvc |
1403 | -import openerp.pooler as pooler |
1404 | +import netsvc |
1405 | +import pooler |
1406 | |
1407 | class workflow_service(netsvc.Service): |
1408 | def __init__(self, name='workflow', audience='*'): |
1409 | |
1410 | === modified file 'openerp/workflow/workitem.py' |
1411 | --- openerp/workflow/workitem.py 2011-02-07 12:57:23 +0000 |
1412 | +++ openerp/workflow/workitem.py 2011-02-09 22:36:08 +0000 |
1413 | @@ -24,7 +24,7 @@ |
1414 | # cr.execute('delete from wkf_triggers where model=%s and res_id=%s', (res_type,res_id)) |
1415 | # |
1416 | |
1417 | -import openerp.netsvc as netsvc |
1418 | +import netsvc |
1419 | import instance |
1420 | |
1421 | import wkf_expr |
1422 | |
1423 | === modified file 'setup.cfg' |
1424 | --- setup.cfg 2010-10-18 22:00:03 +0000 |
1425 | +++ setup.cfg 2011-02-09 22:36:08 +0000 |
1426 | @@ -7,8 +7,8 @@ |
1427 | formats=rpm |
1428 | |
1429 | [bdist_rpm] |
1430 | -# release must exactly match 'release' as set in bin/release.py |
1431 | -release=6.0.0-rc1 |
1432 | +# release must exactly match 'release' as set in openerp/release.py |
1433 | +release=6.1-dev |
1434 | |
1435 | requires=python >= 2.5 |
1436 | #build-requires=python-devel >= 2.3 |
1437 | |
1438 | === modified file 'setup.py' |
1439 | --- setup.py 2011-02-03 23:00:23 +0000 |
1440 | +++ setup.py 2011-02-09 22:36:08 +0000 |
1441 | @@ -42,9 +42,9 @@ |
1442 | import py2exe |
1443 | has_py2exe = True |
1444 | |
1445 | -sys.path.append(join(os.path.abspath(os.path.dirname(__file__)), "bin")) |
1446 | +sys.path.append(join(os.path.abspath(os.path.dirname(__file__)), "openerp")) |
1447 | |
1448 | -execfile(join('bin', 'release.py')) |
1449 | +execfile(join('openerp', 'release.py')) |
1450 | |
1451 | if 'bdist_rpm' in sys.argv: |
1452 | version = version.split('-')[0] |
1453 | @@ -85,7 +85,7 @@ |
1454 | os.walk = walk_followlinks |
1455 | |
1456 | def find_addons(): |
1457 | - for root, _, names in os.walk(join('bin', 'addons'), followlinks=True): |
1458 | + for root, _, names in os.walk(join('openerp', 'addons'), followlinks=True): |
1459 | if '__openerp__.py' in names or '__terp__.py' in names: |
1460 | yield basename(root), root |
1461 | #look for extra modules |
1462 | @@ -111,9 +111,9 @@ |
1463 | '''Build list of data files to be installed''' |
1464 | files = [] |
1465 | if os.name == 'nt': |
1466 | - os.chdir('bin') |
1467 | + os.chdir('openerp') |
1468 | for (dp, dn, names) in os.walk('addons'): |
1469 | - files.append((dp, map(lambda x: join('bin', dp, x), names))) |
1470 | + files.append((dp, map(lambda x: join('openerp', dp, x), names))) |
1471 | os.chdir('..') |
1472 | #for root, _, names in os.walk(join('bin','addons')): |
1473 | # files.append((root, [join(root, name) for name in names])) |
1474 | @@ -121,7 +121,7 @@ |
1475 | files.append((root, [join(root, name) for name in names])) |
1476 | #for root, _, names in os.walk('pixmaps'): |
1477 | # files.append((root, [join(root, name) for name in names])) |
1478 | - files.append(('.', [join('bin', 'import_xml.rng'),])) |
1479 | + files.append(('.', [join('openerp', 'import_xml.rng'),])) |
1480 | else: |
1481 | man_directory = join('share', 'man') |
1482 | files.append((join(man_directory, 'man1'), ['man/openerp-server.1'])) |
1483 | @@ -136,7 +136,7 @@ |
1484 | |
1485 | openerp_site_packages = join(get_python_lib(prefix=''), 'openerp-server') |
1486 | |
1487 | - files.append((openerp_site_packages, [join('bin', 'import_xml.rng'),])) |
1488 | + files.append((openerp_site_packages, [join('openerp', 'import_xml.rng'),])) |
1489 | |
1490 | if sys.version_info[0:2] == (2,5): |
1491 | files.append((openerp_site_packages, [ join('python25-compat','BaseHTTPServer.py'), |
1492 | @@ -163,7 +163,7 @@ |
1493 | f.close() |
1494 | |
1495 | def find_package_dirs(): |
1496 | - package_dirs = {'openerp-server': 'bin'} |
1497 | + package_dirs = {'openerp-server': 'openerp'} |
1498 | for mod, path in find_addons(): |
1499 | package_dirs['openerp-server.addons.' + mod] = path |
1500 | return package_dirs |
1501 | @@ -224,8 +224,8 @@ |
1502 | package_dir = find_package_dirs(), |
1503 | console = [ |
1504 | { |
1505 | - "script": join("bin", "openerp-server.py"), |
1506 | - "icon_resources": [(1, join("pixmaps","openerp-icon.ico"))] |
1507 | + "script": join("openerp","openerp-server.py"), |
1508 | + "icon_resources": [(1, join("pixmaps","openerp-icon.ico"))], |
1509 | } |
1510 | ], |
1511 | options = options, |
1512 | @@ -241,7 +241,7 @@ |
1513 | 'caldav', |
1514 | 'pyyaml', |
1515 | 'pywebdav', |
1516 | - 'feedparser', |
1517 | + 'feedparser', |
1518 | ], |
1519 | extras_require={ |
1520 | 'SSL' : ['pyopenssl'], |
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.