nmk_proto.files

File resolvers sub-module

Classes

ProtoFilesFinder

Input proto files resolver

ProtoAllSubDirsFinder

Proto subfolders list resolver

ProtoUniqueSubDirsFinder

Proto subfolders set resolver

ProtoPathOptionsBuilder

Paths options list resolver

Module Contents

class nmk_proto.files.ProtoFilesFinder(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkListConfigResolver

Input proto files resolver

get_value(name: str, folder: str) list[pathlib.Path]

List all proto files found in input folder

Parameters:
  • name – config item name

  • folder – root proto folder

Returns:

list of input proto files

class nmk_proto.files.ProtoAllSubDirsFinder(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkListConfigResolver

Proto subfolders list resolver

get_value(name: str, folder: str, input_files: list[pathlib.Path]) list[pathlib.Path]

List all proto sub-folders (one per file)

Parameters:
  • name – config item name

  • folder – root proto folder

  • input_files – list of all input proto files

Returns:

list of proto sub-folders

class nmk_proto.files.ProtoUniqueSubDirsFinder(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkListConfigResolver

Proto subfolders set resolver

get_value(name: str, input_subdirs: list[pathlib.Path]) list[pathlib.Path]

List all proto sub-folders (no duplicates)

Parameters:
  • name – config item name

  • input_subdirs – list of all subdirs relative to proto root folder

Returns:

set of proto sub-folders

class nmk_proto.files.ProtoPathOptionsBuilder(model: nmk.model.model.NmkModel)

Bases: nmk.model.resolver.NmkListConfigResolver

Paths options list resolver

get_value(name: str, folder: str, deps: list[str]) list[str]

Build path options list for protoc command

Parameters:
  • name – config item name

  • folder – root proto folder

  • deps – list of extra proto paths for generation

Returns:

list of path options