json schema :
    {
      infoGenerales: {
        nb_resultats, debut, nb_docs
      },
      data_table: 'id|numInit|titreDossierLegislatif|urlDossierLegislatif|'
                  'instance|numAmend|urlAmend|designationArticle|'
                  'designationAlinea|dateDepot|signataires|sort'
    }

    NB : the json response does not contain the dispositif and expose, that's
    why we call it "amendement's summary"

def parse_amendements_summary(url, json_response):
    """
    json schema :
    {
      infoGenerales: {
        nb_resultats, debut, nb_docs
      },
      data_table: 'id|numInit|titreDossierLegislatif|urlDossierLegislatif|'
                  'instance|numAmend|urlAmend|designationArticle|'
                  'designationAlinea|dateDepot|signataires|sort'
    }

    NB : the json response does not contain the dispositif and expose, that's
    why we call it "amendement's summary"
    """

    amendements = []
    fields = [convert_camelcase_to_underscore(field) for field in
              json_response['infoGenerales']['description_schema'].split('|')]

    for row in json_response['data_table']:
        values = row.split('|')
        amd = AmendementSummary(**dict(zip(fields, values)))
        amd.legislature = re.search(r'www.assemblee-nationale.fr/(\d+)/',
                                    amd.url_amend).groups()[0]
        amendements.append(amd)

    return AmendementSearchResult(**{
        'url': url,
        'total_count': json_response['infoGenerales']['nb_resultats'],
        'start': json_response['infoGenerales']['debut'],
        'size': json_response['infoGenerales']['nb_docs'],
        'results': amendements
    })