class_docstr: Selector that accepts only entries that match provided field
  specifier(s). Only a limited set of specifiers is supported for now:
    <specifiers>::=<specifier>[<comma><specifiers>]
    <specifier>::=<field_name>[<type_delim><type>]<equal><value_or_range>
    <field_name> is a valid identifier
    <type> ::= "int" | "str"
    <equal> ::= "="
    <comma> ::= ","
    <type_delim> ::= ":"
    <value_or_range> ::= <value> | <range>
    <range> ::= <value><range_delim><value>
    <range_delim> ::= "-"
    <value> is a string without spaces and special symbols
      (e.g. <comma>, <equal>, <type_delim>, <range_delim>)
class_docstr_tok: ["Selector","that","accepts","only","entries","that","match","provided","field","specifier","(","s",")",".","Only","a","limited","set","of","specifiers","is","supported","for","now",":","<","specifiers",">",":",":=","<","specifier",">","[","<","comma",">","<","specifiers",">","]","<","specifier",">",":",":=","<","field_name",">","[","<","type_delim",">","<","type",">","]","<","equal",">","<","value_or_range",">","<","field_name",">","is","a","valid","identifier","<","type",">",":",":=","``","int","''","|","``","str","''","<","equal",">",":",":=","``","=","''","<","comma",">",":",":=","``",",","''","<","type_delim",">",":",":=","``",":","''","<","value_or_range",">",":",":=","<","value",">","|","<","range",">","<","range",">",":",":=","<","value",">","<","range_delim",">","<","value",">","<","range_delim",">",":",":=","``","-","''","<","value",">","is","a","string","without","spaces","and","special","symbols","(","e.g",".","<","comma",">",",","<","equal",">",",","<","type_delim",">",",","<","range_delim",">",")"]
code: def _parse_field_name_type(
      self, field_name_with_type: str
  ) -> Tuple[str, Optional[str]]:
      type_delim_idx = field_name_with_type.find(self._TYPE_DELIM)
      if type_delim_idx > 0:
          field_name = field_name_with_type[:type_delim_idx]
          field_type = field_name_with_type[type_delim_idx + 1 :]
      elif type_delim_idx == 0:
          self._parse_error(
              f'"{field_name_with_type}", field name is empty!'
          )
      else:
          field_name = field_name_with_type
          field_type = None
      # pyre-fixme[61]: `field_name` may not be initialized here.
      # pyre-fixme[61]: `field_type` may not be initialized here.
      return field_name, field_type
  
file_path: detectron2/projects/DensePose/densepose/utils/dbhelper.py
imports: from typing import Any, Dict, Optional, Tuple
label_desc: Use image node_id 4 for calling the FieldEntrySelector obj's underlying member method code with example usage: obj._parse_field_name_type(field_name_with_type) and returns: field_name,  field_type