code: def get(cls, block_type):
          
          if isinstance(block_type, (BlockType, CustomBlockType)):
              return block_type
  
          if isinstance(block_type, PluginBlockType):
              block_type = block_type.command
  
          block = kurt.plugin.Kurt.block_by_command(block_type)
          if block:
              return block
  
          blocks = kurt.plugin.Kurt.blocks_by_text(block_type)
          for block in blocks: # check the blocks' commands map to unique blocks
              if kurt.plugin.Kurt.block_by_command(
                      block.convert().command) != blocks[0]:
                  raise ValueError(
                          "ambigious block text %r, use one of %r instead" %
                          (block_type, [b.convert().command for b in blocks]))
  
          if blocks:
              return blocks[0]
  
          raise UnknownBlock, repr(block_type)
docs: Return a :class:`BlockType` instance from the given parameter.
  
          * If it's already a BlockType instance, return that.
  
          * If it exactly matches the command on a :class:`PluginBlockType`,
            return the corresponding BlockType.
  
          * If it loosely matches the text on a PluginBlockType, return the
            corresponding BlockType.
  
          * If it's a PluginBlockType instance, look for and return the
            corresponding BlockType.