def get_attributes(self, section, strip_namespaces=False):
        """
        Returns given section attributes.

        Usage::

            >>> content = ["[Section A]\\n", "; Comment.\\n", "Attribute 1 = \\"Value A\\"\\n", "\\n", \
"[Section B]\\n", "Attribute 2 = \\"Value B\\"\\n"]
            >>> sections_file_parser = SectionsFileParser()
            >>> sections_file_parser.content = content
            >>> sections_file_parser.parse()
            <foundations.parsers.SectionsFileParser object at 0x125698322>
            >>> sections_file_parser.get_attributes("Section A")
            OrderedDict([(u'Section A|Attribute 1', u'Value A')])
            >>> sections_file_parser.preserve_order=False
            >>> sections_file_parser.get_attributes("Section A")
            {u'Section A|Attribute 1': u'Value A'}
            >>> sections_file_parser.preserve_order=True
            >>> sections_file_parser.get_attributes("Section A", strip_namespaces=True)
            OrderedDict([(u'Attribute 1', u'Value A')])

        :param section: Section containing the requested attributes.
        :type section: unicode
        :param strip_namespaces: Strip namespaces while retrieving attributes.
        :type strip_namespaces: bool
        :return: Attributes.
        :rtype: OrderedDict or dict
        """

        LOGGER.debug("> Getting section '{0}' attributes.".format(section))

        attributes = OrderedDict() if self.__preserve_order else dict()
        if not self.section_exists(section):
            return attributes

        if strip_namespaces:
            for attribute, value in self.__sections[section].iteritems():
                attributes[foundations.namespace.remove_namespace(attribute, root_only=True)] = value
        else:
            attributes.update(self.__sections[section])
        LOGGER.debug("> Attributes: '{0}'.".format(attributes))
        return attributes
def get_attributes ( self , section , strip_namespaces = False ) : LOGGER . debug ( "> Getting section '{0}' attributes." . format ( section ) ) attributes = OrderedDict ( ) if self . __preserve_order else dict ( ) if not self . section_exists ( section ) : return attributes if strip_namespaces : for attribute , value in self . __sections [ section ] . iteritems ( ) : attributes [ foundations . namespace . remove_namespace ( attribute , root_only = True ) ] = value else : attributes . update ( self . __sections [ section ] ) LOGGER . debug ( "> Attributes: '{0}'." . format ( attributes ) ) return attributes
Returns given section attributes.

        Usage::

            >>> content = ["[Section A]\\n", "; Comment.\\n", "Attribute 1 = \\"Value A\\"\\n", "\\n", \
"[Section B]\\n", "Attribute 2 = \\"Value B\\"\\n"]
            >>> sections_file_parser = SectionsFileParser()
            >>> sections_file_parser.content = content
            >>> sections_file_parser.parse()
            <foundations.parsers.SectionsFileParser object at 0x125698322>
            >>> sections_file_parser.get_attributes("Section A")
            OrderedDict([(u'Section A|Attribute 1', u'Value A')])
            >>> sections_file_parser.preserve_order=False
            >>> sections_file_parser.get_attributes("Section A")
            {u'Section A|Attribute 1': u'Value A'}
            >>> sections_file_parser.preserve_order=True
            >>> sections_file_parser.get_attributes("Section A", strip_namespaces=True)
            OrderedDict([(u'Attribute 1', u'Value A')])

        :param section: Section containing the requested attributes.
        :type section: unicode
        :param strip_namespaces: Strip namespaces while retrieving attributes.
        :type strip_namespaces: bool
        :return: Attributes.
        :rtype: OrderedDict or dict