# Path: pygchem/utils/exceptions.py
# class PyGChemError(Exception):
# class NotYetImplementedError(PyGChemError):
# class NotPermittedError(PyGChemError):
# class SelectionMismatchError(PyGChemError):
# def warnings_stdout(message, category, filename, lineno, file=None):


import sys
import os
import collections
import cgi
from textwrap import dedent
from keyword import iskeyword
from collections import OrderedDict
from collections import Counter
    from UserList import UserList
    from collections import UserList
from pygchem.utils import exceptions
                               selection)
        return self._create_selection(selection)

    def select_one(self, *args, **kwargs):
        """
        Select one object based on its attributes.

        Similar to :meth:`select` but raises an error if the selection criteria
        result in other than one object.

        Returns
        -------
        A new 1-length list (:class:`RecordList` instance) containing
        the selected object.

        Raises
        ------
        :class:`pygchem.utils.exceptions.SelectionMismatchError`
            if more than one object is found or if no object is found.

        See Also
        --------
        :meth:`select`
        :meth:`select_object`
        """
        selection = self.select(*args, **kwargs)
        if len(selection.data) > 1:
            raise exceptions.SelectionMismatchError("More than one object match"
                                                    " the selection criteria")
        elif not selection.data:

# Path: pygchem/utils/exceptions.py
# class PyGChemError(Exception):
# class NotYetImplementedError(PyGChemError):
# class NotPermittedError(PyGChemError):
# class SelectionMismatchError(PyGChemError):
# def warnings_stdout(message, category, filename, lineno, file=None):


# Path: pygchem/utils/data_structures.py
import sys
import os
import collections
import cgi
from textwrap import dedent
from keyword import iskeyword
from collections import OrderedDict
from collections import Counter
    from UserList import UserList
    from collections import UserList
from pygchem.utils import exceptions

                               selection)
        return self._create_selection(selection)

    def select_one(self, *args, **kwargs):
        """
        Select one object based on its attributes.

        Similar to :meth:`select` but raises an error if the selection criteria
        result in other than one object.

        Returns
        -------
        A new 1-length list (:class:`RecordList` instance) containing
        the selected object.

        Raises
        ------
        :class:`pygchem.utils.exceptions.SelectionMismatchError`
            if more than one object is found or if no object is found.

        See Also
        --------
        :meth:`select`
        :meth:`select_object`
        """
        selection = self.select(*args, **kwargs)
        if len(selection.data) > 1:
            raise exceptions.SelectionMismatchError("More than one object match"
                                                    " the selection criteria")
        elif not selection.data:

            raise exceptions.SelectionMismatchError("No object match the "