def context_reload(self): self.context = {} self.timezone = 'utc' self.context = self.rpc_exec_auth('/object', 'execute', 'res.users', 'context_get') or {} if 'lang' in self.context: import translate translate.setlang(self.context['lang']) options.options['client.lang']=self.context['lang'] ids = self.rpc_exec_auth('/object', 'execute', 'res.lang', 'search', [('code', '=', self.context['lang'])]) if ids: l = self.rpc_exec_auth('/object', 'execute', 'res.lang', 'read', ids, ['direction']) if l and 'direction' in l[0]: common.DIRECTION = l[0]['direction'] import gtk if common.DIRECTION == 'rtl': gtk.widget_set_default_direction(gtk.TEXT_DIR_RTL) else: gtk.widget_set_default_direction(gtk.TEXT_DIR_LTR) if self.context.get('tz'): # FIXME: Timezone handling # rpc_session.timezone contains the server's idea of its timezone (from time.tzname[0]), # which is quite quite unreliable in some cases. We'll fix this in trunk. self.timezone = self.rpc_exec_auth('/common', 'timezone_get') try: pytz.timezone(self.timezone) except pytz.UnknownTimeZoneError: # Server timezone is not recognized! # Time values will be displayed as if located in the server timezone. (nothing we can do) pass
def context_reload(self): self.context = {} self.timezone = 'utc' self.context = self.rpc_exec_auth('/object', 'execute', 'res.users', 'context_get') or {} if 'lang' in self.context: import translate translate.setlang(self.context['lang']) options.options['client.lang'] = self.context['lang'] lang_ids = self.rpc_exec_auth('/object', 'execute', 'res.lang', 'search', [('code', '=', self.context['lang'])]) if lang_ids: lang_data = self.rpc_exec_auth('/object', 'execute', 'res.lang', 'read', lang_ids, ['date_format', 'time_format', 'grouping', 'decimal_point', 'thousands_sep','direction']) if lang_data and 'direction' in lang_data[0]: common.DIRECTION = lang_data[0]['direction'] import gtk if common.DIRECTION == 'rtl': gtk.widget_set_default_direction(gtk.TEXT_DIR_RTL) else: gtk.widget_set_default_direction(gtk.TEXT_DIR_LTR) tools.user_locale_format.set_locale_cache(lang_data and lang_data[0] or {}) if self.context.get('tz'): # FIXME: Timezone handling # rpc_session.timezone contains the server's idea of its timezone (from time.tzname[0]), # which is quite quite unreliable in some cases. We'll fix this in trunk. self.timezone = self.rpc_exec_auth('/common', 'timezone_get') try: import pytz pytz.timezone(self.timezone) except pytz.UnknownTimeZoneError: # Server timezone is not recognized! # Time values will be displayed as if located in the server timezone. (nothing we can do) pass
def _create_default_config(self): bin_dir = join(self.openerp_dir, 'bin') with working_directory_keeper: # import translate from openerp instead of python sys.path.insert(0, bin_dir) import gtk.glade # NOQA import release __version__ = release.version import __builtin__ __builtin__.__dict__['openerp_version'] = __version__ import translate translate.setlang() # temp replacing sys.argv to avoid buildout options # being interpreted by gtk client's OptionParser argv_bak = sys.argv sys.argv = [argv_bak[0]] import options options.configmanager(self.config_path).save() sys.argv = argv_bak
#gtk.gdk.threads_init() # causes the GTK client to block everything. import locale import gettext import atk import gtk._gtk import pango if os.name == 'nt': sys.path.insert(0, os.path.join(os.getcwd(), os.path.dirname(sys.argv[0]))) os.environ['PATH'] = os.path.join(os.getcwd(), os.path.dirname( sys.argv[0])) + ";" + os.environ['PATH'] import translate translate.setlang() import options # On first run, client won't have a language option, # so try with the LANG environ, or fallback to english client_lang = options.options['client.lang'] if not client_lang: client_lang = os.environ.get('LANG', '').split('.')[0] translate.setlang(client_lang) # add new log levels below DEBUG logging.DEBUG_RPC = logging.DEBUG - 1 logging.addLevelName(logging.DEBUG_RPC, 'DEBUG_RPC') logging.Logger.debug_rpc = lambda self, msg, *args, **kwargs: self.log(
#gtk.gdk.threads_init() # causes the GTK client to block everything. import locale import gettext import atk import gtk._gtk import pango if os.name == 'nt': sys.path.insert(0, os.path.join(os.getcwd(), os.path.dirname(sys.argv[0]))) os.environ['PATH'] = os.path.join(os.getcwd(), os.path.dirname(sys.argv[0])) + ";" + os.environ['PATH'] import translate translate.setlang() import options # On first run, client won't have a language option, # so try with the LANG environ, or fallback to english client_lang = options.options['client.lang'] if not client_lang: client_lang = os.environ.get('LANG', '').split('.')[0] translate.setlang(client_lang) # add new log levels below DEBUG logging.DEBUG_RPC = logging.DEBUG - 1 logging.addLevelName(logging.DEBUG_RPC, 'DEBUG_RPC')