# Path: src/pulse/scripts/pulse/rigs.py
# RIG_METACLASS = 'pulse_rig'
# 
# Path: src/pulse/scripts/pulse/serializer.py
# class UnsortableOrderedDict(OrderedDict):
#     def items(self, *args, **kwargs):
#         return UnsortableList(OrderedDict.items(self, *args, **kwargs))


import logging
import os
import re
import maya.cmds as cmds
import pymetanode as meta
from .rigs import RIG_METACLASS
from .serializer import UnsortableOrderedDict
        if not self._log:
            self._log = logging.getLogger(self.getLoggerName())
        return self._log

    def getMinApiVersion(self):
        """
        Override to return the minimum Maya api version required for this BuildAction.
        (This compares against `cmds.about(api=True)`)
        """
        return 0

    def getRigMetaData(self):
        """
        Return all meta data on the rig being built
        """
        if not self.rig:
            self.log.error('Cannot get rig meta data, no rig is set')
            return {}
        return meta.getMetaData(self.rig, RIG_METACLASS)

    def updateRigMetaData(self, data):
        """
        Add some meta data to the rig being built

        Args:
            data: A dict containing meta data to update on the rig
        """
        if not self.rig:
            self.log.error('Cannot update rig meta data, no rig is set')
            return

# Path: src/pulse/scripts/pulse/rigs.py
# RIG_METACLASS = 'pulse_rig'
# 
# Path: src/pulse/scripts/pulse/serializer.py
# class UnsortableOrderedDict(OrderedDict):
#     def items(self, *args, **kwargs):
#         return UnsortableList(OrderedDict.items(self, *args, **kwargs))


# Path: src/pulse/scripts/pulse/buildItems.py
import logging
import os
import re
import maya.cmds as cmds
import pymetanode as meta
from .rigs import RIG_METACLASS
from .serializer import UnsortableOrderedDict

        if not self._log:
            self._log = logging.getLogger(self.getLoggerName())
        return self._log

    def getMinApiVersion(self):
        """
        Override to return the minimum Maya api version required for this BuildAction.
        (This compares against `cmds.about(api=True)`)
        """
        return 0

    def getRigMetaData(self):
        """
        Return all meta data on the rig being built
        """
        if not self.rig:
            self.log.error('Cannot get rig meta data, no rig is set')
            return {}
        return meta.getMetaData(self.rig, RIG_METACLASS)

    def updateRigMetaData(self, data):
        """
        Add some meta data to the rig being built

        Args:
            data: A dict containing meta data to update on the rig
        """
        if not self.rig:
            self.log.error('Cannot update rig meta data, no rig is set')
            return

        meta.updateMetaData(self.rig, RIG_METACLASS, data)