def ParseFile( self, knowledge_base: rdf_client.KnowledgeBase, pathspec: rdf_paths.PathSpec, filedesc: IO[bytes], ) -> Iterator[rdf_config_file.NfsExport]: del knowledge_base # Unused. del pathspec # Unused. for entry in self._field_parser.ParseEntries( utils.ReadFileBytesAsUnicode(filedesc)): if not entry: continue result = rdf_config_file.NfsExport() result.share = entry[0] for field in entry[1:]: if field.startswith(("-", "(")): result.defaults = field.strip("-()").split(",") else: client = rdf_config_file.NfsClient() cfg = field.split("(", 1) host = cfg[0] if len(cfg) > 1: options = cfg[1] else: options = None client.host = host if options: client.options = options.strip("()").split(",") result.clients.append(client) yield result
def Parse(self, unused_stat, file_obj, unused_knowledge_base): for entry in self.ParseEntries(file_obj.read()): if not entry: continue result = rdf_config_file.NfsExport() result.share = entry[0] for field in entry[1:]: if field.startswith(("-", "(")): result.defaults = field.strip("-()").split(",") else: client = rdf_config_file.NfsClient() cfg = field.split("(", 1) host = cfg[0] if len(cfg) > 1: options = cfg[1] else: options = None client.host = host if options: client.options = options.strip("()").split(",") result.clients.append(client) yield result