parameters: (module_spec)
docstring: Checks the full specification. This is a dict that contains the
         element "module_spec", which is in itself a dict that
         must contain at least a "module_name" (string) and optionally
         a "config_data", a "commands" and a "statistics" element, all
         of which are lists of dicts. Raises a ModuleSpecError if there
         is a problem.
docstring_summary: Checks the full specification. This is a dict that contains the
         element "module_spec", which is in itself a dict that
         must contain at least a "module_name" (string) and optionally
         a "config_data", a "commands" and a "statistics" element, all
         of which are lists of dicts. Raises a ModuleSpecError if there
         is a problem.
docstring_tokens: Checks the full specification . This is a dict that contains the element module_spec which is in itself a dict that must contain at least a module_name ( string ) and optionally a config_data a commands and a statistics element all of which are lists of dicts . Raises a ModuleSpecError if there is a problem .
function: def _check(module_spec):
      """Checks the full specification. This is a dict that contains the
         element "module_spec", which is in itself a dict that
         must contain at least a "module_name" (string) and optionally
         a "config_data", a "commands" and a "statistics" element, all
         of which are lists of dicts. Raises a ModuleSpecError if there
         is a problem."""
      if type(module_spec) != dict:
          raise ModuleSpecError("data specification not a dict")
      if "module_name" not in module_spec:
          raise ModuleSpecError("no module_name in module_spec")
      if "module_description" in module_spec and \
         type(module_spec["module_description"]) != str:
          raise ModuleSpecError("module_description is not a string")
      if "config_data" in module_spec:
          _check_config_spec(module_spec["config_data"])
      if "commands" in module_spec:
          _check_command_spec(module_spec["commands"])
      if "statistics" in module_spec:
          _check_statistics_spec(module_spec["statistics"])
function_tokens: def _check ( module_spec ) : if type ( module_spec ) != dict : raise ModuleSpecError ( "data specification not a dict" ) if "module_name" not in module_spec : raise ModuleSpecError ( "no module_name in module_spec" ) if "module_description" in module_spec and type ( module_spec [ "module_description" ] ) != str : raise ModuleSpecError ( "module_description is not a string" ) if "config_data" in module_spec : _check_config_spec ( module_spec [ "config_data" ] ) if "commands" in module_spec : _check_command_spec ( module_spec [ "commands" ] ) if "statistics" in module_spec : _check_statistics_spec ( module_spec [ "statistics" ] )