def update_list(cls): 'Update the list of available packages' count = 0 module_names = get_module_list() modules = cls.search([]) name2module = dict((m.name, m) for m in modules) # iterate through installed modules and mark them as being so for name in module_names: if name in name2module: module = name2module[name] tryton = get_module_info(name) cls._update_dependencies(module, tryton.get('depends', [])) continue tryton = get_module_info(name) if not tryton: continue module, = cls.create([{ 'name': name, 'state': 'uninstalled', }]) count += 1 cls._update_dependencies(module, tryton.get('depends', [])) return count
def update_list(cls): 'Update the list of available packages' count = 0 module_names = get_module_list() modules = cls.search([]) name2id = dict((m.name, m.id) for m in modules) cls.delete([ m for m in modules if m.state != 'activated' and m.name not in module_names ]) # iterate through activated modules and mark them as being so for name in module_names: if name in name2id: module = cls(name2id[name]) tryton = get_module_info(name) cls._update_dependencies(module, tryton.get('depends', [])) continue tryton = get_module_info(name) if not tryton: continue module, = cls.create([{ 'name': name, 'state': 'not activated', }]) count += 1 cls._update_dependencies(module, tryton.get('depends', [])) return count
def init(self): from trytond.modules import get_module_info Flavor.set(self.flavor) with self.get_connection() as conn: cursor = conn.cursor() sql_file = os.path.join(os.path.dirname(__file__), 'init.sql') with open(sql_file) as fp: for line in fp.read().split(';'): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) ir_module = Table('ir_module') ir_module_dependency = Table('ir_module_dependency') for module in ('ir', 'res'): state = 'not activated' if module in ('ir', 'res'): state = 'to activate' info = get_module_info(module) insert = ir_module.insert([ ir_module.create_uid, ir_module.create_date, ir_module.name, ir_module.state ], [[0, CurrentTimestamp(), module, state]]) cursor.execute(*insert) cursor.execute('SELECT last_insert_rowid()') module_id, = cursor.fetchone() for dependency in info.get('depends', []): insert = ir_module_dependency.insert([ ir_module_dependency.create_uid, ir_module_dependency.create_date, ir_module_dependency.module, ir_module_dependency.name, ], [[0, CurrentTimestamp(), module_id, dependency]]) cursor.execute(*insert) conn.commit()
def init(self): from trytond.modules import get_module_info connection = self.get_connection() cursor = connection.cursor() sql_file = os.path.join(os.path.dirname(__file__), 'init.sql') with open(sql_file) as fp: for line in fp.read().split(';'): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) for module in ('ir', 'res'): state = 'uninstalled' if module in ('ir', 'res'): state = 'to install' info = get_module_info(module) cursor.execute('SELECT NEXTVAL(\'ir_module_id_seq\')') module_id = cursor.fetchone()[0] cursor.execute( 'INSERT INTO ir_module ' '(id, create_uid, create_date, name, state) ' 'VALUES (%s, %s, now(), %s, %s)', (module_id, 0, module, state)) for dependency in info.get('depends', []): cursor.execute( 'INSERT INTO ir_module_dependency ' '(create_uid, create_date, module, name) ' 'VALUES (%s, now(), %s, %s)', (0, module_id, dependency)) connection.commit() self.put_connection(connection)
def init(cursor): from trytond.modules import get_module_info sql_file = os.path.join(os.path.dirname(__file__), "init.sql") with open(sql_file) as fp: for line in fp.read().split(";"): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) for module in ("ir", "res", "webdav"): state = "uninstalled" if module in ("ir", "res"): state = "to install" info = get_module_info(module) cursor.execute("SELECT NEXTVAL('ir_module_module_id_seq')") module_id = cursor.fetchone()[0] cursor.execute( "INSERT INTO ir_module_module " "(id, create_uid, create_date, name, state) " "VALUES (%s, %s, now(), %s, %s)", (module_id, 0, module, state), ) for dependency in info.get("depends", []): cursor.execute( "INSERT INTO ir_module_module_dependency " "(create_uid, create_date, module, name) " "VALUES (%s, now(), %s, %s)", (0, module_id, dependency), )
def _check_update_needed(db_name, options): # Get current main module version main_module = config.get('version', 'module', default='coog_core') current_main_module_version = get_module_info(main_module)['version'] # Do the upgrade anyway if -u is activated if options.update: return True, current_main_module_version # Get main module version which stocked in the database version_control_table = Table('upgrade_version_control') cursor = Transaction().connection.cursor() cursor.execute( *version_control_table.select(version_control_table.current_version)) db_main_module_version = cursor.fetchone()[0] if (options.check_update and current_main_module_version != db_main_module_version): logger.warning( f'Current code version ({current_main_module_version}) is ' 'different from the last update version ' '({db_main_module_version}), updating') return True, current_main_module_version logger.warning(f'Current code version ({current_main_module_version}) ' 'matches last update version, nothing to do') return False, current_main_module_version
def init(cursor): from trytond.modules import get_module_info sql_file = os.path.join(os.path.dirname(__file__), 'init.sql') with open(sql_file) as fp: for line in fp.read().split(';'): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) ir_module = Table('ir_module') ir_module_dependency = Table('ir_module_dependency') for module in ('ir', 'res', 'webdav'): state = 'uninstalled' if module in ('ir', 'res'): state = 'to install' info = get_module_info(module) insert = ir_module.insert([ ir_module.create_uid, ir_module.create_date, ir_module.name, ir_module.state ], [[0, CurrentTimestamp(), module, state]]) cursor.execute(*insert) cursor.execute('SELECT last_insert_rowid()') module_id, = cursor.fetchone() for dependency in info.get('depends', []): insert = ir_module_dependency.insert([ ir_module_dependency.create_uid, ir_module_dependency.create_date, ir_module_dependency.module, ir_module_dependency.name ], [[0, CurrentTimestamp(), module_id, dependency]]) cursor.execute(*insert)
def init(self): from trytond.modules import get_module_info with self.get_connection() as conn: cursor = conn.cursor() sql_file = os.path.join(os.path.dirname(__file__), 'init.sql') with open(sql_file) as fp: for line in fp.read().split(';'): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) ir_module = Table('ir_module') ir_module_dependency = Table('ir_module_dependency') for module in ('ir', 'res'): state = 'uninstalled' if module in ('ir', 'res'): state = 'to install' info = get_module_info(module) insert = ir_module.insert( [ir_module.create_uid, ir_module.create_date, ir_module.name, ir_module.state], [[0, CurrentTimestamp(), module, state]]) cursor.execute(*insert) cursor.execute('SELECT last_insert_rowid()') module_id, = cursor.fetchone() for dependency in info.get('depends', []): insert = ir_module_dependency.insert( [ir_module_dependency.create_uid, ir_module_dependency.create_date, ir_module_dependency.module, ir_module_dependency.name, ], [[0, CurrentTimestamp(), module_id, dependency]]) cursor.execute(*insert) conn.commit()
def init(self): from trytond.modules import get_module_info connection = self.get_connection() cursor = connection.cursor() sql_file = os.path.join(os.path.dirname(__file__), 'init.sql') with open(sql_file) as fp: for line in fp.read().split(';'): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) for module in ('ir', 'res'): state = 'uninstalled' if module in ('ir', 'res'): state = 'to install' info = get_module_info(module) cursor.execute('INSERT INTO ir_module ' '(create_uid, create_date, name, state) ' 'VALUES (%s, now(), %s, %s)', (0, module, state)) cursor.execute('SELECT LAST_INSERT_ID()') module_id, = cursor.fetchone() for dependency in info.get('depends', []): cursor.execute('INSERT INTO ir_module_dependency ' '(create_uid, create_date, module, name) ' 'VALUES (%s, now(), %s, %s)', (0, module_id, dependency)) connection.commit() self.put_connection(connection)
def _check_update_needed(db_name, options, transaction): # Get current main module version main_module = config.get('version', 'module', default='coog_core') current_main_module_version = get_module_info(main_module)['version'] # Do the upgrade anyway if -u is activated if options.update: return True, current_main_module_version # Get main module version which stocked in the database version_control_table = Table('upgrade_version_control') cursor = transaction.connection.cursor() cursor.execute( *version_control_table.select(version_control_table.current_version)) db_main_module_version = cursor.fetchone()[0] if options.check_update and current_main_module_version != db_main_module_version: return True, current_main_module_version return False, current_main_module_version
def init(cursor): from trytond.modules import get_module_info sql_file = os.path.join(os.path.dirname(__file__), 'init.sql') with open(sql_file) as fp: for line in fp.read().split(';'): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) for module in ('ir', 'res', 'webdav'): state = 'uninstalled' if module in ('ir', 'res'): state = 'to install' info = get_module_info(module) cursor.execute('INSERT INTO ir_module_module ' '(create_uid, create_date, name, state) ' 'VALUES (%s, %s, %s, %s)', (0, datetime.datetime.now(), module, state)) cursor.execute('SELECT last_insert_rowid()') module_id, = cursor.fetchone() for dependency in info.get('depends', []): cursor.execute('INSERT INTO ir_module_module_dependency ' '(create_uid, create_date, module, name) ' 'VALUES (%s, %s, %s, %s) ', (0, datetime.datetime.now(), module_id, dependency))
def init(cursor): from trytond.modules import get_module_info sql_file = os.path.join(os.path.dirname(__file__), 'init.sql') with open(sql_file) as fp: for line in fp.read().split(';'): if (len(line) > 0) and (not line.isspace()): cursor.execute(line) for module in ('ir', 'res', 'webdav'): state = 'uninstalled' if module in ('ir', 'res'): state = 'to install' info = get_module_info(module) cursor.execute( 'INSERT INTO ir_module_module ' '(create_uid, create_date, name, state) ' 'VALUES (%s, now(), %s, %s)', (0, module, state)) cursor.execute('SELECT LAST_INSERT_ID()') module_id, = cursor.fetchone() for dependency in info.get('depends', []): cursor.execute( 'INSERT INTO ir_module_module_dependency ' '(create_uid, create_date, module, name) ' 'VALUES (%s, now(), %s, %s)', (0, module_id, dependency))
def get_version(self, name): return get_module_info(self.name).get('version', '')