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, default DefaultSpecification
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.

__init__()[source]

Initialize the default specification with no arguments.

classmethod __repr__()[source]

The string representation of the object.

Returns:the string representation
Return type:str