'Main gateway into parsing the data. Will retrieve all necessary data elements.'

def parse_for_data(self):

    data = []
    if (self.intro_text and self.title):
        data_elements = {'module': self.title, 'function': '', 'method_signature': '', 'first_paragraph': self.intro_text, 'url': self.create_url('')}
        data.append(data_elements)
    for function_section in self.function_sections:
        module = self.parse_for_module_name(function_section)
        function = self.parse_for_function_name(function_section)
        if (module or function):
            method_signature = self.parse_for_method_signature(function_section)
            first_paragraph = self.parse_for_first_paragraph(function_section)
            anchor = self.parse_for_anchor(function_section)
            url = self.create_url(anchor)
            data_elements = {'module': module, 'function': function, 'method_signature': method_signature, 'first_paragraph': first_paragraph, 'url': url}
            data.append(data_elements)
    for method_section in self.method_sections:
        (module, class_name, method) = self.parse_for_class_method(method_section)
        if method:
            method_signature = self.parse_for_method_signature(method_section)
            first_paragraph = self.parse_for_first_paragraph(method_section)
            url = self.create_url(('#' + '.'.join([module, class_name, method])))
            data_elements = {'module': module, 'function': ((class_name + '.') + method), 'method_signature': method_signature, 'first_paragraph': first_paragraph, 'url': url}
            data.append(data_elements)
    self.parsed_data = data
