code: def _property_detect_type(name, values):
      '''
      Detect the datatype of a property
      '''
      value_type = 'str'
      if values.startswith('on | off'):
          value_type = 'bool'
      elif values.startswith('yes | no'):
          value_type = 'bool_alt'
      elif values in ['<size>', '<size> | none']:
          value_type = 'size'
      elif values in ['<count>', '<count> | none', '<guid>']:
          value_type = 'numeric'
      elif name in ['sharenfs', 'sharesmb', 'canmount']:
          value_type = 'bool'
      elif name in ['version', 'copies']:
          value_type = 'numeric'
      return value_typf _property_detect_type(name, values):
      '''
      Detect the datatype of a property
      '''
      value_type = 'str'
      if values.startswith('on | off'):
          value_type = 'bool'
      elif values.startswith('yes | no'):
          value_type = 'bool_alt'
      elif values in ['<size>', '<size> | none']:
          value_type = 'size'
      elif values in ['<count>', '<count> | none', '<guid>']:
          value_type = 'numeric'
      elif name in ['sharenfs', 'sharesmb', 'canmount']:
          value_type = 'bool'
      elif name in ['version', 'copies']:
          value_type = 'numeric'
      return value_type
docs: Detect the datatype of a property