def test_decode_class_name(self): """Test decoding of class names.""" for (class_name, encoded_class_name) in self.class_names: self.assertEqual(ft.decode_class_name(encoded_class_name), class_name) self.assertEqual( ft.decode_class_name(ft.encode_class_name(class_name)), class_name)
def get_module_path(name, generic=False, decode=True): """ Determine the module path for a given easyblock or software name, based on the encoded class name. """ if name is None: return None # example: 'EB_VSC_minus_tools' should result in 'vsc_tools' if decode: name = decode_class_name(name) module_name = remove_unwanted_chars(name.replace('-', '_')).lower() modpath = ['easybuild', 'easyblocks'] if generic: modpath.append('generic') return '.'.join(modpath + [module_name])
def test_encode_class_name(self): """Test encoding of class names.""" for (class_name, encoded_class_name) in self.class_names: self.assertEqual(ft.encode_class_name(class_name), encoded_class_name) self.assertEqual(ft.encode_class_name(ft.decode_class_name(encoded_class_name)), encoded_class_name)