parameters: (self, section_name:str)
return_statement: return append_position, appended_line_count
docstring: Retourne la position d'ajout de nouvelle élément dans une section.
          La section sera ajoutée à la fin du fichier si elle n'existe pas.
          La méthode assure qu'il y a une ligne vide devant la position
          d'insertion si la section contient d'autres valeurs.
docstring_summary: Retourne la position d'ajout de nouvelle élément dans une section.
          La section sera ajoutée à la fin du fichier si elle n'existe pas.
          La méthode assure qu'il y a une ligne vide devant la position
          d'insertion si la section contient d'autres valeurs.
docstring_tokens: Retourne la position d ajout de nouvelle élément dans une section . La section sera ajoutée à la fin du fichier si elle n existe pas . La méthode assure qu il y a une ligne vide devant la position d insertion si la section contient d autres valeurs .
function: def __find_section_append_pos(self, section_name:str) -> Tuple[str,str]:
          """
          Retourne la position d'ajout de nouvelle élément dans une section.
          La section sera ajoutée à la fin du fichier si elle n'existe pas.
          La méthode assure qu'il y a une ligne vide devant la position
          d'insertion si la section contient d'autres valeurs.
          """
  
          append_position = -1
          appended_line_count = 0
  
          line_index = 0
          section_found = False
          in_section = False
          for line_index, line in enumerate(self._content):
              if line.is_section_declaration():
                  in_section = (line.get_name() == section_name)
                  if in_section:
                      section_found = True
                      append_position = line_index + 1
              elif line.is_variable_declaration() or     \
                   line.is_empty() or                    \
                   line.is_comment():
                  if in_section:
                      append_position = line_index + 1
  
          if -1 == append_position:
              append_position = len(self._content)
  
          while append_position > 1 and                                       \
                self._content[append_position - 1].is_empty() and             \
                (self._content[append_position - 2].is_empty() or             \
                 self._content[append_position - 2].is_section_declaration()):
              append_position -= 1
  
          if not self._content[append_position - 1].is_empty() and            \
             not self._content[append_position - 1].is_section_declaration():
              if self.__verbose:
                  print("ConfigurationFile.__find_section_append_pos: "
                        "Insert blank line")
  
              self._content.insert(append_position,
                  ConfigurationLine("", self.__verbose))
  
              append_position += 1
              appended_line_count += 1
  
          if not section_found:
              self._content.insert(append_position,
                  ConfigurationLine(f"[{section_name}]", self.__verbose))
              append_position += 1
              appended_line_count += 1
  
          return append_position, appended_line_count
function_tokens: def __find_section_append_pos ( self , section_name : str ) -> Tuple [ str , str ] : append_position = - 1 appended_line_count = 0 line_index = 0 section_found = False in_section = False for line_index , line in enumerate ( self . _content ) : if line . is_section_declaration ( ) : in_section = ( line . get_name ( ) == section_name ) if in_section : section_found = True append_position = line_index + 1 elif line . is_variable_declaration ( ) or line . is_empty ( ) or line . is_comment ( ) : if in_section : append_position = line_index + 1 if - 1 == append_position : append_position = len ( self . _content ) while append_position > 1 and self . _content [ append_position - 1 ] . is_empty ( ) and ( self . _content [ append_position - 2 ] . is_empty ( ) or self . _content [ append_position - 2 ] . is_section_declaration ( ) ) : append_position -= 1 if not self . _content [ append_position - 1 ] . is_empty ( ) and not self . _content [ append_position - 1 ] . is_section_declaration ( ) : if self . __verbose : print ( "ConfigurationFile.__find_section_append_pos: " "Insert blank line" ) self . _content . insert ( append_position , ConfigurationLine ( "" , self . __verbose ) ) append_position += 1 appended_line_count += 1 if not section_found : self . _content . insert ( append_position , ConfigurationLine ( f"[{section_name}]" , self . __verbose ) ) append_position += 1 appended_line_count += 1 return append_position , appended_line_count