diff --git a/Lib/designSpaceDocument/__init__.py b/Lib/designSpaceDocument/__init__.py index b61b9b4be..d26243f84 100644 --- a/Lib/designSpaceDocument/__init__.py +++ b/Lib/designSpaceDocument/__init__.py @@ -158,6 +158,14 @@ class BaseDocWriter(object): def getAxisDecriptor(cls): return cls.axisDescriptorClass() + @classmethod + def getSourceDescriptor(cls): + return cls.sourceDescriptorClass() + + @classmethod + def getInstanceDescriptor(cls): + return cls.instanceDescriptorClass() + def __init__(self, documentPath, documentObject): self.path = documentPath self.documentObject = documentObject @@ -675,6 +683,10 @@ class DesignSpaceDocument(object): # Ask the writer class to make us a new axisDescriptor return self.writerClass.getAxisDecriptor() + def newSourceDescriptor(self): + # Ask the writer class to make us a new sourceDescriptor + return self.writerClass.getSourceDecriptor() + def getAxisOrder(self): names = [] for axisDescriptor in self.axes: