def fsinit(self): # Initialize OpenERP Connection self.server = self.cmdline[0].oerp_server self.port = self.cmdline[0].oerp_port self.dbname = self.cmdline[0].oerp_dbname self.login = self.cmdline[0].oerp_user self.password = self.cmdline[0].oerp_passwd self.oerp_connection = Connection(server=self.server, dbname=self.dbname, login=self.login, password=self.password, port=self.port)
ch.setLevel(logging.DEBUG) else: logger.setLevel(logging.INFO) ch.setLevel(logging.INFO) formatter = logging.Formatter( "%(asctime)s - %(name)s - %(levelname)s - %(message)s") ch.setFormatter(formatter) logger.addHandler(ch) try: logger.info('Open connection to "%s:%s" on "%s" with user "%s" ' % (opts.server, opts.port, opts.dbname, opts.user)) cnx = Connection(server=opts.server, dbname=opts.dbname, login=opts.user, password=opts.passwd, port=opts.port) except Exception, e: logger.error('Fail to connect to the server') logger.error('%s' % str(e)) sys.exit(1) resid = {} opts.directory = os.path.expanduser(opts.directory) # extract scenario scenario_obj = Object(cnx, 'scanner.scenario') model_obj = Object(cnx, 'ir.model') warehouse_obj = Object(cnx, 'stock.warehouse') scen_read = scenario_obj.read(int(opts.scenario_id), [],
def __init__(self, stdscr): """ Initialize the sentinel program """ # Read user configuration config = ConfigParser.SafeConfigParser(DEFAULT_CONFIG) self.datadir = os.path.expanduser("~/") config.read([ '.oerp_sentinelrc', '.openerp_sentinelrc', '.odoo_sentinelrc', os.path.join(self.datadir, '.oerp_sentinelrc'), os.path.join(self.datadir, '.openerp_sentinelrc'), os.path.join(self.datadir, '.odoo_sentinelrc'), ]) # No configfile found, exit if 'openerp' not in config.sections(): raise Exception('Config Error', 'Config file not found !') # Connection to the OpenERP Server self.connection = Connection( server=config.get('openerp', 'host'), dbname=config.get('openerp', 'database'), login=config.get('openerp', 'user'), password=config.get('openerp', 'password'), port=config.get('openerp', 'port'), ) # Open the test file, if any test_file_name = config.get('openerp', 'test_file') self.test_file = None if test_file_name: self.test_file = open(test_file_name, 'r') # Initialize translations self.context = Object(self.connection, 'res.users').context_get() lang = self.context.get('lang', I18N_DEFAULT) gettext.install(I18N_DOMAIN) try: language = gettext.translation( I18N_DOMAIN, I18N_DIR, languages=[lang]) except: language = gettext.translation( I18N_DOMAIN, I18N_DIR, languages=[I18N_DEFAULT]) # Replace global dummy lambda by the translations gettext method # The install method of gettext doesn't replace the function if exists global _ _ = language.gettext # Initialize hardware self.hardware_obj = Object(self.connection, 'scanner.hardware') self.scenario_obj = Object(self.connection, 'scanner.scenario') # Initialize window self.screen = stdscr self._set_screen_size() self._init_colors() # Get the informations for this material from server (identified by IP) self.hardware_code = '' self.scenario_id = False self.scenario_name = False try: ssh_data = os.environ['SSH_CONNECTION'].split(' ') self.hardware_code = ssh_data[0] self.scanner_check() except: self.hardware_code = self._input_text( _('Autoconfiguration failed !\nPlease enter terminal code')) self.scanner_check() # Resize window to terminal screen size self._resize() # Reinit colors with values configured in OpenERP self._reinit_colors() # Initialize mouse events capture curses.mousemask( curses.BUTTON1_CLICKED | curses.BUTTON1_DOUBLE_CLICKED) # Reinitialize to the main menu when using a test file (useful when # the last run has crashed before end) if test_file_name: self.oerp_call('end') # Load the sentinel self.main_loop()
def __init__(self, stdscr): """ Initialize the sentinel program """ # Read user configuration config = ConfigParser.SafeConfigParser(DEFAULT_CONFIG) config.read('.oerp_sentinelrc') # No configfile found, exit if not 'openerp' in config.sections(): raise Exception('Config Error', 'Config file not found !') # Connection to the OpenERP Server self.connection = Connection( server=config.get('openerp', 'host'), dbname=config.get('openerp', 'database'), login=config.get('openerp', 'user'), password=config.get('openerp', 'password'), port=config.get('openerp', 'port'), ) # Initialize translations context = Object(self.connection, 'res.users').context_get() lang = context.get('lang', I18N_DEFAULT) gettext.install(I18N_DOMAIN) try: language = gettext.translation(I18N_DOMAIN, I18N_DIR, languages=[lang]) except: language = gettext.translation(I18N_DOMAIN, I18N_DIR, languages=[I18N_DEFAULT]) language.install() # Initialize hardware self.hardware_obj = Object(self.connection, 'scanner.hardware') # Initialize window self.screen = stdscr self._set_screen_size() self._init_colors() # Get the informations for this material from server (identified by IP) self.hardware_code = '' self.scenario_id = False try: ssh_data = os.environ['SSH_CONNECTION'].split(' ') self.hardware_code = ssh_data[0] self.scenario_id = self.hardware_obj.scanner_check( self.hardware_code) except: self.hardware_code = self._input_text( _('Autoconfiguration failed !\nPlease enter terminal code')) self.scenario_id = self.hardware_obj.scanner_check( self.hardware_code) # Resize window to terminal screen size self._resize() # Reinit colors with values configured in OpenERP self._reinit_colors() # Initialize mouse events capture curses.mousemask(curses.BUTTON1_CLICKED | curses.BUTTON1_DOUBLE_CLICKED) # Load the sentinel self.main_loop()