diff --git a/openerp/service/common.py b/openerp/service/common.py index f06ab3fe5aa..ac5478031e8 100644 --- a/openerp/service/common.py +++ b/openerp/service/common.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- import logging -import threading import openerp.osv.orm # TODO use openerp.exceptions import openerp.pooler @@ -65,111 +64,6 @@ def exp_about(extended=False): def exp_timezone_get(db, login, password): return openerp.tools.misc.get_server_timezone() -def exp_get_available_updates(contract_id, contract_password): - import openerp.tools.maintenance as tm - try: - rc = tm.remote_contract(contract_id, contract_password) - if not rc.id: - raise tm.RemoteContractException('This contract does not exist or is not active') - - return rc.get_available_updates(rc.id, openerp.modules.get_modules_with_version()) - - except tm.RemoteContractException, e: - raise openerp.osv.orm.except_orm('Migration Error', str(e)) - - -def exp_get_migration_scripts(contract_id, contract_password): - import openerp.tools.maintenance as tm - try: - rc = tm.remote_contract(contract_id, contract_password) - if not rc.id: - raise tm.RemoteContractException('This contract does not exist or is not active') - if rc.status != 'full': - raise tm.RemoteContractException('Can not get updates for a partial contract') - - _logger.info('starting migration with contract %s', rc.name) - - zips = rc.retrieve_updates(rc.id, openerp.modules.get_modules_with_version()) - - from shutil import rmtree, copytree, copy - - backup_directory = os.path.join(openerp.tools.config['root_path'], 'backup', time.strftime('%Y-%m-%d-%H-%M')) - if zips and not os.path.isdir(backup_directory): - _logger.info('create a new backup directory to store the old modules: %s', backup_directory) - os.makedirs(backup_directory) - - for module in zips: - _logger.info('upgrade module %s', module) - mp = openerp.modules.get_module_path(module) - if mp: - if os.path.isdir(mp): - copytree(mp, os.path.join(backup_directory, module)) - if os.path.islink(mp): - os.unlink(mp) - else: - rmtree(mp) - else: - copy(mp + 'zip', backup_directory) - os.unlink(mp + '.zip') - - try: - try: - base64_decoded = base64.decodestring(zips[module]) - except Exception: - _logger.error('unable to read the module %s', module) - raise - - zip_contents = StringIO(base64_decoded) - zip_contents.seek(0) - try: - try: - openerp.tools.extract_zip_file(zip_contents, openerp.tools.config['addons_path'] ) - except Exception: - _logger.error('unable to extract the module %s', module) - rmtree(module) - raise - finally: - zip_contents.close() - except Exception: - _logger.error('restore the previous version of the module %s', module) - nmp = os.path.join(backup_directory, module) - if os.path.isdir(nmp): - copytree(nmp, openerp.tools.config['addons_path']) - else: - copy(nmp+'.zip', openerp.tools.config['addons_path']) - raise - - return True - except tm.RemoteContractException, e: - raise openerp.osv.orm.except_orm('Migration Error', str(e)) - except Exception, e: - _logger.exception('Exception in get_migration_script:') - raise - -def exp_get_server_environment(): - os_lang = '.'.join( [x for x in locale.getdefaultlocale() if x] ) - if not os_lang: - os_lang = 'NOT SET' - environment = '\nEnvironment Information : \n' \ - 'System : %s\n' \ - 'OS Name : %s\n' \ - %(platform.platform(), platform.os.name) - if os.name == 'posix': - if platform.system() == 'Linux': - lsbinfo = os.popen('lsb_release -a').read() - environment += '%s'% lsbinfo - else: - environment += 'Your System is not lsb compliant\n' - environment += 'Operating System Release : %s\n' \ - 'Operating System Version : %s\n' \ - 'Operating System Architecture : %s\n' \ - 'Operating System Locale : %s\n'\ - 'Python Version : %s\n'\ - 'OpenERP-Server Version : %s'\ - %(platform.release(), platform.version(), platform.architecture()[0], - os_lang, platform.python_version(), openerp.release.version) - return environment - def exp_login_message(): return openerp.tools.config.get('login_message', False) @@ -178,23 +72,4 @@ def exp_set_loglevel(loglevel, logger=None): # `openerp.netsvc.Logger` class. return True -def exp_get_stats(): - res = "OpenERP server: %d threads\n" % threading.active_count() - res += netsvc.Server.allStats() - return res - -def exp_list_http_services(): - return http_server.list_http_services() - -def exp_check_connectivity(): - return bool(sql_db.db_connect('postgres')) - -def exp_get_os_time(): - return os.times() - -def exp_get_sqlcount(): - if not logging.getLogger('openerp.sql_db').isEnabledFor(logging.DEBUG): - _logger.warning("Counters of SQL will not be reliable unless logger openerp.sql_db is set to level DEBUG or higer.") - return sql_db.sql_counter - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/openerp/tools/misc.py b/openerp/tools/misc.py index c145209e2f1..bfc0ce20d6e 100644 --- a/openerp/tools/misc.py +++ b/openerp/tools/misc.py @@ -642,21 +642,6 @@ def icons(*a, **kw): global __icons_list return [(x, x) for x in __icons_list ] -def extract_zip_file(zip_file, outdirectory): - zf = zipfile.ZipFile(zip_file, 'r') - out = outdirectory - for path in zf.namelist(): - tgt = os.path.join(out, path) - tgtdir = os.path.dirname(tgt) - if not os.path.exists(tgtdir): - os.makedirs(tgtdir) - - if not tgt.endswith(os.sep): - fp = open(tgt, 'wb') - fp.write(zf.read(path)) - fp.close() - zf.close() - def detect_ip_addr(): """Try a very crude method to figure out a valid external IP or hostname for the current machine. Don't rely on this