diff --git a/bin/addons/base/maintenance/maintenance.py b/bin/addons/base/maintenance/maintenance.py index b8e8e4dd6c7..0ddf8486e9f 100644 --- a/bin/addons/base/maintenance/maintenance.py +++ b/bin/addons/base/maintenance/maintenance.py @@ -25,6 +25,7 @@ import netsvc from tools.misc import ustr from tools.translate import _ import tools.maintenance as tm +import tools.ping _nlogger = netsvc.Logger() _CHAN = __name__.split()[-1] @@ -93,6 +94,9 @@ class maintenance_contract(osv.osv): for contract in self.browse(cr, uid, ids, context=context): res[contract.id] = ("unvalid", "valid")[contract.date_stop >= time.strftime('%Y-%m-%d')] return res + + def send_ping(self, cr, uid, context={}): + tools.ping.send_ping(cr, uid) _columns = { 'name' : fields.char('Contract ID', size=384, required=True, readonly=True), diff --git a/bin/tools/config.py b/bin/tools/config.py index 3e776d83135..50a127bc1b1 100644 --- a/bin/tools/config.py +++ b/bin/tools/config.py @@ -95,7 +95,11 @@ class configmanager(object): 'maintenance_db': 'tiny_belgium', 'maintenance_login': 'maintenance', 'maintenance_password': 'maintenance', + 'ping_url': 'http://tiny.my.odoo.com:8069/phonehome.php', } + + self.blacklist_for_save = set(['maintenance_server', 'maintenance_db', + 'maintenance_login', 'maintenance_password', "ping_url"]) self.misc = {} self.config_file = fname @@ -446,6 +450,8 @@ class configmanager(object): for opt in sorted(self.options.keys()): if opt in ('version', 'language', 'translate_out', 'translate_in', 'init', 'update'): continue + if opt in self.blacklist_for_save: + continue if opt in ('log_level', 'assert_exit_level'): p.set('options', opt, loglevelnames.get(self.options[opt], self.options[opt])) else: diff --git a/bin/tools/ping.py b/bin/tools/ping.py index 34efaad309a..dd45456fd02 100644 --- a/bin/tools/ping.py +++ b/bin/tools/ping.py @@ -21,20 +21,21 @@ import urllib import pooler +import config def send_ping(cr, uid): - pooler.get_pool(cr.dbname) + pool = pooler.get_pool(cr.dbname) args = urllib.urlencode({ 'arg0': "coucou", }) - uo = urllib.urlopen('http://localhost/phonehome/phonehome.php', args) + uo = urllib.urlopen(config.config.get("ping_url"), args) try: submit_result = uo.read() finally: uo.close() - return "" + return submit_result