pygerber.tokens package¶
Submodules¶
pygerber.tokens.add module¶
- class pygerber.tokens.add.ADD_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- class ARGS_dispatcher(pattern: str | Callable)[source]¶
Bases:
pygerber.validators.struct_validator.StructValidator- DIAMETER = <pygerber.validators.coordinate.UnitFloat object>¶
- HOLE_DIAMETER = <pygerber.validators.coordinate.UnitFloat object>¶
- ROTATION = <pygerber.validators.basic.Float object>¶
- VERTICES = <pygerber.validators.basic.Int object>¶
- X = <pygerber.validators.coordinate.UnitFloat object>¶
- Y = <pygerber.validators.coordinate.UnitFloat object>¶
- re_match: re.Match¶
- BASIC_APERTURE = '(?P<TYPE>[CROP]),(?P<ARGS>([-+]?[0-9]*\\.?[0-9]*X?)+)'¶
- CIRCLE_PATTERN = re.compile('(?P<DIAMETER>[-+]?[0-9]*\\.?[0-9]*)(X(?P<HOLE_DIAMETER>[-+]?[0-9]*\\.?[0-9]*))?')¶
- FLOAT_PATTERN = '[-+]?[0-9]*\\.?[0-9]*'¶
- ID = <pygerber.validators.basic.Int object>¶
- NAME = <pygerber.validators.basic.String object>¶
- NAMED_APERTURE = '(?P<NAME>[a-zA-Z0-9]+)'¶
- POLYGON_PATTERN = re.compile('(?P<DIAMETER>[-+]?[0-9]*\\.?[0-9]*)X(?P<VERTICES>[-+]?[0-9]*\\.?[0-9]*)(X(?P<ROTATION>[-+]?[0-9]*\\.?[0-9]*))?(X(?P<HOLE_DIAMETER>[-+]?[0-9]*\\.?[0-9]*))?')¶
- RECTANGLE_PATTERN = re.compile('(?P<X>[-+]?[0-9]*\\.?[0-9]*)X(?P<Y>[-+]?[0-9]*\\.?[0-9]*)(X(?P<HOLE_DIAMETER>[-+]?[0-9]*\\.?[0-9]*))?')¶
- TYPE = <pygerber.validators.basic.String object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%ADD(?P<ID>[0-9]+)((?P<TYPE>[CROP]),(?P<ARGS>([-+]?[0-9]*\\.?[0-9]*X?)+)|(?P<NAME>[a-zA-Z0-9]+))\\*%')¶
pygerber.tokens.am module¶
- class pygerber.tokens.am.ApertureMacro_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- BODY = <pygerber.validators.basic.String object>¶
- NAME = <pygerber.validators.basic.String object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%AM(?P<NAME>.*?)\\*(?P<BODY>.*?)\\*%', re.DOTALL)¶
pygerber.tokens.comment module¶
- class pygerber.tokens.comment.G04_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- STRING = <pygerber.validators.basic.String object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('G04(?P<STRING>.*?)\\*')¶
- class pygerber.tokens.comment.G74_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G74\\*')¶
- class pygerber.tokens.comment.G75_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G75\\*')¶
- class pygerber.tokens.comment.LoadName_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('%LN.*?\\*%', re.DOTALL)¶
pygerber.tokens.control module¶
- class pygerber.tokens.control.EndOfStream_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('M0[02]\\*')¶
- class pygerber.tokens.control.ImagePolarity_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- POLARITY = <pygerber.validators.basic.String object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%IP(?P<POLARITY>((POS)|(NEG)))\\*%')¶
- class pygerber.tokens.control.Whitespace_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- keep: bool = False¶
- regex: re.Pattern = re.compile('\\s+')¶
pygerber.tokens.dispatcher_meta module¶
- class pygerber.tokens.dispatcher_meta.Dispatcher(match_object: re.Match, state: DrawingState)[source]¶
Bases:
objectBase class for all dispatcher objects. Includes tokens and some of the fields.
- class pygerber.tokens.dispatcher_meta.DispatcherMeta(name, bases, attributes)[source]¶
Bases:
abc.ABCMeta- validators: Dict[str, pygerber.validators.validator.Validator] = {}¶
- pygerber.tokens.dispatcher_meta.getvalidators(mesh_factory: pygerber.tokens.dispatcher_meta.Dispatcher) dict[source]¶
Returns validators specified for given Dispatcher.
- Parameters
mesh_factory (Dispatcher) – Object to fetch validators from.
- Returns
dictionary of factory fields.
- Return type
dict
pygerber.tokens.dnn module¶
- class pygerber.tokens.dnn.D01_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- I = <pygerber.validators.coordinate.Coordinate object>¶
- J = <pygerber.validators.coordinate.Coordinate object>¶
- X = <pygerber.validators.coordinate.Coordinate object>¶
- Y = <pygerber.validators.coordinate.Coordinate object>¶
- property end¶
- property offset¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('(X(?P<X>[-+]?[0-9]+))?(Y(?P<Y>[-+]?[0-9]+))?(I(?P<I>[-+]?[0-9]+))?(J(?P<J>[-+]?[0-9]+))?D01\\*')¶
- class pygerber.tokens.dnn.D02_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- X = <pygerber.validators.coordinate.Coordinate object>¶
- Y = <pygerber.validators.coordinate.Coordinate object>¶
- property point¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('(X(?P<X>[-+]?[0-9]+))?(Y(?P<Y>[-+]?[0-9]+))?D02\\*')¶
- class pygerber.tokens.dnn.D03_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.dnn.D02_Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('(X(?P<X>[-+]?[0-9]+))?(Y(?P<Y>[-+]?[0-9]+))?D03\\*')¶
- class pygerber.tokens.dnn.DNN_Loader_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- ID = <pygerber.validators.basic.Int object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('D(?P<ID>[1-9][0-9]*)\\*')¶
- class pygerber.tokens.dnn.G54DNN_Loader_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.dnn.DNN_Loader_Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G54D(?P<ID>[1-9][0-9]*)\\*')¶
pygerber.tokens.fs module¶
- class pygerber.tokens.fs.FormatSpecifierToken(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- property DEC_FORMAT¶
- property INT_FORMAT¶
- X_dec = <pygerber.validators.basic.Int object>¶
- X_int = <pygerber.validators.basic.Int object>¶
- Y_dec = <pygerber.validators.conditional.CallOnCondition object>¶
- Y_int = <pygerber.validators.conditional.CallOnCondition object>¶
- property length¶
- mode = <pygerber.validators.basic.String object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%FS(?P<zeros>[LTD])(?P<mode>[AI])X(?P<X_int>[1-6])(?P<X_dec>[1-6])Y(?P<Y_int>[1-6])(?P<Y_dec>[1-6])\\*%')¶
- zeros = <pygerber.validators.basic.String object>¶
pygerber.tokens.gnn module¶
- class pygerber.tokens.gnn.G0N_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- INTERPOLATION = <pygerber.validators.basic.Int object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('G0(?P<INTERPOLATION>[1-3])\\*?')¶
- class pygerber.tokens.gnn.G36_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G36\\*')¶
- class pygerber.tokens.gnn.G37_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G37\\*')¶
- class pygerber.tokens.gnn.G55_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G55.*?\\*')¶
- class pygerber.tokens.gnn.G70_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G70.*?\\*')¶
- class pygerber.tokens.gnn.G71_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G71.*?\\*')¶
- class pygerber.tokens.gnn.G90_Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- re_match: re.Match¶
- regex: re.Pattern = re.compile('G90\\*')¶
pygerber.tokens.load module¶
- class pygerber.tokens.load.LoadMirroringToken(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- MIRRORING = <pygerber.validators.basic.String object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%LM(?P<MIRRORING>((N)|(X)|(Y)|(XY)))\\*%')¶
- class pygerber.tokens.load.LoadPolarityToken(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- POLARITY = <pygerber.validators.basic.String object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%LP(?P<POLARITY>[CD])\\*%')¶
- class pygerber.tokens.load.LoadRotationToken(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- FLOAT_PATTERN = '[-+]?[0-9]*\\.?[0-9]*'¶
- ROTATION = <pygerber.validators.basic.Float object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%LR(?P<ROTATION>[-+]?[0-9]*\\.?[0-9]*)\\*%')¶
- class pygerber.tokens.load.LoadScalingToken(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.token.Token- FLOAT_PATTERN = '[-+]?[0-9]*\\.?[0-9]*'¶
- SCALE = <pygerber.validators.basic.Float object>¶
- re_match: re.Match¶
- regex: re.Pattern = re.compile('%LS(?P<SCALE>[-+]?[0-9]*\\.?[0-9]*)\\*%')¶
pygerber.tokens.token module¶
- class pygerber.tokens.token.Token(match_object: re.Match, state: DrawingState)[source]¶
Bases:
pygerber.tokens.dispatcher_meta.Dispatcher- keep: bool = True¶
- re_match: re.Match¶
- regex: re.Pattern¶
- render(renderer: Renderer)[source]¶
This method should be called only after token is dispatched and after alter_state().
- renderer: Renderer = None¶