ParsingSpecification
Module¶
This modules specifies how to convert JSON to knitting patterns.
When parsing knitting patterns
a lot of classes can
be used.
The ParsingSpecification
is the one place where to go to change a
class that is used throughout the whole structure loaded by e.g. a
knittingpattern.Parser.Parser
.
new_knitting_pattern_set_loader()
is a convinient interface for
loading knitting patterns.
These functions should do the same:
# (1) load from module
import knittingpattern
kp = knittingpattern.load_from_file("my_pattern")
# (2) load from knitting pattern
from knittingpattern.ParsingSpecification import *
kp = new_knitting_pattern_set_loader().file("my_pattern")
-
class
knittingpattern.ParsingSpecification.
ParsingSpecification
(new_loader=<class 'knittingpattern.Loader.JSONLoader'>, new_parser=<class 'knittingpattern.Parser.Parser'>, new_parsing_error=<class 'knittingpattern.Parser.ParsingError'>, new_pattern_set=<class 'knittingpattern.KnittingPatternSet.KnittingPatternSet'>, new_pattern_collection=<class 'knittingpattern.IdCollection.IdCollection'>, new_row_collection=<class 'knittingpattern.IdCollection.IdCollection'>, new_pattern=<class 'knittingpattern.KnittingPattern.KnittingPattern'>, new_row=<class 'knittingpattern.Row.Row'>, new_default_instructions=<class 'knittingpattern.InstructionLibrary.DefaultInstructions'>, new_instruction_in_row=<class 'knittingpattern.Instruction.InstructionInRow'>)[source]¶ Bases:
object
This is the specification for knitting pattern parsers.
The
<knittingpattern.Parser.Parser>
uses this specification to parse the knitting patterns. You can change every class in the data structure to add own functionality.-
__init__
(new_loader=<class 'knittingpattern.Loader.JSONLoader'>, new_parser=<class 'knittingpattern.Parser.Parser'>, new_parsing_error=<class 'knittingpattern.Parser.ParsingError'>, new_pattern_set=<class 'knittingpattern.KnittingPatternSet.KnittingPatternSet'>, new_pattern_collection=<class 'knittingpattern.IdCollection.IdCollection'>, new_row_collection=<class 'knittingpattern.IdCollection.IdCollection'>, new_pattern=<class 'knittingpattern.KnittingPattern.KnittingPattern'>, new_row=<class 'knittingpattern.Row.Row'>, new_default_instructions=<class 'knittingpattern.InstructionLibrary.DefaultInstructions'>, new_instruction_in_row=<class 'knittingpattern.Instruction.InstructionInRow'>)[source]¶ Create a new parsing specification.
-
__weakref__
¶ list of weak references to the object (if defined)
-
-
knittingpattern.ParsingSpecification.
new_knitting_pattern_set_loader
(specification=<knittingpattern.ParsingSpecification.DefaultSpecification>)[source]¶ Create a loader for a knitting pattern set.
Parameters: specification¶ – a specification
for the knitting pattern set, defaultDefaultSpecification
-
class
knittingpattern.ParsingSpecification.
DefaultSpecification
[source]¶ Bases:
knittingpattern.ParsingSpecification.ParsingSpecification
This is the default specification.
It is created like pasing no arguments to
ParsingSpecification
. The idea is to make the default specification easy to spot and create.