def _compile_dependecies(user, modules): """ Compile affected modules """ logging.debug('Compiling dependency ..') yangdst = _get_yang_path(user) dfile = os.path.join(yangdst, 'dependencies.xml') if not os.path.exists(dfile): logging.debug('Dependency file not found!!') return dmodules = Set([]) dgraph = DYGraph(dfile) for m in modules: module = dgraph.dependency_module(m) if module is None: continue for name in module.imports: dmodules.add(name) for name in module.depends: dmodules.add(name) dmodules_list = list(dmodules) for yangfile in glob.glob(os.path.join(yangdst, '*.yang')): basename = os.path.basename(yangfile) #skip dependency module itself if basename in modules: continue base = os.path.splitext(basename)[0] if '@' in base: base = base.split('@')[0] if base in dmodules_list: (rc, msgs) = Compiler.compile_cxml(user, None, yangfile)
def sync_file(user, session, filename, index): """ Compile yang module """ if index == '0': logging.debug('Compiling session dependency ...') Compiler.compile_pyimport(user, session) _file = os.path.join(_get_session_path(session), filename) if os.path.exists(_file): (rc, msgs) = Compiler.compile_cxml(user, session, _file) else: logging.error('sync_file: File %s not found ' % filename) (rc, msgs) = (False, None) return (rc, msgs)
def _compile_dependecies(user, modules, session=None): """ Compile affected modules """ logging.debug('_compile_dependecies: enter') dmodules_list = Compiler.get_dependencies(user, modules, session) if not dmodules_list: logging.debug('_compile_dependecies: no dependency found !!') return # strip file path dmodules = [] for m in dmodules_list: base_m = os.path.basename(m) base_m = os.path.splitext(base_m)[0] if '@' in base_m: base_m = base_m.split('@')[0] dmodules.append(base_m) yangdst = ServerSettings.yang_path(user) for yangfile in glob.glob(os.path.join(yangdst, '*.yang')): basename = os.path.basename(yangfile) # skip dependency module itself if basename in modules: continue base = os.path.splitext(basename)[0] if '@' in base: base = base.split('@')[0] if base in dmodules: # ignore some common files if base in ignore_list: logging.debug('Compile dependency: ignoring ' + base) continue Compiler.compile_cxml(user, None, yangfile) logging.debug('_compile_dependecies: done')
def _compile_dependecies(user, modules, session=None): """ Compile affected modules """ logging.debug('_compile_dependecies: enter') dmodules_list = Compiler.get_dependencies(user, modules, session) if not dmodules_list: logging.debug('_compile_dependecies: no dependency found !!') return #strip file path dmodules = [] for m in dmodules_list: base_m = os.path.basename(m) base_m = os.path.splitext(base_m)[0] if '@' in base_m: base_m = base_m.split('@')[0] dmodules.append(base_m) yangdst = ServerSettings.yang_path(user) for yangfile in glob.glob(os.path.join(yangdst, '*.yang')): basename = os.path.basename(yangfile) #skip dependency module itself if basename in modules: continue base = os.path.splitext(basename)[0] if '@' in base: base = base.split('@')[0] if base in dmodules: # ignore some common files if base in ignore_list: logging.debug('Compile dependency: ignoring ' + base) continue Compiler.compile_cxml(user, None, yangfile) logging.debug('_compile_dependecies: done')
def sync_file(user, session, filename, index): """ Compile yang module """ if index == '0': logging.debug('Compiling session dependency ...') (rc, msg) = Compiler.compile_pyimport(user, session) if not rc: return (rc, msg) _file = os.path.join(ServerSettings.session_path(session), filename) if os.path.exists(_file): (rc, msgs) = Compiler.compile_cxml(user, session, _file) else: logging.error('sync_file: File %s not found ' % filename) (rc, msgs) = (False, None) return (rc, msgs)