From bc5f1484154d509c314fb2516b68017509240fd7 Mon Sep 17 00:00:00 2001 From: jpic Date: Wed, 28 Sep 2016 23:57:02 +0200 Subject: [PATCH] Restructure the repository - add tox for easier reproduction of travis builds - add idempotence to install_client_deps.sh if CI=1 - mov modules into src/ - update setup.py to install everything as separate modules - add docs and qa tox jobs - update documentation Todo: - merge django-representatives - merge django-representatives-votes --- .coveragerc | 4 +- .gitignore | 7 ++-- .travis.yml | 16 ++++---- bin/quickstart.sh | 6 +-- docs/administration.rst | 2 +- docs/deploy-custom.rst | 8 ++-- docs/deploy-openshift.rst | 5 +-- docs/development.rst | 11 ++++-- docs/hacker.rst | 34 ++++++++++++----- pytest.ini | 2 +- setup.py | 11 ++++-- {core => src/core}/__init__.py | 0 .../core}/migrations/0001_initial_site.py | 0 {core => src/core}/migrations/__init__.py | 0 .../templates/core/blocks/active-filter.html | 0 .../templates/core/blocks/grid-list.haml | 0 .../templates/core/blocks/pagination.html | 0 .../core}/templates/core/blocks/sorting.haml | 0 {core => src/core}/templatetags/__init__.py | 0 {core => src/core}/tests.py | 0 {core => src/core}/views.py | 0 {memopol => src/memopol}/__init__.py | 0 {memopol => src/memopol}/api.py | 0 .../memopol/bin}/install_client_deps.sh | 8 +++- .../memopol}/context_processors.py | 0 {memopol => src/memopol}/filters.py | 0 .../memopol}/fixtures/data_sample.json | 0 {memopol => src/memopol}/legacy_urls.py | 0 .../memopol}/local_settings.py.example | 0 manage.py => src/memopol/manage.py | 8 ++-- {memopol => src/memopol}/settings.py | 2 +- {static => src/memopol/static}/.gitignore | 0 .../memopol/static}/css/bootstrap-theme.css | 0 .../static}/css/bootstrap-theme.css.map | 0 .../static}/css/bootstrap-theme.min.css | 0 .../memopol/static}/css/bootstrap.css | 0 .../memopol/static}/css/bootstrap.css.map | 0 .../static}/css/bootstrap.min-original.css | 0 .../static}/css/bootstrap.min-paper.css | 0 .../memopol/static}/css/bootstrap.min.css | 0 {static => src/memopol/static}/css/custom.css | 0 .../fonts/glyphicons-halflings-regular.eot | Bin .../fonts/glyphicons-halflings-regular.svg | 0 .../fonts/glyphicons-halflings-regular.ttf | Bin .../fonts/glyphicons-halflings-regular.woff | Bin .../fonts/glyphicons-halflings-regular.woff2 | Bin .../static}/fonts/propagan-webfont.svg | 0 .../static}/fonts/propagan-webfont.ttf | Bin .../static}/fonts/propagan-webfont.woff | Bin ...ansus_webissimo-italic-webfont-webfont.eot | Bin ...ansus_webissimo-italic-webfont-webfont.svg | 0 ...ansus_webissimo-italic-webfont-webfont.ttf | Bin ...nsus_webissimo-italic-webfont-webfont.woff | Bin ...nsus_webissimo-regular-webfont-webfont.eot | Bin ...nsus_webissimo-regular-webfont-webfont.svg | 0 ...nsus_webissimo-regular-webfont-webfont.ttf | Bin ...sus_webissimo-regular-webfont-webfont.woff | Bin .../memopol/static}/images/chamber-an.png | Bin .../memopol/static}/images/chamber-ep.png | Bin .../memopol/static}/images/chamber-sen.png | Bin .../memopol/static}/images/favicon.png | Bin .../memopol/static}/images/group-an-gdr.png | Bin .../memopol/static}/images/group-an-lr.png | Bin .../memopol/static}/images/group-an-ni.png | Bin .../memopol/static}/images/group-an-rrdp.png | Bin .../memopol/static}/images/group-an-ser.png | Bin .../memopol/static}/images/group-an-udi.png | Bin .../memopol/static}/images/group-ep-alde.png | Bin .../memopol/static}/images/group-ep-ecr.png | Bin .../memopol/static}/images/group-ep-efdd.png | Bin .../memopol/static}/images/group-ep-enf.png | Bin .../memopol/static}/images/group-ep-epp.png | Bin .../static}/images/group-ep-greensefa.png | Bin .../static}/images/group-ep-guengl.png | Bin .../memopol/static}/images/group-ep-ni.png | Bin .../memopol/static}/images/group-ep-sd.png | Bin .../memopol/static}/images/group-sen-crc.png | Bin .../memopol/static}/images/group-sen-eco.png | Bin .../memopol/static}/images/group-sen-lr.png | Bin .../memopol/static}/images/group-sen-ni.png | Bin .../memopol/static}/images/group-sen-rdse.png | Bin .../memopol/static}/images/group-sen-soc.png | Bin .../memopol/static}/images/group-sen-udi.png | Bin .../memopol/static}/images/logo.png | Bin .../static}/images/social-facebook.png | Bin .../memopol/static}/images/social-twitter.png | Bin .../memopol/static}/js/bootstrap.js | 0 .../memopol/static}/js/bootstrap.min.js | 0 {static => src/memopol/static}/js/npm.js | 0 .../reference/design-v3/MEP-mandates.html | 0 .../reference/design-v3/MEP-positions.html | 0 .../static}/reference/design-v3/MEP-vide.html | 0 .../reference/design-v3/MEP-votes.html | 0 .../static}/reference/design-v3/MEP.html | 0 .../design-v3/css/bootstrap-theme.css | 0 .../design-v3/css/bootstrap-theme.css.map | 0 .../design-v3/css/bootstrap-theme.min.css | 0 .../reference/design-v3/css/bootstrap.css | 0 .../reference/design-v3/css/bootstrap.css.map | 0 .../design-v3/css/bootstrap.min-original.css | 0 .../design-v3/css/bootstrap.min-paper.css | 0 .../reference/design-v3/css/bootstrap.min.css | 0 .../reference/design-v3/css/custom.css | 0 .../design-v3/dossier-positions.html | 0 .../reference/design-v3/dossier-vide.html | 0 .../reference/design-v3/dossier-votes.html | 0 .../static}/reference/design-v3/dossier.html | 0 .../reference/design-v3/fonts/PROPAGAN.ttf | Bin .../fonts/glyphicons-halflings-regular.eot | Bin .../fonts/glyphicons-halflings-regular.svg | 0 .../fonts/glyphicons-halflings-regular.ttf | Bin .../fonts/glyphicons-halflings-regular.woff | Bin .../fonts/glyphicons-halflings-regular.woff2 | Bin .../design-v3/img/i-bilbaobarandica.jpg | Bin .../reference/design-v3/img/jp-albrecht.jpg | Bin .../static}/reference/design-v3/img/logo.png | Bin .../reference/design-v3/img/m-anderson.jpg | Bin .../reference/design-v3/img/sg-cofferati.jpg | Bin .../static}/reference/design-v3/index.html | 0 .../static}/reference/design-v3/infos.html | 0 .../reference/design-v3/js/bootstrap.js | 0 .../reference/design-v3/js/bootstrap.min.js | 0 .../static}/reference/design-v3/js/npm.js | 0 .../reference/design-v3/listDossiers.html | 0 .../static}/reference/design-v3/listMEP.html | 0 .../logos/Memopol_site_fond_noir.svg | 0 .../logos/Memopol_site_miniature.svg | 0 .../logos/Memopol_site_sans_fond.svg | 0 .../memopol/static}/stylesheets/font.css | 0 .../memopol/static}/stylesheets/footer.css | 0 .../memopol/static}/stylesheets/header.css | 0 .../static}/stylesheets/navigation.css | 0 .../memopol/static}/stylesheets/table.css | 0 .../memopol/templates}/_base_intro.html | 0 .../memopol/templates}/_base_search.html | 0 .../templates}/_position_form_modal.html | 0 .../memopol/templates}/base.html | 0 .../templates}/blocks/_dossier_list.html | 0 .../templates}/blocks/_pagination.html | 0 .../templates}/blocks/_position_list.html | 0 .../templates}/blocks/_proposal_list.html | 0 .../memopol/templates}/blocks/_sorting.html | 0 .../blocks/_themescore_dropdown.html | 0 .../memopol/templates}/blocks/_themetags.html | 0 .../memopol/templates}/blocks/listfooter.html | 0 .../memopol/templates}/blocks/listheader.html | 0 .../memopol/templates}/home.html | 0 .../memopol_themes/theme_detail.html | 0 .../memopol_themes/theme_detail_dossiers.html | 0 .../memopol_themes/theme_detail_links.html | 0 .../theme_detail_positions.html | 0 .../theme_detail_proposals.html | 0 .../templates}/memopol_themes/theme_list.html | 0 .../representatives/_mandate_block.html | 0 .../representatives/_representative_menu.haml | 0 .../representative_detail.html | 0 .../representative_detail_mandates.html | 0 .../representative_detail_positions.html | 0 .../representative_detail_votes.html | 0 .../representatives/representative_grid.html | 0 .../representative_mandates.haml | 0 .../representative_positions.haml | 0 .../representatives/representative_votes.haml | 0 .../representatives_votes/dossier_detail.html | 0 .../dossier_detail_documents.html | 0 .../dossier_detail_proposals.html | 0 .../dossier_detail_recommendations.html | 0 .../representatives_votes/dossier_list.html | 0 .../memopol/templates}/text/license.html | 0 .../templates}/text/position_info.html | 0 .../templates}/text/short_description.html | 0 .../memopol}/templatetags/__init__.py | 0 .../memopol}/templatetags/memopol_tags.py | 0 {memopol => src/memopol}/tests/__init__.py | 0 {memopol => src/memopol}/tests/base.py | 0 .../DossierDetailTest.test_name.content | 0 .../DossierDetailTest.test_name.metadata | 0 .../DossierDetailTest.test_themes.content | 0 .../DossierDetailTest.test_themes.metadata | 0 ...ossierDocumentsTest.test_proposals.content | 0 ...ssierDocumentsTest.test_proposals.metadata | 0 .../DossierListTest.test_cards.content | 0 .../DossierListTest.test_cards.metadata | 0 ...ListTest.test_navbar_order_options.content | 0 ...istTest.test_navbar_order_options.metadata | 0 ...erListTest.test_order_by_proposals.content | 0 ...rListTest.test_order_by_proposals.metadata | 0 ...Test.test_order_by_recommendations.content | 0 ...est.test_order_by_recommendations.metadata | 0 ...erListTest.test_order_by_title_asc.content | 0 ...rListTest.test_order_by_title_asc.metadata | 0 ...rListTest.test_order_by_title_desc.content | 0 ...ListTest.test_order_by_title_desc.metadata | 0 ...ossierProposalsTest.test_proposals.content | 0 ...ssierProposalsTest.test_proposals.metadata | 0 ...RecommendationsTest.test_proposals.content | 0 ...ecommendationsTest.test_proposals.metadata | 0 ...eTest.test_dossier_search_chambers.content | 0 ...Test.test_dossier_search_chambers.metadata | 0 ...nPaneTest.test_rep_search_chambers.content | 0 ...PaneTest.test_rep_search_chambers.metadata | 0 ...PaneTest.test_rep_search_committee.content | 0 ...aneTest.test_rep_search_committee.metadata | 0 ...PaneTest.test_rep_search_countries.content | 0 ...aneTest.test_rep_search_countries.metadata | 0 ...aneTest.test_rep_search_delegation.content | 0 ...neTest.test_rep_search_delegation.metadata | 0 ...onPaneTest.test_rep_search_parties.content | 0 ...nPaneTest.test_rep_search_parties.metadata | 0 ...itionFormTest.test_create_position.content | 0 ...tionFormTest.test_create_position.metadata | 0 ...t_create_position_without_datetime.content | 0 ..._create_position_without_datetime.metadata | 0 ....test_create_position_without_link.content | 0 ...test_create_position_without_link.metadata | 0 ...te_position_without_representative.content | 0 ...e_position_without_representative.metadata | 0 ...ositionFormTest.test_position_form.content | 0 ...sitionFormTest.test_position_form.metadata | 0 ...ormTest.test_select_representative.content | 0 ...rmTest.test_select_representative.metadata | 0 ...PositionFormTest.test_select_theme.content | 0 ...ositionFormTest.test_select_theme.metadata | 0 ...resentativeDetailTest.test_details.content | 0 ...esentativeDetailTest.test_details.metadata | 0 ...eDetailTest.test_mandates_display.metadata | 0 ...RepresentativeDetailTest.test_name.content | 0 ...epresentativeDetailTest.test_name.metadata | 0 ...epresentativeDetailTest.test_photo.content | 0 ...presentativeDetailTest.test_photo.metadata | 0 ...DetailTest.test_positions_display.metadata | 0 ...tiveDetailTest.test_votes_display.metadata | 0 .../RepresentativeListTest.test_cards.content | 0 ...RepresentativeListTest.test_cards.metadata | 0 .../RepresentativeListTest.test_csv.content | 0 .../RepresentativeListTest.test_csv.metadata | 0 ...ListTest.test_navbar_order_options.content | 0 ...istTest.test_navbar_order_options.metadata | 0 ...iveListTest.test_order_by_name_asc.content | 0 ...veListTest.test_order_by_name_asc.metadata | 0 ...veListTest.test_order_by_name_desc.content | 0 ...eListTest.test_order_by_name_desc.metadata | 0 ...veListTest.test_order_by_score_asc.content | 0 ...eListTest.test_order_by_score_asc.metadata | 0 ...eListTest.test_order_by_score_desc.content | 0 ...ListTest.test_order_by_score_desc.metadata | 0 ...resentativeListTest.test_order_csv.content | 0 ...esentativeListTest.test_order_csv.metadata | 0 ...iveListTest.test_search_by_chamber.content | 0 ...veListTest.test_search_by_chamber.metadata | 0 ...eListTest.test_search_by_committee.content | 0 ...ListTest.test_search_by_committee.metadata | 0 ...iveListTest.test_search_by_country.content | 0 ...veListTest.test_search_by_country.metadata | 0 ...ListTest.test_search_by_delegation.content | 0 ...istTest.test_search_by_delegation.metadata | 0 ...eListTest.test_search_by_max_score.content | 0 ...ListTest.test_search_by_max_score.metadata | 0 ...eListTest.test_search_by_min_score.content | 0 ...ListTest.test_search_by_min_score.metadata | 0 ...tativeListTest.test_search_by_name.content | 0 ...ativeListTest.test_search_by_name.metadata | 0 ...ativeListTest.test_search_by_party.content | 0 ...tiveListTest.test_search_by_party.metadata | 0 ...esentativeListTest.test_search_csv.content | 0 ...sentativeListTest.test_search_csv.metadata | 0 ...iveListTest.test_search_no_results.content | 0 ...veListTest.test_search_no_results.metadata | 0 ...MandatesTest.test_current_mandates.content | 0 ...andatesTest.test_current_mandates.metadata | 0 ...iveMandatesTest.test_past_mandates.content | 0 ...veMandatesTest.test_past_mandates.metadata | 0 ...ivePositionsTest.test_no_positions.content | 0 ...vePositionsTest.test_no_positions.metadata | 0 ...ositionsTest.test_position_buttons.content | 0 ...sitionsTest.test_position_buttons.metadata | 0 ...ositionsTest.test_position_details.content | 0 ...sitionsTest.test_position_details.metadata | 0 ...resentativeVotesTest.test_dossiers.content | 0 ...esentativeVotesTest.test_dossiers.metadata | 0 ...RepresentativeVotesTest.test_votes.content | 0 ...epresentativeVotesTest.test_votes.metadata | 0 .../ThemeDetailTest.test_description.content | 0 .../ThemeDetailTest.test_description.metadata | 0 .../ThemeDetailTest.test_name.content | 0 .../ThemeDetailTest.test_name.metadata | 0 .../ThemeDossiersTest.test_dossiers.content | 0 .../ThemeDossiersTest.test_dossiers.metadata | 0 .../ThemeLinksTest.test_links.content | 0 .../ThemeLinksTest.test_links.metadata | 0 .../ThemeListTest.test_cards.content | 0 .../ThemeListTest.test_cards.metadata | 0 ...ListTest.test_navbar_order_options.content | 0 ...istTest.test_navbar_order_options.metadata | 0 ...emeListTest.test_order_by_name_asc.content | 0 ...meListTest.test_order_by_name_asc.metadata | 0 ...meListTest.test_order_by_name_desc.content | 0 ...eListTest.test_order_by_name_desc.metadata | 0 ...ositionsTest.test_position_buttons.content | 0 ...sitionsTest.test_position_buttons.metadata | 0 ...ositionsTest.test_position_details.content | 0 ...sitionsTest.test_position_details.metadata | 0 ...ThemePositionsTest.test_positions.metadata | 0 .../ThemeProposalsTest.test_proposals.content | 0 ...ThemeProposalsTest.test_proposals.metadata | 0 .../memopol}/tests/test_dossier_detail.py | 0 .../memopol}/tests/test_dossier_documents.py | 0 .../memopol}/tests/test_dossier_list.py | 0 .../memopol}/tests/test_dossier_proposals.py | 0 .../tests/test_dossier_recommendations.py | 0 .../memopol}/tests/test_navigation_pane.py | 0 .../memopol}/tests/test_position_form.py | 0 .../tests/test_representative_detail.py | 0 .../tests/test_representative_list.py | 0 .../tests/test_representative_mandates.py | 0 .../tests/test_representative_positions.py | 0 .../tests/test_representative_votes.py | 0 .../memopol}/tests/test_theme_detail.py | 0 .../memopol}/tests/test_theme_dossiers.py | 0 .../memopol}/tests/test_theme_links.py | 0 .../memopol}/tests/test_theme_list.py | 0 .../memopol}/tests/test_theme_positions.py | 0 .../memopol}/tests/test_theme_proposals.py | 0 {memopol => src/memopol}/urls.py | 0 {memopol => src/memopol}/views/__init__.py | 0 {memopol => src/memopol}/views/dossier_ac.py | 0 .../memopol}/views/dossier_detail_base.py | 0 .../views/dossier_detail_documents.py | 0 .../views/dossier_detail_proposals.py | 0 .../views/dossier_detail_recommendations.py | 0 .../memopol}/views/dossier_list.py | 0 {memopol => src/memopol}/views/home.py | 0 {memopol => src/memopol}/views/redirects.py | 0 .../views/representative_detail_base.py | 0 .../views/representative_detail_mandates.py | 0 .../views/representative_detail_positions.py | 0 .../views/representative_detail_votes.py | 0 .../memopol}/views/representative_list.py | 0 .../memopol}/views/representative_mixin.py | 0 .../memopol}/views/theme_detail_base.py | 0 .../memopol}/views/theme_detail_dossiers.py | 0 .../memopol}/views/theme_detail_links.py | 0 .../memopol}/views/theme_detail_positions.py | 0 .../memopol}/views/theme_detail_proposals.py | 0 {memopol => src/memopol}/views/theme_list.py | 0 {memopol => src/memopol}/wsgi.py | 0 .../memopol_scores}/__init__.py | 0 {memopol_scores => src/memopol_scores}/api.py | 0 .../fixtures/compute_score.json | 0 .../memopol_scores}/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../management/commands/refresh_scores.py | 0 .../migrations/0001_initial.py | 0 .../migrations/0002_create_views.py | 0 .../migrations/0003_themescore.py | 0 .../migrations/0004_refine_themescore.py | 0 .../memopol_scores}/migrations/__init__.py | 0 .../memopol_scores}/models.py | 0 .../memopol_scores}/serializers.py | 0 .../memopol_scores}/tests/__init__.py | 0 .../memopol_scores}/tests/test_compute.py | 0 .../tests/test_decay_function.py | 0 .../memopol_settings}/__init__.py | 0 .../memopol_settings}/admin.py | 0 .../fixtures/score_settings.json | 0 .../migrations/0001_initial.py | 0 .../migrations/0002_score_settings.py | 0 .../memopol_settings}/migrations/__init__.py | 0 .../memopol_settings}/models.py | 0 .../memopol_themes}/__init__.py | 0 .../memopol_themes}/admin.py | 0 .../migrations/0001_initial.py | 0 .../migrations/0002_themescore.py | 0 .../migrations/0003_remove_themescore.py | 0 .../memopol_themes}/migrations/__init__.py | 0 .../memopol_themes}/models.py | 0 .../representatives_positions}/__init__.py | 0 .../representatives_positions}/admin.py | 0 .../contrib/__init__.py | 0 .../contrib/import_data.py | 0 .../contrib/import_positions.py | 0 .../representatives_positions}/forms.py | 0 .../management/__init__.py | 0 .../management/commands/__init__.py | 0 ...remove_representatives_without_position.py | 0 .../management/commands/update_score.py | 0 .../migrations/0001_initial.py | 0 .../migrations/0002_increase_link_length.py | 0 .../migrations/0003_remove_position_tags.py | 0 .../migrations/0004_add_kind_score_title.py | 0 .../migrations/0005_set_title.py | 0 .../migrations/0006_positionscore.py | 0 .../migrations/0007_remove_positionscore.py | 0 .../migrations/__init__.py | 0 .../representatives_positions}/models.py | 0 .../templatetags/__init__.py | 0 .../representatives_positions_tags.py | 0 .../representatives_positions}/views.py | 0 .../__init__.py | 0 .../representatives_recommendations}/admin.py | 0 .../representatives_recommendations}/api.py | 0 .../contrib/__init__.py | 0 .../contrib/import_data.py | 0 .../contrib/import_recommendations.py | 0 .../representatives_recommendations}/forms.py | 0 .../management/__init__.py | 0 .../management/commands/__init__.py | 0 ...remove_proposals_without_recommendation.py | 0 .../migrations/0001_initial.py | 0 .../migrations/0002_dossierscore.py | 0 .../migrations/0003_votescore.py | 0 .../migrations/0004_dossierscore_rewrite.py | 0 .../migrations/0005_representativescore.py | 0 .../migrations/0006_score_formula.py | 0 .../migrations/0007_fix_underflow.py | 0 .../0008_representativescore_use_positions.py | 0 ...9_representativescore_use_positionscore.py | 0 .../migrations/0010_remove_views.py | 0 .../migrations/__init__.py | 0 .../models.py | 0 .../serializers.py | 0 .../templates/__init__.py | 0 .../templates/positions/__init__.py | 0 .../templates/positions/admin/__init__.py | 0 tox.ini | 35 ++++++++++++++++++ 425 files changed, 114 insertions(+), 45 deletions(-) rename {core => src/core}/__init__.py (100%) rename {core => src/core}/migrations/0001_initial_site.py (100%) rename {core => src/core}/migrations/__init__.py (100%) rename {core => src/core}/templates/core/blocks/active-filter.html (100%) rename {core => src/core}/templates/core/blocks/grid-list.haml (100%) rename {core => src/core}/templates/core/blocks/pagination.html (100%) rename {core => src/core}/templates/core/blocks/sorting.haml (100%) rename {core => src/core}/templatetags/__init__.py (100%) rename {core => src/core}/tests.py (100%) rename {core => src/core}/views.py (100%) rename {memopol => src/memopol}/__init__.py (100%) rename {memopol => src/memopol}/api.py (100%) rename {bin => src/memopol/bin}/install_client_deps.sh (86%) rename {memopol => src/memopol}/context_processors.py (100%) rename {memopol => src/memopol}/filters.py (100%) rename {memopol => src/memopol}/fixtures/data_sample.json (100%) rename {memopol => src/memopol}/legacy_urls.py (100%) rename {memopol => src/memopol}/local_settings.py.example (100%) rename manage.py => src/memopol/manage.py (91%) rename {memopol => src/memopol}/settings.py (99%) rename {static => src/memopol/static}/.gitignore (100%) rename {static => src/memopol/static}/css/bootstrap-theme.css (100%) rename {static => src/memopol/static}/css/bootstrap-theme.css.map (100%) rename {static => src/memopol/static}/css/bootstrap-theme.min.css (100%) rename {static => src/memopol/static}/css/bootstrap.css (100%) rename {static => src/memopol/static}/css/bootstrap.css.map (100%) rename {static => src/memopol/static}/css/bootstrap.min-original.css (100%) rename {static => src/memopol/static}/css/bootstrap.min-paper.css (100%) rename {static => src/memopol/static}/css/bootstrap.min.css (100%) rename {static => src/memopol/static}/css/custom.css (100%) rename {static => src/memopol/static}/fonts/glyphicons-halflings-regular.eot (100%) rename {static => src/memopol/static}/fonts/glyphicons-halflings-regular.svg (100%) rename {static => src/memopol/static}/fonts/glyphicons-halflings-regular.ttf (100%) rename {static => src/memopol/static}/fonts/glyphicons-halflings-regular.woff (100%) rename {static => src/memopol/static}/fonts/glyphicons-halflings-regular.woff2 (100%) rename {static => src/memopol/static}/fonts/propagan-webfont.svg (100%) rename {static => src/memopol/static}/fonts/propagan-webfont.ttf (100%) rename {static => src/memopol/static}/fonts/propagan-webfont.woff (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-italic-webfont-webfont.eot (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-italic-webfont-webfont.svg (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-italic-webfont-webfont.ttf (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-italic-webfont-webfont.woff (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-regular-webfont-webfont.eot (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-regular-webfont-webfont.svg (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-regular-webfont-webfont.ttf (100%) rename {static => src/memopol/static}/fonts/sansus_webissimo-regular-webfont-webfont.woff (100%) rename {static => src/memopol/static}/images/chamber-an.png (100%) rename {static => src/memopol/static}/images/chamber-ep.png (100%) rename {static => src/memopol/static}/images/chamber-sen.png (100%) rename {static => src/memopol/static}/images/favicon.png (100%) rename {static => src/memopol/static}/images/group-an-gdr.png (100%) rename {static => src/memopol/static}/images/group-an-lr.png (100%) rename {static => src/memopol/static}/images/group-an-ni.png (100%) rename {static => src/memopol/static}/images/group-an-rrdp.png (100%) rename {static => src/memopol/static}/images/group-an-ser.png (100%) rename {static => src/memopol/static}/images/group-an-udi.png (100%) rename {static => src/memopol/static}/images/group-ep-alde.png (100%) rename {static => src/memopol/static}/images/group-ep-ecr.png (100%) rename {static => src/memopol/static}/images/group-ep-efdd.png (100%) rename {static => src/memopol/static}/images/group-ep-enf.png (100%) rename {static => src/memopol/static}/images/group-ep-epp.png (100%) rename {static => src/memopol/static}/images/group-ep-greensefa.png (100%) rename {static => src/memopol/static}/images/group-ep-guengl.png (100%) rename {static => src/memopol/static}/images/group-ep-ni.png (100%) rename {static => src/memopol/static}/images/group-ep-sd.png (100%) rename {static => src/memopol/static}/images/group-sen-crc.png (100%) rename {static => src/memopol/static}/images/group-sen-eco.png (100%) rename {static => src/memopol/static}/images/group-sen-lr.png (100%) rename {static => src/memopol/static}/images/group-sen-ni.png (100%) rename {static => src/memopol/static}/images/group-sen-rdse.png (100%) rename {static => src/memopol/static}/images/group-sen-soc.png (100%) rename {static => src/memopol/static}/images/group-sen-udi.png (100%) rename {static => src/memopol/static}/images/logo.png (100%) rename {static => src/memopol/static}/images/social-facebook.png (100%) rename {static => src/memopol/static}/images/social-twitter.png (100%) rename {static => src/memopol/static}/js/bootstrap.js (100%) rename {static => src/memopol/static}/js/bootstrap.min.js (100%) rename {static => src/memopol/static}/js/npm.js (100%) rename {static => src/memopol/static}/reference/design-v3/MEP-mandates.html (100%) rename {static => src/memopol/static}/reference/design-v3/MEP-positions.html (100%) rename {static => src/memopol/static}/reference/design-v3/MEP-vide.html (100%) rename {static => src/memopol/static}/reference/design-v3/MEP-votes.html (100%) rename {static => src/memopol/static}/reference/design-v3/MEP.html (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap-theme.css (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap-theme.css.map (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap-theme.min.css (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap.css (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap.css.map (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap.min-original.css (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap.min-paper.css (100%) rename {static => src/memopol/static}/reference/design-v3/css/bootstrap.min.css (100%) rename {static => src/memopol/static}/reference/design-v3/css/custom.css (100%) rename {static => src/memopol/static}/reference/design-v3/dossier-positions.html (100%) rename {static => src/memopol/static}/reference/design-v3/dossier-vide.html (100%) rename {static => src/memopol/static}/reference/design-v3/dossier-votes.html (100%) rename {static => src/memopol/static}/reference/design-v3/dossier.html (100%) rename {static => src/memopol/static}/reference/design-v3/fonts/PROPAGAN.ttf (100%) rename {static => src/memopol/static}/reference/design-v3/fonts/glyphicons-halflings-regular.eot (100%) rename {static => src/memopol/static}/reference/design-v3/fonts/glyphicons-halflings-regular.svg (100%) rename {static => src/memopol/static}/reference/design-v3/fonts/glyphicons-halflings-regular.ttf (100%) rename {static => src/memopol/static}/reference/design-v3/fonts/glyphicons-halflings-regular.woff (100%) rename {static => src/memopol/static}/reference/design-v3/fonts/glyphicons-halflings-regular.woff2 (100%) rename {static => src/memopol/static}/reference/design-v3/img/i-bilbaobarandica.jpg (100%) rename {static => src/memopol/static}/reference/design-v3/img/jp-albrecht.jpg (100%) rename {static => src/memopol/static}/reference/design-v3/img/logo.png (100%) rename {static => src/memopol/static}/reference/design-v3/img/m-anderson.jpg (100%) rename {static => src/memopol/static}/reference/design-v3/img/sg-cofferati.jpg (100%) rename {static => src/memopol/static}/reference/design-v3/index.html (100%) rename {static => src/memopol/static}/reference/design-v3/infos.html (100%) rename {static => src/memopol/static}/reference/design-v3/js/bootstrap.js (100%) rename {static => src/memopol/static}/reference/design-v3/js/bootstrap.min.js (100%) rename {static => src/memopol/static}/reference/design-v3/js/npm.js (100%) rename {static => src/memopol/static}/reference/design-v3/listDossiers.html (100%) rename {static => src/memopol/static}/reference/design-v3/listMEP.html (100%) rename {static => src/memopol/static}/reference/logos/Memopol_site_fond_noir.svg (100%) rename {static => src/memopol/static}/reference/logos/Memopol_site_miniature.svg (100%) rename {static => src/memopol/static}/reference/logos/Memopol_site_sans_fond.svg (100%) rename {static => src/memopol/static}/stylesheets/font.css (100%) rename {static => src/memopol/static}/stylesheets/footer.css (100%) rename {static => src/memopol/static}/stylesheets/header.css (100%) rename {static => src/memopol/static}/stylesheets/navigation.css (100%) rename {static => src/memopol/static}/stylesheets/table.css (100%) rename {templates => src/memopol/templates}/_base_intro.html (100%) rename {templates => src/memopol/templates}/_base_search.html (100%) rename {templates => src/memopol/templates}/_position_form_modal.html (100%) rename {templates => src/memopol/templates}/base.html (100%) rename {templates => src/memopol/templates}/blocks/_dossier_list.html (100%) rename {templates => src/memopol/templates}/blocks/_pagination.html (100%) rename {templates => src/memopol/templates}/blocks/_position_list.html (100%) rename {templates => src/memopol/templates}/blocks/_proposal_list.html (100%) rename {templates => src/memopol/templates}/blocks/_sorting.html (100%) rename {templates => src/memopol/templates}/blocks/_themescore_dropdown.html (100%) rename {templates => src/memopol/templates}/blocks/_themetags.html (100%) rename {templates => src/memopol/templates}/blocks/listfooter.html (100%) rename {templates => src/memopol/templates}/blocks/listheader.html (100%) rename {templates => src/memopol/templates}/home.html (100%) rename {templates => src/memopol/templates}/memopol_themes/theme_detail.html (100%) rename {templates => src/memopol/templates}/memopol_themes/theme_detail_dossiers.html (100%) rename {templates => src/memopol/templates}/memopol_themes/theme_detail_links.html (100%) rename {templates => src/memopol/templates}/memopol_themes/theme_detail_positions.html (100%) rename {templates => src/memopol/templates}/memopol_themes/theme_detail_proposals.html (100%) rename {templates => src/memopol/templates}/memopol_themes/theme_list.html (100%) rename {templates => src/memopol/templates}/representatives/_mandate_block.html (100%) rename {templates => src/memopol/templates}/representatives/_representative_menu.haml (100%) rename {templates => src/memopol/templates}/representatives/representative_detail.html (100%) rename {templates => src/memopol/templates}/representatives/representative_detail_mandates.html (100%) rename {templates => src/memopol/templates}/representatives/representative_detail_positions.html (100%) rename {templates => src/memopol/templates}/representatives/representative_detail_votes.html (100%) rename {templates => src/memopol/templates}/representatives/representative_grid.html (100%) rename {templates => src/memopol/templates}/representatives/representative_mandates.haml (100%) rename {templates => src/memopol/templates}/representatives/representative_positions.haml (100%) rename {templates => src/memopol/templates}/representatives/representative_votes.haml (100%) rename {templates => src/memopol/templates}/representatives_votes/dossier_detail.html (100%) rename {templates => src/memopol/templates}/representatives_votes/dossier_detail_documents.html (100%) rename {templates => src/memopol/templates}/representatives_votes/dossier_detail_proposals.html (100%) rename {templates => src/memopol/templates}/representatives_votes/dossier_detail_recommendations.html (100%) rename {templates => src/memopol/templates}/representatives_votes/dossier_list.html (100%) rename {templates => src/memopol/templates}/text/license.html (100%) rename {templates => src/memopol/templates}/text/position_info.html (100%) rename {templates => src/memopol/templates}/text/short_description.html (100%) rename {memopol => src/memopol}/templatetags/__init__.py (100%) rename {memopol => src/memopol}/templatetags/memopol_tags.py (100%) rename {memopol => src/memopol}/tests/__init__.py (100%) rename {memopol => src/memopol}/tests/base.py (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierDetailTest.test_name.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierDetailTest.test_name.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierDetailTest.test_themes.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierDetailTest.test_themes.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierDocumentsTest.test_proposals.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierDocumentsTest.test_proposals.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_cards.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_cards.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_navbar_order_options.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_navbar_order_options.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_proposals.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_proposals.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_recommendations.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_recommendations.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_title_asc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_title_asc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_title_desc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierListTest.test_order_by_title_desc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierProposalsTest.test_proposals.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierProposalsTest.test_proposals.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierRecommendationsTest.test_proposals.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/DossierRecommendationsTest.test_proposals.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position_without_link.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position_without_link.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_position_form.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_position_form.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_select_representative.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_select_representative.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_select_theme.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/PositionFormTest.test_select_theme.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_details.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_details.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_mandates_display.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_name.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_name.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_photo.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_photo.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_positions_display.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeDetailTest.test_votes_display.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_cards.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_cards.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_csv.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_csv.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_csv.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_order_csv.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_country.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_country.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_name.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_name.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_party.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_by_party.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_csv.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_csv.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_no_results.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeListTest.test_search_no_results.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativePositionsTest.test_position_details.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativePositionsTest.test_position_details.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeVotesTest.test_votes.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/RepresentativeVotesTest.test_votes.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeDetailTest.test_description.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeDetailTest.test_description.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeDetailTest.test_name.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeDetailTest.test_name.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeDossiersTest.test_dossiers.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeDossiersTest.test_dossiers.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeLinksTest.test_links.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeLinksTest.test_links.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_cards.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_cards.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_navbar_order_options.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_navbar_order_options.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemePositionsTest.test_position_buttons.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemePositionsTest.test_position_buttons.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemePositionsTest.test_position_details.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemePositionsTest.test_position_details.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemePositionsTest.test_positions.metadata (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeProposalsTest.test_proposals.content (100%) rename {memopol => src/memopol}/tests/response_fixtures/ThemeProposalsTest.test_proposals.metadata (100%) rename {memopol => src/memopol}/tests/test_dossier_detail.py (100%) rename {memopol => src/memopol}/tests/test_dossier_documents.py (100%) rename {memopol => src/memopol}/tests/test_dossier_list.py (100%) rename {memopol => src/memopol}/tests/test_dossier_proposals.py (100%) rename {memopol => src/memopol}/tests/test_dossier_recommendations.py (100%) rename {memopol => src/memopol}/tests/test_navigation_pane.py (100%) rename {memopol => src/memopol}/tests/test_position_form.py (100%) rename {memopol => src/memopol}/tests/test_representative_detail.py (100%) rename {memopol => src/memopol}/tests/test_representative_list.py (100%) rename {memopol => src/memopol}/tests/test_representative_mandates.py (100%) rename {memopol => src/memopol}/tests/test_representative_positions.py (100%) rename {memopol => src/memopol}/tests/test_representative_votes.py (100%) rename {memopol => src/memopol}/tests/test_theme_detail.py (100%) rename {memopol => src/memopol}/tests/test_theme_dossiers.py (100%) rename {memopol => src/memopol}/tests/test_theme_links.py (100%) rename {memopol => src/memopol}/tests/test_theme_list.py (100%) rename {memopol => src/memopol}/tests/test_theme_positions.py (100%) rename {memopol => src/memopol}/tests/test_theme_proposals.py (100%) rename {memopol => src/memopol}/urls.py (100%) rename {memopol => src/memopol}/views/__init__.py (100%) rename {memopol => src/memopol}/views/dossier_ac.py (100%) rename {memopol => src/memopol}/views/dossier_detail_base.py (100%) rename {memopol => src/memopol}/views/dossier_detail_documents.py (100%) rename {memopol => src/memopol}/views/dossier_detail_proposals.py (100%) rename {memopol => src/memopol}/views/dossier_detail_recommendations.py (100%) rename {memopol => src/memopol}/views/dossier_list.py (100%) rename {memopol => src/memopol}/views/home.py (100%) rename {memopol => src/memopol}/views/redirects.py (100%) rename {memopol => src/memopol}/views/representative_detail_base.py (100%) rename {memopol => src/memopol}/views/representative_detail_mandates.py (100%) rename {memopol => src/memopol}/views/representative_detail_positions.py (100%) rename {memopol => src/memopol}/views/representative_detail_votes.py (100%) rename {memopol => src/memopol}/views/representative_list.py (100%) rename {memopol => src/memopol}/views/representative_mixin.py (100%) rename {memopol => src/memopol}/views/theme_detail_base.py (100%) rename {memopol => src/memopol}/views/theme_detail_dossiers.py (100%) rename {memopol => src/memopol}/views/theme_detail_links.py (100%) rename {memopol => src/memopol}/views/theme_detail_positions.py (100%) rename {memopol => src/memopol}/views/theme_detail_proposals.py (100%) rename {memopol => src/memopol}/views/theme_list.py (100%) rename {memopol => src/memopol}/wsgi.py (100%) rename {memopol_scores => src/memopol_scores}/__init__.py (100%) rename {memopol_scores => src/memopol_scores}/api.py (100%) rename {memopol_scores => src/memopol_scores}/fixtures/compute_score.json (100%) rename {memopol_scores => src/memopol_scores}/management/__init__.py (100%) rename {memopol_scores => src/memopol_scores}/management/commands/__init__.py (100%) rename {memopol_scores => src/memopol_scores}/management/commands/refresh_scores.py (100%) rename {memopol_scores => src/memopol_scores}/migrations/0001_initial.py (100%) rename {memopol_scores => src/memopol_scores}/migrations/0002_create_views.py (100%) rename {memopol_scores => src/memopol_scores}/migrations/0003_themescore.py (100%) rename {memopol_scores => src/memopol_scores}/migrations/0004_refine_themescore.py (100%) rename {memopol_scores => src/memopol_scores}/migrations/__init__.py (100%) rename {memopol_scores => src/memopol_scores}/models.py (100%) rename {memopol_scores => src/memopol_scores}/serializers.py (100%) rename {memopol_scores => src/memopol_scores}/tests/__init__.py (100%) rename {memopol_scores => src/memopol_scores}/tests/test_compute.py (100%) rename {memopol_scores => src/memopol_scores}/tests/test_decay_function.py (100%) rename {memopol_settings => src/memopol_settings}/__init__.py (100%) rename {memopol_settings => src/memopol_settings}/admin.py (100%) rename {memopol_settings => src/memopol_settings}/fixtures/score_settings.json (100%) rename {memopol_settings => src/memopol_settings}/migrations/0001_initial.py (100%) rename {memopol_settings => src/memopol_settings}/migrations/0002_score_settings.py (100%) rename {memopol_settings => src/memopol_settings}/migrations/__init__.py (100%) rename {memopol_settings => src/memopol_settings}/models.py (100%) rename {memopol_themes => src/memopol_themes}/__init__.py (100%) rename {memopol_themes => src/memopol_themes}/admin.py (100%) rename {memopol_themes => src/memopol_themes}/migrations/0001_initial.py (100%) rename {memopol_themes => src/memopol_themes}/migrations/0002_themescore.py (100%) rename {memopol_themes => src/memopol_themes}/migrations/0003_remove_themescore.py (100%) rename {memopol_themes => src/memopol_themes}/migrations/__init__.py (100%) rename {memopol_themes => src/memopol_themes}/models.py (100%) rename {representatives_positions => src/representatives_positions}/__init__.py (100%) rename {representatives_positions => src/representatives_positions}/admin.py (100%) rename {representatives_positions => src/representatives_positions}/contrib/__init__.py (100%) rename {representatives_positions => src/representatives_positions}/contrib/import_data.py (100%) rename {representatives_positions => src/representatives_positions}/contrib/import_positions.py (100%) rename {representatives_positions => src/representatives_positions}/forms.py (100%) rename {representatives_positions => src/representatives_positions}/management/__init__.py (100%) rename {representatives_positions => src/representatives_positions}/management/commands/__init__.py (100%) rename {representatives_positions => src/representatives_positions}/management/commands/remove_representatives_without_position.py (100%) rename {representatives_positions => src/representatives_positions}/management/commands/update_score.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/0001_initial.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/0002_increase_link_length.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/0003_remove_position_tags.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/0004_add_kind_score_title.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/0005_set_title.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/0006_positionscore.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/0007_remove_positionscore.py (100%) rename {representatives_positions => src/representatives_positions}/migrations/__init__.py (100%) rename {representatives_positions => src/representatives_positions}/models.py (100%) rename {representatives_positions => src/representatives_positions}/templatetags/__init__.py (100%) rename {representatives_positions => src/representatives_positions}/templatetags/representatives_positions_tags.py (100%) rename {representatives_positions => src/representatives_positions}/views.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/__init__.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/admin.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/api.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/contrib/__init__.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/contrib/import_data.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/contrib/import_recommendations.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/forms.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/management/__init__.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/management/commands/__init__.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/management/commands/remove_proposals_without_recommendation.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0001_initial.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0002_dossierscore.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0003_votescore.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0004_dossierscore_rewrite.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0005_representativescore.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0006_score_formula.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0007_fix_underflow.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0008_representativescore_use_positions.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0009_representativescore_use_positionscore.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/0010_remove_views.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/migrations/__init__.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/models.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/serializers.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/templates/__init__.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/templates/positions/__init__.py (100%) rename {representatives_recommendations => src/representatives_recommendations}/templates/positions/admin/__init__.py (100%) create mode 100644 tox.ini diff --git a/.coveragerc b/.coveragerc index 85b23c9..1aed5b2 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,4 +1,4 @@ [run] omit = - representatives_positions/contrib/* - representatives_recommendations/contrib/* + src/representatives_positions/contrib/* + src/representatives_recommendations/contrib/* diff --git a/.gitignore b/.gitignore index 6f0e4e9..0cb5419 100644 --- a/.gitignore +++ b/.gitignore @@ -3,11 +3,11 @@ celerybeat-* core/static/libs/* # libs -static/libs +src/memopol/static/libs/ # settings -memopol/local_settings.py -memopol/config.json +src/memopol/local_settings.py +src/memopol/config.json # Byte-compiled / optimized / DLL files __pycache__/ @@ -18,6 +18,7 @@ __pycache__/ # Virtualenv memopol_env +.tox # Installer logs pip-log.txt diff --git a/.travis.yml b/.travis.yml index a6d76fe..88b3d78 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,22 +3,24 @@ env: global: - DJANGO_DEBUG=True - DJANGO_SETTINGS_MODULE=memopol.settings + matrix: + - TOXENV=qa + - TOXENV=docs + - TOXENV=py27 language: python python: -- '2.7' +- '3.4' services: - postgresql install: -- pip install -U setuptools -- pip install -e .[testing] +- travis_retry pip install -U pip +- travis_retry pip install tox +- travis_retry pip freeze before_script: -- bin/install_client_deps.sh - psql -c "CREATE USER memopol WITH CREATEDB PASSWORD 'memopol';" -U postgres - psql -c "CREATE DATABASE memopol WITH OWNER memopol;" -U postgres script: -- flake8 . --exclude '*/migrations,docs,static' --ignore E128 -- py.test memopol memopol_scores -- django-admin migrate +- travis_retry tox after_success: - codecov deploy: diff --git a/bin/quickstart.sh b/bin/quickstart.sh index 8e895a3..ae62d13 100755 --- a/bin/quickstart.sh +++ b/bin/quickstart.sh @@ -36,17 +36,17 @@ export DJANGO_DEBUG=True export DJANGO_SETTINGS_MODULE=memopol.settings # Run django migration to create database -./manage.py migrate +memopol migrate # Import sample data -./manage.py loaddata memopol/fixtures/data_sample.json +memopol loaddata data_sample.json echo echo "You're all set!" echo "To start the application run the following from the repository root ($REPOROOT):" echo " source memopol_env/bin/activate" echo " export DJANGO_DEBUG=True DJANGO_SETTINGS_MODULE=memopol.settings" -echo " ./manage.py runserver" +echo " memopol runserver" echo echo "If you make changes, don't forget to run tests using:" echo " flake8 . --exclude '*/migrations,docs,static' --ignore E128" diff --git a/docs/administration.rst b/docs/administration.rst index a7a7cd0..1763543 100644 --- a/docs/administration.rst +++ b/docs/administration.rst @@ -10,7 +10,7 @@ Authentication in the admin backend If you haven't already, create a super-administrator account with command:: - ./manage.py createsuperuser + memopol createsuperuser Then use this account to authenticate in the administration backend located in ``/admin``. diff --git a/docs/deploy-custom.rst b/docs/deploy-custom.rst index 7ec37fe..688cb18 100644 --- a/docs/deploy-custom.rst +++ b/docs/deploy-custom.rst @@ -23,14 +23,14 @@ Customize settings Create a copy of the example local settings file:: - $ cp memopol/local_settings.py.example memopol/local_settings.py + $ cp src/memopol/local_settings.py.example src/memopol/local_settings.py -Edit ``memopol/local_settings.py`` to set directories, database settings and +Edit ``src/memopol/local_settings.py`` to set directories, database settings and allowed hosts. Setup your WSGI server to serve: * Static files from the directory specified in the ``PUBLIC_DIR`` setting to the ``/static`` URL -* The memopol/wsgi.py WSGI application +* The ``src/memopol/wsgi.py`` WSGI application Initial memopol setup ===================== @@ -41,7 +41,7 @@ From the repository root, install python dependencies:: Install client libraries:: - $ bin/install_client_deps.sh + $ src/memopol/bin/install_client_deps.sh Setup the database schema:: diff --git a/docs/deploy-openshift.rst b/docs/deploy-openshift.rst index bd4b5e3..9bec34a 100644 --- a/docs/deploy-openshift.rst +++ b/docs/deploy-openshift.rst @@ -38,8 +38,7 @@ To deploy the website, use a command like:: cron-1.4 \ postgresql-9.2 \ -a yourappname \ - -e OPENSHIFT_PYTHON_WSGI_APPLICATION=memopol/wsgi.py \ - --from-code https://github.com/political-memory/political_memory.git \ + -e OPENSHIFT_PYTHON_WSGI_APPLICATION=src/memopol/wsgi.py \ --no-git This should create an app on openshift. Other commands would deploy it at once @@ -87,7 +86,7 @@ Data provisionning To fill up the representatives database table, either wait for the cron script to be executed, either do it manually:: - $ rhc ssh -a yourappname 'cd app-root/repo/ && bin/update_all' + $ rhc ssh -a yourappname 'cd app-root/repo && bin/update_all' OpenShift is fun, login with ssh and look around if you're curious, you'll be able to recreate your app without much effort if you break it anyway. diff --git a/docs/development.rst b/docs/development.rst index e100cdb..3b514f6 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -44,6 +44,11 @@ Create a python virtual environment and activate it:: $ source memopol_env/bin/activate +Alternatively, use the tox command:: + + $ tox -e py27 + $ source .tox/py27/bin/activate + Clone the repository ==================== @@ -132,7 +137,7 @@ Database migrations ensure the database schema is up to date with the project. If you're not sure, you can run them anyway, they won't do any harm. Use the following command:: - $ ./manage.py migrate + $ memopol migrate Operations to perform: Synchronize unmigrated apps: django_filters, staticfiles, datetimewidget, autocomplete_light, messages, adminplus, compressor, humanize, django_extensions, constance, bootstrap3 Apply all migrations: legislature, votes, database, admin, positions, sessions, representatives, auth, contenttypes, representatives_votes, taggit @@ -153,7 +158,7 @@ Provision with data You can load a small data sample for quick setup: - $ ./manage.py loaddata memopol/fixtures/small_sample.json + $ memopol loaddata small_sample.json Or actual data (takes a while):: @@ -164,7 +169,7 @@ Run the development server Run the development server:: - $ ./manage.py runserver + $ memopol runserver Performing system checks... diff --git a/docs/hacker.rst b/docs/hacker.rst index 3f75442..541160e 100644 --- a/docs/hacker.rst +++ b/docs/hacker.rst @@ -10,12 +10,28 @@ quickstart `_, and I bet you'll order a paperback edition for reference ! +Testing +======= + +Use the ``tox -l`` command to list tests:: + + $ pip install tox + $ cd political_memory/ + $ tox -l + +Use the ``tox -e`` command to execute a particular test suite:: + + $ tox -e py27 + +And use the ``tox`` command without argument to execute all test suites, +exactly like in CI. + Adding random recommendations ============================= :: - $ ./manage.py shell + $ memopol shell In [1]: from representatives_votes.models import Proposal In [2]: from votes.models import Recommendation In [3]: import random @@ -32,14 +48,14 @@ test run is. To create test fixtures for representatives_positions, insert some Position objects, and reduce the database with:: - ./manage.py remove_representatives_without_position - ./manage.py remove_groups_without_mandate - ./manage.py remove_countries_without_group + memopol remove_representatives_without_position + memopol remove_groups_without_mandate + memopol remove_countries_without_group For representatives_recommendations:: - ./manage.py remove_proposals_without_recommendation - ./manage.py remove_dossiers_without_proposal - ./manage.py remove_representatives_without_vote - ./manage.py remove_groups_without_mandate - ./manage.py remove_countries_without_group + memopol remove_proposals_without_recommendation + memopol remove_dossiers_without_proposal + memopol remove_representatives_without_vote + memopol remove_groups_without_mandate + memopol remove_countries_without_group diff --git a/pytest.ini b/pytest.ini index 246beef..56f95ce 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,3 +1,3 @@ [pytest] DJANGO_SETTINGS_MODULE=memopol.settings -addopts = --cov-config .coveragerc --cov=. --create-db +addopts = --cov-config .coveragerc --cov=src --create-db diff --git a/setup.py b/setup.py index 9e535a1..d15f312 100644 --- a/setup.py +++ b/setup.py @@ -1,10 +1,12 @@ -from setuptools import setup +from setuptools import setup, find_packages setup(name='political-memory', version='0.0.1', - description='OpenShift App', - packages=['political_memory'], - package_dir={'political_memory': '.'}, + description='Political Memory Project Memopol', + packages=find_packages('src'), + package_dir={'': 'src'}, + include_package_data=True, + zip_safe=False, author='James Pic, Laurent Peuch, Arnaud Fabre, Nicolas Joyard', author_email='cortex@worlddomination.be', url='http://github.com/political-memory/political_memory/', @@ -49,6 +51,7 @@ setup(name='political-memory', 'console_scripts': [ 'memopol_import_positions = representatives_positions.contrib.import_positions:main', # noqa 'memopol_import_recommendations = representatives_recommendations.contrib.import_recommendations:main', # noqa + 'memopol = memopol.manage:main', ] } ) diff --git a/core/__init__.py b/src/core/__init__.py similarity index 100% rename from core/__init__.py rename to src/core/__init__.py diff --git a/core/migrations/0001_initial_site.py b/src/core/migrations/0001_initial_site.py similarity index 100% rename from core/migrations/0001_initial_site.py rename to src/core/migrations/0001_initial_site.py diff --git a/core/migrations/__init__.py b/src/core/migrations/__init__.py similarity index 100% rename from core/migrations/__init__.py rename to src/core/migrations/__init__.py diff --git a/core/templates/core/blocks/active-filter.html b/src/core/templates/core/blocks/active-filter.html similarity index 100% rename from core/templates/core/blocks/active-filter.html rename to src/core/templates/core/blocks/active-filter.html diff --git a/core/templates/core/blocks/grid-list.haml b/src/core/templates/core/blocks/grid-list.haml similarity index 100% rename from core/templates/core/blocks/grid-list.haml rename to src/core/templates/core/blocks/grid-list.haml diff --git a/core/templates/core/blocks/pagination.html b/src/core/templates/core/blocks/pagination.html similarity index 100% rename from core/templates/core/blocks/pagination.html rename to src/core/templates/core/blocks/pagination.html diff --git a/core/templates/core/blocks/sorting.haml b/src/core/templates/core/blocks/sorting.haml similarity index 100% rename from core/templates/core/blocks/sorting.haml rename to src/core/templates/core/blocks/sorting.haml diff --git a/core/templatetags/__init__.py b/src/core/templatetags/__init__.py similarity index 100% rename from core/templatetags/__init__.py rename to src/core/templatetags/__init__.py diff --git a/core/tests.py b/src/core/tests.py similarity index 100% rename from core/tests.py rename to src/core/tests.py diff --git a/core/views.py b/src/core/views.py similarity index 100% rename from core/views.py rename to src/core/views.py diff --git a/memopol/__init__.py b/src/memopol/__init__.py similarity index 100% rename from memopol/__init__.py rename to src/memopol/__init__.py diff --git a/memopol/api.py b/src/memopol/api.py similarity index 100% rename from memopol/api.py rename to src/memopol/api.py diff --git a/bin/install_client_deps.sh b/src/memopol/bin/install_client_deps.sh similarity index 86% rename from bin/install_client_deps.sh rename to src/memopol/bin/install_client_deps.sh index a45d674..a02447c 100755 --- a/bin/install_client_deps.sh +++ b/src/memopol/bin/install_client_deps.sh @@ -24,6 +24,10 @@ function downloadFromGithub() local repo=$2 local ref=$3 + if [ -d $dest ]; then + echo "* $repo ($ref) already downloaded, skipping" + return + fi echo "* Downloading $repo ($ref) from Github..." wget -O temp.zip -q https://github.com/${repo}/archive/${ref}.zip unzip -q temp.zip @@ -33,7 +37,9 @@ function downloadFromGithub() set -e -[ -d ${DEST} ] && rm -r ${DEST} +if [ -z ${CI-} ]; then + [ -d ${DEST} ] && rm -r ${DEST} +fi mkdir -p ${DEST} downloadFromGithub jquery jquery/jquery 2.1.4 diff --git a/memopol/context_processors.py b/src/memopol/context_processors.py similarity index 100% rename from memopol/context_processors.py rename to src/memopol/context_processors.py diff --git a/memopol/filters.py b/src/memopol/filters.py similarity index 100% rename from memopol/filters.py rename to src/memopol/filters.py diff --git a/memopol/fixtures/data_sample.json b/src/memopol/fixtures/data_sample.json similarity index 100% rename from memopol/fixtures/data_sample.json rename to src/memopol/fixtures/data_sample.json diff --git a/memopol/legacy_urls.py b/src/memopol/legacy_urls.py similarity index 100% rename from memopol/legacy_urls.py rename to src/memopol/legacy_urls.py diff --git a/memopol/local_settings.py.example b/src/memopol/local_settings.py.example similarity index 100% rename from memopol/local_settings.py.example rename to src/memopol/local_settings.py.example diff --git a/manage.py b/src/memopol/manage.py similarity index 91% rename from manage.py rename to src/memopol/manage.py index c26af48..1b46b79 100755 --- a/manage.py +++ b/src/memopol/manage.py @@ -2,9 +2,11 @@ import os import sys -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "memopol.settings") +def main(): + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "memopol.settings") from django.core.management import execute_from_command_line - execute_from_command_line(sys.argv) + +if __name__ == "__main__": + main() diff --git a/memopol/settings.py b/src/memopol/settings.py similarity index 99% rename from memopol/settings.py rename to src/memopol/settings.py index 2f1e2c6..552d437 100644 --- a/memopol/settings.py +++ b/src/memopol/settings.py @@ -20,7 +20,7 @@ from django.utils.crypto import get_random_string # Base memopol settings # -BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) DEBUG = os.environ.get('DJANGO_DEBUG', 'false').lower() == 'true' # diff --git a/static/.gitignore b/src/memopol/static/.gitignore similarity index 100% rename from static/.gitignore rename to src/memopol/static/.gitignore diff --git a/static/css/bootstrap-theme.css b/src/memopol/static/css/bootstrap-theme.css similarity index 100% rename from static/css/bootstrap-theme.css rename to src/memopol/static/css/bootstrap-theme.css diff --git a/static/css/bootstrap-theme.css.map b/src/memopol/static/css/bootstrap-theme.css.map similarity index 100% rename from static/css/bootstrap-theme.css.map rename to src/memopol/static/css/bootstrap-theme.css.map diff --git a/static/css/bootstrap-theme.min.css b/src/memopol/static/css/bootstrap-theme.min.css similarity index 100% rename from static/css/bootstrap-theme.min.css rename to src/memopol/static/css/bootstrap-theme.min.css diff --git a/static/css/bootstrap.css b/src/memopol/static/css/bootstrap.css similarity index 100% rename from static/css/bootstrap.css rename to src/memopol/static/css/bootstrap.css diff --git a/static/css/bootstrap.css.map b/src/memopol/static/css/bootstrap.css.map similarity index 100% rename from static/css/bootstrap.css.map rename to src/memopol/static/css/bootstrap.css.map diff --git a/static/css/bootstrap.min-original.css b/src/memopol/static/css/bootstrap.min-original.css similarity index 100% rename from static/css/bootstrap.min-original.css rename to src/memopol/static/css/bootstrap.min-original.css diff --git a/static/css/bootstrap.min-paper.css b/src/memopol/static/css/bootstrap.min-paper.css similarity index 100% rename from static/css/bootstrap.min-paper.css rename to src/memopol/static/css/bootstrap.min-paper.css diff --git a/static/css/bootstrap.min.css b/src/memopol/static/css/bootstrap.min.css similarity index 100% rename from static/css/bootstrap.min.css rename to src/memopol/static/css/bootstrap.min.css diff --git a/static/css/custom.css b/src/memopol/static/css/custom.css similarity index 100% rename from static/css/custom.css rename to src/memopol/static/css/custom.css diff --git a/static/fonts/glyphicons-halflings-regular.eot b/src/memopol/static/fonts/glyphicons-halflings-regular.eot similarity index 100% rename from static/fonts/glyphicons-halflings-regular.eot rename to src/memopol/static/fonts/glyphicons-halflings-regular.eot diff --git a/static/fonts/glyphicons-halflings-regular.svg b/src/memopol/static/fonts/glyphicons-halflings-regular.svg similarity index 100% rename from static/fonts/glyphicons-halflings-regular.svg rename to src/memopol/static/fonts/glyphicons-halflings-regular.svg diff --git a/static/fonts/glyphicons-halflings-regular.ttf b/src/memopol/static/fonts/glyphicons-halflings-regular.ttf similarity index 100% rename from static/fonts/glyphicons-halflings-regular.ttf rename to src/memopol/static/fonts/glyphicons-halflings-regular.ttf diff --git a/static/fonts/glyphicons-halflings-regular.woff b/src/memopol/static/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from static/fonts/glyphicons-halflings-regular.woff rename to src/memopol/static/fonts/glyphicons-halflings-regular.woff diff --git a/static/fonts/glyphicons-halflings-regular.woff2 b/src/memopol/static/fonts/glyphicons-halflings-regular.woff2 similarity index 100% rename from static/fonts/glyphicons-halflings-regular.woff2 rename to src/memopol/static/fonts/glyphicons-halflings-regular.woff2 diff --git a/static/fonts/propagan-webfont.svg b/src/memopol/static/fonts/propagan-webfont.svg similarity index 100% rename from static/fonts/propagan-webfont.svg rename to src/memopol/static/fonts/propagan-webfont.svg diff --git a/static/fonts/propagan-webfont.ttf b/src/memopol/static/fonts/propagan-webfont.ttf similarity index 100% rename from static/fonts/propagan-webfont.ttf rename to src/memopol/static/fonts/propagan-webfont.ttf diff --git a/static/fonts/propagan-webfont.woff b/src/memopol/static/fonts/propagan-webfont.woff similarity index 100% rename from static/fonts/propagan-webfont.woff rename to src/memopol/static/fonts/propagan-webfont.woff diff --git a/static/fonts/sansus_webissimo-italic-webfont-webfont.eot b/src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.eot similarity index 100% rename from static/fonts/sansus_webissimo-italic-webfont-webfont.eot rename to src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.eot diff --git a/static/fonts/sansus_webissimo-italic-webfont-webfont.svg b/src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.svg similarity index 100% rename from static/fonts/sansus_webissimo-italic-webfont-webfont.svg rename to src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.svg diff --git a/static/fonts/sansus_webissimo-italic-webfont-webfont.ttf b/src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.ttf similarity index 100% rename from static/fonts/sansus_webissimo-italic-webfont-webfont.ttf rename to src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.ttf diff --git a/static/fonts/sansus_webissimo-italic-webfont-webfont.woff b/src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.woff similarity index 100% rename from static/fonts/sansus_webissimo-italic-webfont-webfont.woff rename to src/memopol/static/fonts/sansus_webissimo-italic-webfont-webfont.woff diff --git a/static/fonts/sansus_webissimo-regular-webfont-webfont.eot b/src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.eot similarity index 100% rename from static/fonts/sansus_webissimo-regular-webfont-webfont.eot rename to src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.eot diff --git a/static/fonts/sansus_webissimo-regular-webfont-webfont.svg b/src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.svg similarity index 100% rename from static/fonts/sansus_webissimo-regular-webfont-webfont.svg rename to src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.svg diff --git a/static/fonts/sansus_webissimo-regular-webfont-webfont.ttf b/src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.ttf similarity index 100% rename from static/fonts/sansus_webissimo-regular-webfont-webfont.ttf rename to src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.ttf diff --git a/static/fonts/sansus_webissimo-regular-webfont-webfont.woff b/src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.woff similarity index 100% rename from static/fonts/sansus_webissimo-regular-webfont-webfont.woff rename to src/memopol/static/fonts/sansus_webissimo-regular-webfont-webfont.woff diff --git a/static/images/chamber-an.png b/src/memopol/static/images/chamber-an.png similarity index 100% rename from static/images/chamber-an.png rename to src/memopol/static/images/chamber-an.png diff --git a/static/images/chamber-ep.png b/src/memopol/static/images/chamber-ep.png similarity index 100% rename from static/images/chamber-ep.png rename to src/memopol/static/images/chamber-ep.png diff --git a/static/images/chamber-sen.png b/src/memopol/static/images/chamber-sen.png similarity index 100% rename from static/images/chamber-sen.png rename to src/memopol/static/images/chamber-sen.png diff --git a/static/images/favicon.png b/src/memopol/static/images/favicon.png similarity index 100% rename from static/images/favicon.png rename to src/memopol/static/images/favicon.png diff --git a/static/images/group-an-gdr.png b/src/memopol/static/images/group-an-gdr.png similarity index 100% rename from static/images/group-an-gdr.png rename to src/memopol/static/images/group-an-gdr.png diff --git a/static/images/group-an-lr.png b/src/memopol/static/images/group-an-lr.png similarity index 100% rename from static/images/group-an-lr.png rename to src/memopol/static/images/group-an-lr.png diff --git a/static/images/group-an-ni.png b/src/memopol/static/images/group-an-ni.png similarity index 100% rename from static/images/group-an-ni.png rename to src/memopol/static/images/group-an-ni.png diff --git a/static/images/group-an-rrdp.png b/src/memopol/static/images/group-an-rrdp.png similarity index 100% rename from static/images/group-an-rrdp.png rename to src/memopol/static/images/group-an-rrdp.png diff --git a/static/images/group-an-ser.png b/src/memopol/static/images/group-an-ser.png similarity index 100% rename from static/images/group-an-ser.png rename to src/memopol/static/images/group-an-ser.png diff --git a/static/images/group-an-udi.png b/src/memopol/static/images/group-an-udi.png similarity index 100% rename from static/images/group-an-udi.png rename to src/memopol/static/images/group-an-udi.png diff --git a/static/images/group-ep-alde.png b/src/memopol/static/images/group-ep-alde.png similarity index 100% rename from static/images/group-ep-alde.png rename to src/memopol/static/images/group-ep-alde.png diff --git a/static/images/group-ep-ecr.png b/src/memopol/static/images/group-ep-ecr.png similarity index 100% rename from static/images/group-ep-ecr.png rename to src/memopol/static/images/group-ep-ecr.png diff --git a/static/images/group-ep-efdd.png b/src/memopol/static/images/group-ep-efdd.png similarity index 100% rename from static/images/group-ep-efdd.png rename to src/memopol/static/images/group-ep-efdd.png diff --git a/static/images/group-ep-enf.png b/src/memopol/static/images/group-ep-enf.png similarity index 100% rename from static/images/group-ep-enf.png rename to src/memopol/static/images/group-ep-enf.png diff --git a/static/images/group-ep-epp.png b/src/memopol/static/images/group-ep-epp.png similarity index 100% rename from static/images/group-ep-epp.png rename to src/memopol/static/images/group-ep-epp.png diff --git a/static/images/group-ep-greensefa.png b/src/memopol/static/images/group-ep-greensefa.png similarity index 100% rename from static/images/group-ep-greensefa.png rename to src/memopol/static/images/group-ep-greensefa.png diff --git a/static/images/group-ep-guengl.png b/src/memopol/static/images/group-ep-guengl.png similarity index 100% rename from static/images/group-ep-guengl.png rename to src/memopol/static/images/group-ep-guengl.png diff --git a/static/images/group-ep-ni.png b/src/memopol/static/images/group-ep-ni.png similarity index 100% rename from static/images/group-ep-ni.png rename to src/memopol/static/images/group-ep-ni.png diff --git a/static/images/group-ep-sd.png b/src/memopol/static/images/group-ep-sd.png similarity index 100% rename from static/images/group-ep-sd.png rename to src/memopol/static/images/group-ep-sd.png diff --git a/static/images/group-sen-crc.png b/src/memopol/static/images/group-sen-crc.png similarity index 100% rename from static/images/group-sen-crc.png rename to src/memopol/static/images/group-sen-crc.png diff --git a/static/images/group-sen-eco.png b/src/memopol/static/images/group-sen-eco.png similarity index 100% rename from static/images/group-sen-eco.png rename to src/memopol/static/images/group-sen-eco.png diff --git a/static/images/group-sen-lr.png b/src/memopol/static/images/group-sen-lr.png similarity index 100% rename from static/images/group-sen-lr.png rename to src/memopol/static/images/group-sen-lr.png diff --git a/static/images/group-sen-ni.png b/src/memopol/static/images/group-sen-ni.png similarity index 100% rename from static/images/group-sen-ni.png rename to src/memopol/static/images/group-sen-ni.png diff --git a/static/images/group-sen-rdse.png b/src/memopol/static/images/group-sen-rdse.png similarity index 100% rename from static/images/group-sen-rdse.png rename to src/memopol/static/images/group-sen-rdse.png diff --git a/static/images/group-sen-soc.png b/src/memopol/static/images/group-sen-soc.png similarity index 100% rename from static/images/group-sen-soc.png rename to src/memopol/static/images/group-sen-soc.png diff --git a/static/images/group-sen-udi.png b/src/memopol/static/images/group-sen-udi.png similarity index 100% rename from static/images/group-sen-udi.png rename to src/memopol/static/images/group-sen-udi.png diff --git a/static/images/logo.png b/src/memopol/static/images/logo.png similarity index 100% rename from static/images/logo.png rename to src/memopol/static/images/logo.png diff --git a/static/images/social-facebook.png b/src/memopol/static/images/social-facebook.png similarity index 100% rename from static/images/social-facebook.png rename to src/memopol/static/images/social-facebook.png diff --git a/static/images/social-twitter.png b/src/memopol/static/images/social-twitter.png similarity index 100% rename from static/images/social-twitter.png rename to src/memopol/static/images/social-twitter.png diff --git a/static/js/bootstrap.js b/src/memopol/static/js/bootstrap.js similarity index 100% rename from static/js/bootstrap.js rename to src/memopol/static/js/bootstrap.js diff --git a/static/js/bootstrap.min.js b/src/memopol/static/js/bootstrap.min.js similarity index 100% rename from static/js/bootstrap.min.js rename to src/memopol/static/js/bootstrap.min.js diff --git a/static/js/npm.js b/src/memopol/static/js/npm.js similarity index 100% rename from static/js/npm.js rename to src/memopol/static/js/npm.js diff --git a/static/reference/design-v3/MEP-mandates.html b/src/memopol/static/reference/design-v3/MEP-mandates.html similarity index 100% rename from static/reference/design-v3/MEP-mandates.html rename to src/memopol/static/reference/design-v3/MEP-mandates.html diff --git a/static/reference/design-v3/MEP-positions.html b/src/memopol/static/reference/design-v3/MEP-positions.html similarity index 100% rename from static/reference/design-v3/MEP-positions.html rename to src/memopol/static/reference/design-v3/MEP-positions.html diff --git a/static/reference/design-v3/MEP-vide.html b/src/memopol/static/reference/design-v3/MEP-vide.html similarity index 100% rename from static/reference/design-v3/MEP-vide.html rename to src/memopol/static/reference/design-v3/MEP-vide.html diff --git a/static/reference/design-v3/MEP-votes.html b/src/memopol/static/reference/design-v3/MEP-votes.html similarity index 100% rename from static/reference/design-v3/MEP-votes.html rename to src/memopol/static/reference/design-v3/MEP-votes.html diff --git a/static/reference/design-v3/MEP.html b/src/memopol/static/reference/design-v3/MEP.html similarity index 100% rename from static/reference/design-v3/MEP.html rename to src/memopol/static/reference/design-v3/MEP.html diff --git a/static/reference/design-v3/css/bootstrap-theme.css b/src/memopol/static/reference/design-v3/css/bootstrap-theme.css similarity index 100% rename from static/reference/design-v3/css/bootstrap-theme.css rename to src/memopol/static/reference/design-v3/css/bootstrap-theme.css diff --git a/static/reference/design-v3/css/bootstrap-theme.css.map b/src/memopol/static/reference/design-v3/css/bootstrap-theme.css.map similarity index 100% rename from static/reference/design-v3/css/bootstrap-theme.css.map rename to src/memopol/static/reference/design-v3/css/bootstrap-theme.css.map diff --git a/static/reference/design-v3/css/bootstrap-theme.min.css b/src/memopol/static/reference/design-v3/css/bootstrap-theme.min.css similarity index 100% rename from static/reference/design-v3/css/bootstrap-theme.min.css rename to src/memopol/static/reference/design-v3/css/bootstrap-theme.min.css diff --git a/static/reference/design-v3/css/bootstrap.css b/src/memopol/static/reference/design-v3/css/bootstrap.css similarity index 100% rename from static/reference/design-v3/css/bootstrap.css rename to src/memopol/static/reference/design-v3/css/bootstrap.css diff --git a/static/reference/design-v3/css/bootstrap.css.map b/src/memopol/static/reference/design-v3/css/bootstrap.css.map similarity index 100% rename from static/reference/design-v3/css/bootstrap.css.map rename to src/memopol/static/reference/design-v3/css/bootstrap.css.map diff --git a/static/reference/design-v3/css/bootstrap.min-original.css b/src/memopol/static/reference/design-v3/css/bootstrap.min-original.css similarity index 100% rename from static/reference/design-v3/css/bootstrap.min-original.css rename to src/memopol/static/reference/design-v3/css/bootstrap.min-original.css diff --git a/static/reference/design-v3/css/bootstrap.min-paper.css b/src/memopol/static/reference/design-v3/css/bootstrap.min-paper.css similarity index 100% rename from static/reference/design-v3/css/bootstrap.min-paper.css rename to src/memopol/static/reference/design-v3/css/bootstrap.min-paper.css diff --git a/static/reference/design-v3/css/bootstrap.min.css b/src/memopol/static/reference/design-v3/css/bootstrap.min.css similarity index 100% rename from static/reference/design-v3/css/bootstrap.min.css rename to src/memopol/static/reference/design-v3/css/bootstrap.min.css diff --git a/static/reference/design-v3/css/custom.css b/src/memopol/static/reference/design-v3/css/custom.css similarity index 100% rename from static/reference/design-v3/css/custom.css rename to src/memopol/static/reference/design-v3/css/custom.css diff --git a/static/reference/design-v3/dossier-positions.html b/src/memopol/static/reference/design-v3/dossier-positions.html similarity index 100% rename from static/reference/design-v3/dossier-positions.html rename to src/memopol/static/reference/design-v3/dossier-positions.html diff --git a/static/reference/design-v3/dossier-vide.html b/src/memopol/static/reference/design-v3/dossier-vide.html similarity index 100% rename from static/reference/design-v3/dossier-vide.html rename to src/memopol/static/reference/design-v3/dossier-vide.html diff --git a/static/reference/design-v3/dossier-votes.html b/src/memopol/static/reference/design-v3/dossier-votes.html similarity index 100% rename from static/reference/design-v3/dossier-votes.html rename to src/memopol/static/reference/design-v3/dossier-votes.html diff --git a/static/reference/design-v3/dossier.html b/src/memopol/static/reference/design-v3/dossier.html similarity index 100% rename from static/reference/design-v3/dossier.html rename to src/memopol/static/reference/design-v3/dossier.html diff --git a/static/reference/design-v3/fonts/PROPAGAN.ttf b/src/memopol/static/reference/design-v3/fonts/PROPAGAN.ttf similarity index 100% rename from static/reference/design-v3/fonts/PROPAGAN.ttf rename to src/memopol/static/reference/design-v3/fonts/PROPAGAN.ttf diff --git a/static/reference/design-v3/fonts/glyphicons-halflings-regular.eot b/src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.eot similarity index 100% rename from static/reference/design-v3/fonts/glyphicons-halflings-regular.eot rename to src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.eot diff --git a/static/reference/design-v3/fonts/glyphicons-halflings-regular.svg b/src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.svg similarity index 100% rename from static/reference/design-v3/fonts/glyphicons-halflings-regular.svg rename to src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.svg diff --git a/static/reference/design-v3/fonts/glyphicons-halflings-regular.ttf b/src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.ttf similarity index 100% rename from static/reference/design-v3/fonts/glyphicons-halflings-regular.ttf rename to src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.ttf diff --git a/static/reference/design-v3/fonts/glyphicons-halflings-regular.woff b/src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.woff similarity index 100% rename from static/reference/design-v3/fonts/glyphicons-halflings-regular.woff rename to src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.woff diff --git a/static/reference/design-v3/fonts/glyphicons-halflings-regular.woff2 b/src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.woff2 similarity index 100% rename from static/reference/design-v3/fonts/glyphicons-halflings-regular.woff2 rename to src/memopol/static/reference/design-v3/fonts/glyphicons-halflings-regular.woff2 diff --git a/static/reference/design-v3/img/i-bilbaobarandica.jpg b/src/memopol/static/reference/design-v3/img/i-bilbaobarandica.jpg similarity index 100% rename from static/reference/design-v3/img/i-bilbaobarandica.jpg rename to src/memopol/static/reference/design-v3/img/i-bilbaobarandica.jpg diff --git a/static/reference/design-v3/img/jp-albrecht.jpg b/src/memopol/static/reference/design-v3/img/jp-albrecht.jpg similarity index 100% rename from static/reference/design-v3/img/jp-albrecht.jpg rename to src/memopol/static/reference/design-v3/img/jp-albrecht.jpg diff --git a/static/reference/design-v3/img/logo.png b/src/memopol/static/reference/design-v3/img/logo.png similarity index 100% rename from static/reference/design-v3/img/logo.png rename to src/memopol/static/reference/design-v3/img/logo.png diff --git a/static/reference/design-v3/img/m-anderson.jpg b/src/memopol/static/reference/design-v3/img/m-anderson.jpg similarity index 100% rename from static/reference/design-v3/img/m-anderson.jpg rename to src/memopol/static/reference/design-v3/img/m-anderson.jpg diff --git a/static/reference/design-v3/img/sg-cofferati.jpg b/src/memopol/static/reference/design-v3/img/sg-cofferati.jpg similarity index 100% rename from static/reference/design-v3/img/sg-cofferati.jpg rename to src/memopol/static/reference/design-v3/img/sg-cofferati.jpg diff --git a/static/reference/design-v3/index.html b/src/memopol/static/reference/design-v3/index.html similarity index 100% rename from static/reference/design-v3/index.html rename to src/memopol/static/reference/design-v3/index.html diff --git a/static/reference/design-v3/infos.html b/src/memopol/static/reference/design-v3/infos.html similarity index 100% rename from static/reference/design-v3/infos.html rename to src/memopol/static/reference/design-v3/infos.html diff --git a/static/reference/design-v3/js/bootstrap.js b/src/memopol/static/reference/design-v3/js/bootstrap.js similarity index 100% rename from static/reference/design-v3/js/bootstrap.js rename to src/memopol/static/reference/design-v3/js/bootstrap.js diff --git a/static/reference/design-v3/js/bootstrap.min.js b/src/memopol/static/reference/design-v3/js/bootstrap.min.js similarity index 100% rename from static/reference/design-v3/js/bootstrap.min.js rename to src/memopol/static/reference/design-v3/js/bootstrap.min.js diff --git a/static/reference/design-v3/js/npm.js b/src/memopol/static/reference/design-v3/js/npm.js similarity index 100% rename from static/reference/design-v3/js/npm.js rename to src/memopol/static/reference/design-v3/js/npm.js diff --git a/static/reference/design-v3/listDossiers.html b/src/memopol/static/reference/design-v3/listDossiers.html similarity index 100% rename from static/reference/design-v3/listDossiers.html rename to src/memopol/static/reference/design-v3/listDossiers.html diff --git a/static/reference/design-v3/listMEP.html b/src/memopol/static/reference/design-v3/listMEP.html similarity index 100% rename from static/reference/design-v3/listMEP.html rename to src/memopol/static/reference/design-v3/listMEP.html diff --git a/static/reference/logos/Memopol_site_fond_noir.svg b/src/memopol/static/reference/logos/Memopol_site_fond_noir.svg similarity index 100% rename from static/reference/logos/Memopol_site_fond_noir.svg rename to src/memopol/static/reference/logos/Memopol_site_fond_noir.svg diff --git a/static/reference/logos/Memopol_site_miniature.svg b/src/memopol/static/reference/logos/Memopol_site_miniature.svg similarity index 100% rename from static/reference/logos/Memopol_site_miniature.svg rename to src/memopol/static/reference/logos/Memopol_site_miniature.svg diff --git a/static/reference/logos/Memopol_site_sans_fond.svg b/src/memopol/static/reference/logos/Memopol_site_sans_fond.svg similarity index 100% rename from static/reference/logos/Memopol_site_sans_fond.svg rename to src/memopol/static/reference/logos/Memopol_site_sans_fond.svg diff --git a/static/stylesheets/font.css b/src/memopol/static/stylesheets/font.css similarity index 100% rename from static/stylesheets/font.css rename to src/memopol/static/stylesheets/font.css diff --git a/static/stylesheets/footer.css b/src/memopol/static/stylesheets/footer.css similarity index 100% rename from static/stylesheets/footer.css rename to src/memopol/static/stylesheets/footer.css diff --git a/static/stylesheets/header.css b/src/memopol/static/stylesheets/header.css similarity index 100% rename from static/stylesheets/header.css rename to src/memopol/static/stylesheets/header.css diff --git a/static/stylesheets/navigation.css b/src/memopol/static/stylesheets/navigation.css similarity index 100% rename from static/stylesheets/navigation.css rename to src/memopol/static/stylesheets/navigation.css diff --git a/static/stylesheets/table.css b/src/memopol/static/stylesheets/table.css similarity index 100% rename from static/stylesheets/table.css rename to src/memopol/static/stylesheets/table.css diff --git a/templates/_base_intro.html b/src/memopol/templates/_base_intro.html similarity index 100% rename from templates/_base_intro.html rename to src/memopol/templates/_base_intro.html diff --git a/templates/_base_search.html b/src/memopol/templates/_base_search.html similarity index 100% rename from templates/_base_search.html rename to src/memopol/templates/_base_search.html diff --git a/templates/_position_form_modal.html b/src/memopol/templates/_position_form_modal.html similarity index 100% rename from templates/_position_form_modal.html rename to src/memopol/templates/_position_form_modal.html diff --git a/templates/base.html b/src/memopol/templates/base.html similarity index 100% rename from templates/base.html rename to src/memopol/templates/base.html diff --git a/templates/blocks/_dossier_list.html b/src/memopol/templates/blocks/_dossier_list.html similarity index 100% rename from templates/blocks/_dossier_list.html rename to src/memopol/templates/blocks/_dossier_list.html diff --git a/templates/blocks/_pagination.html b/src/memopol/templates/blocks/_pagination.html similarity index 100% rename from templates/blocks/_pagination.html rename to src/memopol/templates/blocks/_pagination.html diff --git a/templates/blocks/_position_list.html b/src/memopol/templates/blocks/_position_list.html similarity index 100% rename from templates/blocks/_position_list.html rename to src/memopol/templates/blocks/_position_list.html diff --git a/templates/blocks/_proposal_list.html b/src/memopol/templates/blocks/_proposal_list.html similarity index 100% rename from templates/blocks/_proposal_list.html rename to src/memopol/templates/blocks/_proposal_list.html diff --git a/templates/blocks/_sorting.html b/src/memopol/templates/blocks/_sorting.html similarity index 100% rename from templates/blocks/_sorting.html rename to src/memopol/templates/blocks/_sorting.html diff --git a/templates/blocks/_themescore_dropdown.html b/src/memopol/templates/blocks/_themescore_dropdown.html similarity index 100% rename from templates/blocks/_themescore_dropdown.html rename to src/memopol/templates/blocks/_themescore_dropdown.html diff --git a/templates/blocks/_themetags.html b/src/memopol/templates/blocks/_themetags.html similarity index 100% rename from templates/blocks/_themetags.html rename to src/memopol/templates/blocks/_themetags.html diff --git a/templates/blocks/listfooter.html b/src/memopol/templates/blocks/listfooter.html similarity index 100% rename from templates/blocks/listfooter.html rename to src/memopol/templates/blocks/listfooter.html diff --git a/templates/blocks/listheader.html b/src/memopol/templates/blocks/listheader.html similarity index 100% rename from templates/blocks/listheader.html rename to src/memopol/templates/blocks/listheader.html diff --git a/templates/home.html b/src/memopol/templates/home.html similarity index 100% rename from templates/home.html rename to src/memopol/templates/home.html diff --git a/templates/memopol_themes/theme_detail.html b/src/memopol/templates/memopol_themes/theme_detail.html similarity index 100% rename from templates/memopol_themes/theme_detail.html rename to src/memopol/templates/memopol_themes/theme_detail.html diff --git a/templates/memopol_themes/theme_detail_dossiers.html b/src/memopol/templates/memopol_themes/theme_detail_dossiers.html similarity index 100% rename from templates/memopol_themes/theme_detail_dossiers.html rename to src/memopol/templates/memopol_themes/theme_detail_dossiers.html diff --git a/templates/memopol_themes/theme_detail_links.html b/src/memopol/templates/memopol_themes/theme_detail_links.html similarity index 100% rename from templates/memopol_themes/theme_detail_links.html rename to src/memopol/templates/memopol_themes/theme_detail_links.html diff --git a/templates/memopol_themes/theme_detail_positions.html b/src/memopol/templates/memopol_themes/theme_detail_positions.html similarity index 100% rename from templates/memopol_themes/theme_detail_positions.html rename to src/memopol/templates/memopol_themes/theme_detail_positions.html diff --git a/templates/memopol_themes/theme_detail_proposals.html b/src/memopol/templates/memopol_themes/theme_detail_proposals.html similarity index 100% rename from templates/memopol_themes/theme_detail_proposals.html rename to src/memopol/templates/memopol_themes/theme_detail_proposals.html diff --git a/templates/memopol_themes/theme_list.html b/src/memopol/templates/memopol_themes/theme_list.html similarity index 100% rename from templates/memopol_themes/theme_list.html rename to src/memopol/templates/memopol_themes/theme_list.html diff --git a/templates/representatives/_mandate_block.html b/src/memopol/templates/representatives/_mandate_block.html similarity index 100% rename from templates/representatives/_mandate_block.html rename to src/memopol/templates/representatives/_mandate_block.html diff --git a/templates/representatives/_representative_menu.haml b/src/memopol/templates/representatives/_representative_menu.haml similarity index 100% rename from templates/representatives/_representative_menu.haml rename to src/memopol/templates/representatives/_representative_menu.haml diff --git a/templates/representatives/representative_detail.html b/src/memopol/templates/representatives/representative_detail.html similarity index 100% rename from templates/representatives/representative_detail.html rename to src/memopol/templates/representatives/representative_detail.html diff --git a/templates/representatives/representative_detail_mandates.html b/src/memopol/templates/representatives/representative_detail_mandates.html similarity index 100% rename from templates/representatives/representative_detail_mandates.html rename to src/memopol/templates/representatives/representative_detail_mandates.html diff --git a/templates/representatives/representative_detail_positions.html b/src/memopol/templates/representatives/representative_detail_positions.html similarity index 100% rename from templates/representatives/representative_detail_positions.html rename to src/memopol/templates/representatives/representative_detail_positions.html diff --git a/templates/representatives/representative_detail_votes.html b/src/memopol/templates/representatives/representative_detail_votes.html similarity index 100% rename from templates/representatives/representative_detail_votes.html rename to src/memopol/templates/representatives/representative_detail_votes.html diff --git a/templates/representatives/representative_grid.html b/src/memopol/templates/representatives/representative_grid.html similarity index 100% rename from templates/representatives/representative_grid.html rename to src/memopol/templates/representatives/representative_grid.html diff --git a/templates/representatives/representative_mandates.haml b/src/memopol/templates/representatives/representative_mandates.haml similarity index 100% rename from templates/representatives/representative_mandates.haml rename to src/memopol/templates/representatives/representative_mandates.haml diff --git a/templates/representatives/representative_positions.haml b/src/memopol/templates/representatives/representative_positions.haml similarity index 100% rename from templates/representatives/representative_positions.haml rename to src/memopol/templates/representatives/representative_positions.haml diff --git a/templates/representatives/representative_votes.haml b/src/memopol/templates/representatives/representative_votes.haml similarity index 100% rename from templates/representatives/representative_votes.haml rename to src/memopol/templates/representatives/representative_votes.haml diff --git a/templates/representatives_votes/dossier_detail.html b/src/memopol/templates/representatives_votes/dossier_detail.html similarity index 100% rename from templates/representatives_votes/dossier_detail.html rename to src/memopol/templates/representatives_votes/dossier_detail.html diff --git a/templates/representatives_votes/dossier_detail_documents.html b/src/memopol/templates/representatives_votes/dossier_detail_documents.html similarity index 100% rename from templates/representatives_votes/dossier_detail_documents.html rename to src/memopol/templates/representatives_votes/dossier_detail_documents.html diff --git a/templates/representatives_votes/dossier_detail_proposals.html b/src/memopol/templates/representatives_votes/dossier_detail_proposals.html similarity index 100% rename from templates/representatives_votes/dossier_detail_proposals.html rename to src/memopol/templates/representatives_votes/dossier_detail_proposals.html diff --git a/templates/representatives_votes/dossier_detail_recommendations.html b/src/memopol/templates/representatives_votes/dossier_detail_recommendations.html similarity index 100% rename from templates/representatives_votes/dossier_detail_recommendations.html rename to src/memopol/templates/representatives_votes/dossier_detail_recommendations.html diff --git a/templates/representatives_votes/dossier_list.html b/src/memopol/templates/representatives_votes/dossier_list.html similarity index 100% rename from templates/representatives_votes/dossier_list.html rename to src/memopol/templates/representatives_votes/dossier_list.html diff --git a/templates/text/license.html b/src/memopol/templates/text/license.html similarity index 100% rename from templates/text/license.html rename to src/memopol/templates/text/license.html diff --git a/templates/text/position_info.html b/src/memopol/templates/text/position_info.html similarity index 100% rename from templates/text/position_info.html rename to src/memopol/templates/text/position_info.html diff --git a/templates/text/short_description.html b/src/memopol/templates/text/short_description.html similarity index 100% rename from templates/text/short_description.html rename to src/memopol/templates/text/short_description.html diff --git a/memopol/templatetags/__init__.py b/src/memopol/templatetags/__init__.py similarity index 100% rename from memopol/templatetags/__init__.py rename to src/memopol/templatetags/__init__.py diff --git a/memopol/templatetags/memopol_tags.py b/src/memopol/templatetags/memopol_tags.py similarity index 100% rename from memopol/templatetags/memopol_tags.py rename to src/memopol/templatetags/memopol_tags.py diff --git a/memopol/tests/__init__.py b/src/memopol/tests/__init__.py similarity index 100% rename from memopol/tests/__init__.py rename to src/memopol/tests/__init__.py diff --git a/memopol/tests/base.py b/src/memopol/tests/base.py similarity index 100% rename from memopol/tests/base.py rename to src/memopol/tests/base.py diff --git a/memopol/tests/response_fixtures/DossierDetailTest.test_name.content b/src/memopol/tests/response_fixtures/DossierDetailTest.test_name.content similarity index 100% rename from memopol/tests/response_fixtures/DossierDetailTest.test_name.content rename to src/memopol/tests/response_fixtures/DossierDetailTest.test_name.content diff --git a/memopol/tests/response_fixtures/DossierDetailTest.test_name.metadata b/src/memopol/tests/response_fixtures/DossierDetailTest.test_name.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierDetailTest.test_name.metadata rename to src/memopol/tests/response_fixtures/DossierDetailTest.test_name.metadata diff --git a/memopol/tests/response_fixtures/DossierDetailTest.test_themes.content b/src/memopol/tests/response_fixtures/DossierDetailTest.test_themes.content similarity index 100% rename from memopol/tests/response_fixtures/DossierDetailTest.test_themes.content rename to src/memopol/tests/response_fixtures/DossierDetailTest.test_themes.content diff --git a/memopol/tests/response_fixtures/DossierDetailTest.test_themes.metadata b/src/memopol/tests/response_fixtures/DossierDetailTest.test_themes.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierDetailTest.test_themes.metadata rename to src/memopol/tests/response_fixtures/DossierDetailTest.test_themes.metadata diff --git a/memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.content b/src/memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.content similarity index 100% rename from memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.content rename to src/memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.content diff --git a/memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.metadata b/src/memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.metadata rename to src/memopol/tests/response_fixtures/DossierDocumentsTest.test_proposals.metadata diff --git a/memopol/tests/response_fixtures/DossierListTest.test_cards.content b/src/memopol/tests/response_fixtures/DossierListTest.test_cards.content similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_cards.content rename to src/memopol/tests/response_fixtures/DossierListTest.test_cards.content diff --git a/memopol/tests/response_fixtures/DossierListTest.test_cards.metadata b/src/memopol/tests/response_fixtures/DossierListTest.test_cards.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_cards.metadata rename to src/memopol/tests/response_fixtures/DossierListTest.test_cards.metadata diff --git a/memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.content b/src/memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.content similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.content rename to src/memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.content diff --git a/memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.metadata b/src/memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.metadata rename to src/memopol/tests/response_fixtures/DossierListTest.test_navbar_order_options.metadata diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.content b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.content similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.content rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.content diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.metadata b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.metadata rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_proposals.metadata diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.content b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.content similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.content rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.content diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.metadata b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.metadata rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_recommendations.metadata diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.content b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.content similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.content rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.content diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.metadata b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.metadata rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_asc.metadata diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.content b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.content similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.content rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.content diff --git a/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.metadata b/src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.metadata rename to src/memopol/tests/response_fixtures/DossierListTest.test_order_by_title_desc.metadata diff --git a/memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.content b/src/memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.content similarity index 100% rename from memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.content rename to src/memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.content diff --git a/memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.metadata b/src/memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.metadata rename to src/memopol/tests/response_fixtures/DossierProposalsTest.test_proposals.metadata diff --git a/memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.content b/src/memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.content similarity index 100% rename from memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.content rename to src/memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.content diff --git a/memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.metadata b/src/memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.metadata similarity index 100% rename from memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.metadata rename to src/memopol/tests/response_fixtures/DossierRecommendationsTest.test_proposals.metadata diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.content b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.content similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.content rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.content diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.metadata b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.metadata similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.metadata rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_dossier_search_chambers.metadata diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.content b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.content similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.content rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.content diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.metadata b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.metadata similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.metadata rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_chambers.metadata diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.content b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.content similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.content rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.content diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.metadata b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.metadata similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.metadata rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_committee.metadata diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.content b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.content similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.content rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.content diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.metadata b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.metadata similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.metadata rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_countries.metadata diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.content b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.content similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.content rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.content diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.metadata b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.metadata similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.metadata rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_delegation.metadata diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.content b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.content similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.content rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.content diff --git a/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.metadata b/src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.metadata similarity index 100% rename from memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.metadata rename to src/memopol/tests/response_fixtures/NavigationPaneTest.test_rep_search_parties.metadata diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position.content b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position.content similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position.content rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position.content diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position.metadata b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position.metadata similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position.metadata rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position.metadata diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.content b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.content similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.content rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.content diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.metadata b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.metadata similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.metadata rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_datetime.metadata diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.content b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.content similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.content rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.content diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.metadata b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.metadata similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.metadata rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_link.metadata diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.content b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.content similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.content rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.content diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.metadata b/src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.metadata similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.metadata rename to src/memopol/tests/response_fixtures/PositionFormTest.test_create_position_without_representative.metadata diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_position_form.content b/src/memopol/tests/response_fixtures/PositionFormTest.test_position_form.content similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_position_form.content rename to src/memopol/tests/response_fixtures/PositionFormTest.test_position_form.content diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_position_form.metadata b/src/memopol/tests/response_fixtures/PositionFormTest.test_position_form.metadata similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_position_form.metadata rename to src/memopol/tests/response_fixtures/PositionFormTest.test_position_form.metadata diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_select_representative.content b/src/memopol/tests/response_fixtures/PositionFormTest.test_select_representative.content similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_select_representative.content rename to src/memopol/tests/response_fixtures/PositionFormTest.test_select_representative.content diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_select_representative.metadata b/src/memopol/tests/response_fixtures/PositionFormTest.test_select_representative.metadata similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_select_representative.metadata rename to src/memopol/tests/response_fixtures/PositionFormTest.test_select_representative.metadata diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_select_theme.content b/src/memopol/tests/response_fixtures/PositionFormTest.test_select_theme.content similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_select_theme.content rename to src/memopol/tests/response_fixtures/PositionFormTest.test_select_theme.content diff --git a/memopol/tests/response_fixtures/PositionFormTest.test_select_theme.metadata b/src/memopol/tests/response_fixtures/PositionFormTest.test_select_theme.metadata similarity index 100% rename from memopol/tests/response_fixtures/PositionFormTest.test_select_theme.metadata rename to src/memopol/tests/response_fixtures/PositionFormTest.test_select_theme.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.content b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.content rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.content diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.metadata b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.metadata rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_details.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_mandates_display.metadata b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_mandates_display.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_mandates_display.metadata rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_mandates_display.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.content b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.content rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.content diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.metadata b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.metadata rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_name.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.content b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.content rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.content diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.metadata b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.metadata rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_photo.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_positions_display.metadata b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_positions_display.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_positions_display.metadata rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_positions_display.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeDetailTest.test_votes_display.metadata b/src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_votes_display.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeDetailTest.test_votes_display.metadata rename to src/memopol/tests/response_fixtures/RepresentativeDetailTest.test_votes_display.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_cards.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_cards.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_cards.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_cards.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_cards.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_cards.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_cards.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_cards.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_csv.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_csv.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_csv.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_csv.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_csv.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_csv.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_csv.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_csv.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_navbar_order_options.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_asc.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_name_desc.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_asc.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_by_score_desc.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_order_csv.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_chamber.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_committee.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_country.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_delegation.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_max_score.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_min_score.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_name.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_by_party.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_csv.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.content b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.content rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.content diff --git a/memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.metadata b/src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.metadata rename to src/memopol/tests/response_fixtures/RepresentativeListTest.test_search_no_results.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.content b/src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.content rename to src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.content diff --git a/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.metadata b/src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.metadata rename to src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_current_mandates.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.content b/src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.content rename to src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.content diff --git a/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.metadata b/src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.metadata rename to src/memopol/tests/response_fixtures/RepresentativeMandatesTest.test_past_mandates.metadata diff --git a/memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.content b/src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.content rename to src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.content diff --git a/memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.metadata b/src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.metadata rename to src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_no_positions.metadata diff --git a/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.content b/src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.content rename to src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.content diff --git a/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.metadata b/src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.metadata rename to src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_buttons.metadata diff --git a/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.content b/src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.content rename to src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.content diff --git a/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.metadata b/src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.metadata rename to src/memopol/tests/response_fixtures/RepresentativePositionsTest.test_position_details.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.content b/src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.content rename to src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.content diff --git a/memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.metadata b/src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.metadata rename to src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_dossiers.metadata diff --git a/memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.content b/src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.content similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.content rename to src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.content diff --git a/memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.metadata b/src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.metadata similarity index 100% rename from memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.metadata rename to src/memopol/tests/response_fixtures/RepresentativeVotesTest.test_votes.metadata diff --git a/memopol/tests/response_fixtures/ThemeDetailTest.test_description.content b/src/memopol/tests/response_fixtures/ThemeDetailTest.test_description.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeDetailTest.test_description.content rename to src/memopol/tests/response_fixtures/ThemeDetailTest.test_description.content diff --git a/memopol/tests/response_fixtures/ThemeDetailTest.test_description.metadata b/src/memopol/tests/response_fixtures/ThemeDetailTest.test_description.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeDetailTest.test_description.metadata rename to src/memopol/tests/response_fixtures/ThemeDetailTest.test_description.metadata diff --git a/memopol/tests/response_fixtures/ThemeDetailTest.test_name.content b/src/memopol/tests/response_fixtures/ThemeDetailTest.test_name.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeDetailTest.test_name.content rename to src/memopol/tests/response_fixtures/ThemeDetailTest.test_name.content diff --git a/memopol/tests/response_fixtures/ThemeDetailTest.test_name.metadata b/src/memopol/tests/response_fixtures/ThemeDetailTest.test_name.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeDetailTest.test_name.metadata rename to src/memopol/tests/response_fixtures/ThemeDetailTest.test_name.metadata diff --git a/memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.content b/src/memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.content rename to src/memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.content diff --git a/memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.metadata b/src/memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.metadata rename to src/memopol/tests/response_fixtures/ThemeDossiersTest.test_dossiers.metadata diff --git a/memopol/tests/response_fixtures/ThemeLinksTest.test_links.content b/src/memopol/tests/response_fixtures/ThemeLinksTest.test_links.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeLinksTest.test_links.content rename to src/memopol/tests/response_fixtures/ThemeLinksTest.test_links.content diff --git a/memopol/tests/response_fixtures/ThemeLinksTest.test_links.metadata b/src/memopol/tests/response_fixtures/ThemeLinksTest.test_links.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeLinksTest.test_links.metadata rename to src/memopol/tests/response_fixtures/ThemeLinksTest.test_links.metadata diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_cards.content b/src/memopol/tests/response_fixtures/ThemeListTest.test_cards.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_cards.content rename to src/memopol/tests/response_fixtures/ThemeListTest.test_cards.content diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_cards.metadata b/src/memopol/tests/response_fixtures/ThemeListTest.test_cards.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_cards.metadata rename to src/memopol/tests/response_fixtures/ThemeListTest.test_cards.metadata diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.content b/src/memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.content rename to src/memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.content diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.metadata b/src/memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.metadata rename to src/memopol/tests/response_fixtures/ThemeListTest.test_navbar_order_options.metadata diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.content b/src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.content rename to src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.content diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.metadata b/src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.metadata rename to src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_asc.metadata diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.content b/src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.content rename to src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.content diff --git a/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.metadata b/src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.metadata rename to src/memopol/tests/response_fixtures/ThemeListTest.test_order_by_name_desc.metadata diff --git a/memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.content b/src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.content similarity index 100% rename from memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.content rename to src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.content diff --git a/memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.metadata b/src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.metadata rename to src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_buttons.metadata diff --git a/memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.content b/src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.content similarity index 100% rename from memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.content rename to src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.content diff --git a/memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.metadata b/src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.metadata rename to src/memopol/tests/response_fixtures/ThemePositionsTest.test_position_details.metadata diff --git a/memopol/tests/response_fixtures/ThemePositionsTest.test_positions.metadata b/src/memopol/tests/response_fixtures/ThemePositionsTest.test_positions.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemePositionsTest.test_positions.metadata rename to src/memopol/tests/response_fixtures/ThemePositionsTest.test_positions.metadata diff --git a/memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.content b/src/memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.content similarity index 100% rename from memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.content rename to src/memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.content diff --git a/memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.metadata b/src/memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.metadata similarity index 100% rename from memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.metadata rename to src/memopol/tests/response_fixtures/ThemeProposalsTest.test_proposals.metadata diff --git a/memopol/tests/test_dossier_detail.py b/src/memopol/tests/test_dossier_detail.py similarity index 100% rename from memopol/tests/test_dossier_detail.py rename to src/memopol/tests/test_dossier_detail.py diff --git a/memopol/tests/test_dossier_documents.py b/src/memopol/tests/test_dossier_documents.py similarity index 100% rename from memopol/tests/test_dossier_documents.py rename to src/memopol/tests/test_dossier_documents.py diff --git a/memopol/tests/test_dossier_list.py b/src/memopol/tests/test_dossier_list.py similarity index 100% rename from memopol/tests/test_dossier_list.py rename to src/memopol/tests/test_dossier_list.py diff --git a/memopol/tests/test_dossier_proposals.py b/src/memopol/tests/test_dossier_proposals.py similarity index 100% rename from memopol/tests/test_dossier_proposals.py rename to src/memopol/tests/test_dossier_proposals.py diff --git a/memopol/tests/test_dossier_recommendations.py b/src/memopol/tests/test_dossier_recommendations.py similarity index 100% rename from memopol/tests/test_dossier_recommendations.py rename to src/memopol/tests/test_dossier_recommendations.py diff --git a/memopol/tests/test_navigation_pane.py b/src/memopol/tests/test_navigation_pane.py similarity index 100% rename from memopol/tests/test_navigation_pane.py rename to src/memopol/tests/test_navigation_pane.py diff --git a/memopol/tests/test_position_form.py b/src/memopol/tests/test_position_form.py similarity index 100% rename from memopol/tests/test_position_form.py rename to src/memopol/tests/test_position_form.py diff --git a/memopol/tests/test_representative_detail.py b/src/memopol/tests/test_representative_detail.py similarity index 100% rename from memopol/tests/test_representative_detail.py rename to src/memopol/tests/test_representative_detail.py diff --git a/memopol/tests/test_representative_list.py b/src/memopol/tests/test_representative_list.py similarity index 100% rename from memopol/tests/test_representative_list.py rename to src/memopol/tests/test_representative_list.py diff --git a/memopol/tests/test_representative_mandates.py b/src/memopol/tests/test_representative_mandates.py similarity index 100% rename from memopol/tests/test_representative_mandates.py rename to src/memopol/tests/test_representative_mandates.py diff --git a/memopol/tests/test_representative_positions.py b/src/memopol/tests/test_representative_positions.py similarity index 100% rename from memopol/tests/test_representative_positions.py rename to src/memopol/tests/test_representative_positions.py diff --git a/memopol/tests/test_representative_votes.py b/src/memopol/tests/test_representative_votes.py similarity index 100% rename from memopol/tests/test_representative_votes.py rename to src/memopol/tests/test_representative_votes.py diff --git a/memopol/tests/test_theme_detail.py b/src/memopol/tests/test_theme_detail.py similarity index 100% rename from memopol/tests/test_theme_detail.py rename to src/memopol/tests/test_theme_detail.py diff --git a/memopol/tests/test_theme_dossiers.py b/src/memopol/tests/test_theme_dossiers.py similarity index 100% rename from memopol/tests/test_theme_dossiers.py rename to src/memopol/tests/test_theme_dossiers.py diff --git a/memopol/tests/test_theme_links.py b/src/memopol/tests/test_theme_links.py similarity index 100% rename from memopol/tests/test_theme_links.py rename to src/memopol/tests/test_theme_links.py diff --git a/memopol/tests/test_theme_list.py b/src/memopol/tests/test_theme_list.py similarity index 100% rename from memopol/tests/test_theme_list.py rename to src/memopol/tests/test_theme_list.py diff --git a/memopol/tests/test_theme_positions.py b/src/memopol/tests/test_theme_positions.py similarity index 100% rename from memopol/tests/test_theme_positions.py rename to src/memopol/tests/test_theme_positions.py diff --git a/memopol/tests/test_theme_proposals.py b/src/memopol/tests/test_theme_proposals.py similarity index 100% rename from memopol/tests/test_theme_proposals.py rename to src/memopol/tests/test_theme_proposals.py diff --git a/memopol/urls.py b/src/memopol/urls.py similarity index 100% rename from memopol/urls.py rename to src/memopol/urls.py diff --git a/memopol/views/__init__.py b/src/memopol/views/__init__.py similarity index 100% rename from memopol/views/__init__.py rename to src/memopol/views/__init__.py diff --git a/memopol/views/dossier_ac.py b/src/memopol/views/dossier_ac.py similarity index 100% rename from memopol/views/dossier_ac.py rename to src/memopol/views/dossier_ac.py diff --git a/memopol/views/dossier_detail_base.py b/src/memopol/views/dossier_detail_base.py similarity index 100% rename from memopol/views/dossier_detail_base.py rename to src/memopol/views/dossier_detail_base.py diff --git a/memopol/views/dossier_detail_documents.py b/src/memopol/views/dossier_detail_documents.py similarity index 100% rename from memopol/views/dossier_detail_documents.py rename to src/memopol/views/dossier_detail_documents.py diff --git a/memopol/views/dossier_detail_proposals.py b/src/memopol/views/dossier_detail_proposals.py similarity index 100% rename from memopol/views/dossier_detail_proposals.py rename to src/memopol/views/dossier_detail_proposals.py diff --git a/memopol/views/dossier_detail_recommendations.py b/src/memopol/views/dossier_detail_recommendations.py similarity index 100% rename from memopol/views/dossier_detail_recommendations.py rename to src/memopol/views/dossier_detail_recommendations.py diff --git a/memopol/views/dossier_list.py b/src/memopol/views/dossier_list.py similarity index 100% rename from memopol/views/dossier_list.py rename to src/memopol/views/dossier_list.py diff --git a/memopol/views/home.py b/src/memopol/views/home.py similarity index 100% rename from memopol/views/home.py rename to src/memopol/views/home.py diff --git a/memopol/views/redirects.py b/src/memopol/views/redirects.py similarity index 100% rename from memopol/views/redirects.py rename to src/memopol/views/redirects.py diff --git a/memopol/views/representative_detail_base.py b/src/memopol/views/representative_detail_base.py similarity index 100% rename from memopol/views/representative_detail_base.py rename to src/memopol/views/representative_detail_base.py diff --git a/memopol/views/representative_detail_mandates.py b/src/memopol/views/representative_detail_mandates.py similarity index 100% rename from memopol/views/representative_detail_mandates.py rename to src/memopol/views/representative_detail_mandates.py diff --git a/memopol/views/representative_detail_positions.py b/src/memopol/views/representative_detail_positions.py similarity index 100% rename from memopol/views/representative_detail_positions.py rename to src/memopol/views/representative_detail_positions.py diff --git a/memopol/views/representative_detail_votes.py b/src/memopol/views/representative_detail_votes.py similarity index 100% rename from memopol/views/representative_detail_votes.py rename to src/memopol/views/representative_detail_votes.py diff --git a/memopol/views/representative_list.py b/src/memopol/views/representative_list.py similarity index 100% rename from memopol/views/representative_list.py rename to src/memopol/views/representative_list.py diff --git a/memopol/views/representative_mixin.py b/src/memopol/views/representative_mixin.py similarity index 100% rename from memopol/views/representative_mixin.py rename to src/memopol/views/representative_mixin.py diff --git a/memopol/views/theme_detail_base.py b/src/memopol/views/theme_detail_base.py similarity index 100% rename from memopol/views/theme_detail_base.py rename to src/memopol/views/theme_detail_base.py diff --git a/memopol/views/theme_detail_dossiers.py b/src/memopol/views/theme_detail_dossiers.py similarity index 100% rename from memopol/views/theme_detail_dossiers.py rename to src/memopol/views/theme_detail_dossiers.py diff --git a/memopol/views/theme_detail_links.py b/src/memopol/views/theme_detail_links.py similarity index 100% rename from memopol/views/theme_detail_links.py rename to src/memopol/views/theme_detail_links.py diff --git a/memopol/views/theme_detail_positions.py b/src/memopol/views/theme_detail_positions.py similarity index 100% rename from memopol/views/theme_detail_positions.py rename to src/memopol/views/theme_detail_positions.py diff --git a/memopol/views/theme_detail_proposals.py b/src/memopol/views/theme_detail_proposals.py similarity index 100% rename from memopol/views/theme_detail_proposals.py rename to src/memopol/views/theme_detail_proposals.py diff --git a/memopol/views/theme_list.py b/src/memopol/views/theme_list.py similarity index 100% rename from memopol/views/theme_list.py rename to src/memopol/views/theme_list.py diff --git a/memopol/wsgi.py b/src/memopol/wsgi.py similarity index 100% rename from memopol/wsgi.py rename to src/memopol/wsgi.py diff --git a/memopol_scores/__init__.py b/src/memopol_scores/__init__.py similarity index 100% rename from memopol_scores/__init__.py rename to src/memopol_scores/__init__.py diff --git a/memopol_scores/api.py b/src/memopol_scores/api.py similarity index 100% rename from memopol_scores/api.py rename to src/memopol_scores/api.py diff --git a/memopol_scores/fixtures/compute_score.json b/src/memopol_scores/fixtures/compute_score.json similarity index 100% rename from memopol_scores/fixtures/compute_score.json rename to src/memopol_scores/fixtures/compute_score.json diff --git a/memopol_scores/management/__init__.py b/src/memopol_scores/management/__init__.py similarity index 100% rename from memopol_scores/management/__init__.py rename to src/memopol_scores/management/__init__.py diff --git a/memopol_scores/management/commands/__init__.py b/src/memopol_scores/management/commands/__init__.py similarity index 100% rename from memopol_scores/management/commands/__init__.py rename to src/memopol_scores/management/commands/__init__.py diff --git a/memopol_scores/management/commands/refresh_scores.py b/src/memopol_scores/management/commands/refresh_scores.py similarity index 100% rename from memopol_scores/management/commands/refresh_scores.py rename to src/memopol_scores/management/commands/refresh_scores.py diff --git a/memopol_scores/migrations/0001_initial.py b/src/memopol_scores/migrations/0001_initial.py similarity index 100% rename from memopol_scores/migrations/0001_initial.py rename to src/memopol_scores/migrations/0001_initial.py diff --git a/memopol_scores/migrations/0002_create_views.py b/src/memopol_scores/migrations/0002_create_views.py similarity index 100% rename from memopol_scores/migrations/0002_create_views.py rename to src/memopol_scores/migrations/0002_create_views.py diff --git a/memopol_scores/migrations/0003_themescore.py b/src/memopol_scores/migrations/0003_themescore.py similarity index 100% rename from memopol_scores/migrations/0003_themescore.py rename to src/memopol_scores/migrations/0003_themescore.py diff --git a/memopol_scores/migrations/0004_refine_themescore.py b/src/memopol_scores/migrations/0004_refine_themescore.py similarity index 100% rename from memopol_scores/migrations/0004_refine_themescore.py rename to src/memopol_scores/migrations/0004_refine_themescore.py diff --git a/memopol_scores/migrations/__init__.py b/src/memopol_scores/migrations/__init__.py similarity index 100% rename from memopol_scores/migrations/__init__.py rename to src/memopol_scores/migrations/__init__.py diff --git a/memopol_scores/models.py b/src/memopol_scores/models.py similarity index 100% rename from memopol_scores/models.py rename to src/memopol_scores/models.py diff --git a/memopol_scores/serializers.py b/src/memopol_scores/serializers.py similarity index 100% rename from memopol_scores/serializers.py rename to src/memopol_scores/serializers.py diff --git a/memopol_scores/tests/__init__.py b/src/memopol_scores/tests/__init__.py similarity index 100% rename from memopol_scores/tests/__init__.py rename to src/memopol_scores/tests/__init__.py diff --git a/memopol_scores/tests/test_compute.py b/src/memopol_scores/tests/test_compute.py similarity index 100% rename from memopol_scores/tests/test_compute.py rename to src/memopol_scores/tests/test_compute.py diff --git a/memopol_scores/tests/test_decay_function.py b/src/memopol_scores/tests/test_decay_function.py similarity index 100% rename from memopol_scores/tests/test_decay_function.py rename to src/memopol_scores/tests/test_decay_function.py diff --git a/memopol_settings/__init__.py b/src/memopol_settings/__init__.py similarity index 100% rename from memopol_settings/__init__.py rename to src/memopol_settings/__init__.py diff --git a/memopol_settings/admin.py b/src/memopol_settings/admin.py similarity index 100% rename from memopol_settings/admin.py rename to src/memopol_settings/admin.py diff --git a/memopol_settings/fixtures/score_settings.json b/src/memopol_settings/fixtures/score_settings.json similarity index 100% rename from memopol_settings/fixtures/score_settings.json rename to src/memopol_settings/fixtures/score_settings.json diff --git a/memopol_settings/migrations/0001_initial.py b/src/memopol_settings/migrations/0001_initial.py similarity index 100% rename from memopol_settings/migrations/0001_initial.py rename to src/memopol_settings/migrations/0001_initial.py diff --git a/memopol_settings/migrations/0002_score_settings.py b/src/memopol_settings/migrations/0002_score_settings.py similarity index 100% rename from memopol_settings/migrations/0002_score_settings.py rename to src/memopol_settings/migrations/0002_score_settings.py diff --git a/memopol_settings/migrations/__init__.py b/src/memopol_settings/migrations/__init__.py similarity index 100% rename from memopol_settings/migrations/__init__.py rename to src/memopol_settings/migrations/__init__.py diff --git a/memopol_settings/models.py b/src/memopol_settings/models.py similarity index 100% rename from memopol_settings/models.py rename to src/memopol_settings/models.py diff --git a/memopol_themes/__init__.py b/src/memopol_themes/__init__.py similarity index 100% rename from memopol_themes/__init__.py rename to src/memopol_themes/__init__.py diff --git a/memopol_themes/admin.py b/src/memopol_themes/admin.py similarity index 100% rename from memopol_themes/admin.py rename to src/memopol_themes/admin.py diff --git a/memopol_themes/migrations/0001_initial.py b/src/memopol_themes/migrations/0001_initial.py similarity index 100% rename from memopol_themes/migrations/0001_initial.py rename to src/memopol_themes/migrations/0001_initial.py diff --git a/memopol_themes/migrations/0002_themescore.py b/src/memopol_themes/migrations/0002_themescore.py similarity index 100% rename from memopol_themes/migrations/0002_themescore.py rename to src/memopol_themes/migrations/0002_themescore.py diff --git a/memopol_themes/migrations/0003_remove_themescore.py b/src/memopol_themes/migrations/0003_remove_themescore.py similarity index 100% rename from memopol_themes/migrations/0003_remove_themescore.py rename to src/memopol_themes/migrations/0003_remove_themescore.py diff --git a/memopol_themes/migrations/__init__.py b/src/memopol_themes/migrations/__init__.py similarity index 100% rename from memopol_themes/migrations/__init__.py rename to src/memopol_themes/migrations/__init__.py diff --git a/memopol_themes/models.py b/src/memopol_themes/models.py similarity index 100% rename from memopol_themes/models.py rename to src/memopol_themes/models.py diff --git a/representatives_positions/__init__.py b/src/representatives_positions/__init__.py similarity index 100% rename from representatives_positions/__init__.py rename to src/representatives_positions/__init__.py diff --git a/representatives_positions/admin.py b/src/representatives_positions/admin.py similarity index 100% rename from representatives_positions/admin.py rename to src/representatives_positions/admin.py diff --git a/representatives_positions/contrib/__init__.py b/src/representatives_positions/contrib/__init__.py similarity index 100% rename from representatives_positions/contrib/__init__.py rename to src/representatives_positions/contrib/__init__.py diff --git a/representatives_positions/contrib/import_data.py b/src/representatives_positions/contrib/import_data.py similarity index 100% rename from representatives_positions/contrib/import_data.py rename to src/representatives_positions/contrib/import_data.py diff --git a/representatives_positions/contrib/import_positions.py b/src/representatives_positions/contrib/import_positions.py similarity index 100% rename from representatives_positions/contrib/import_positions.py rename to src/representatives_positions/contrib/import_positions.py diff --git a/representatives_positions/forms.py b/src/representatives_positions/forms.py similarity index 100% rename from representatives_positions/forms.py rename to src/representatives_positions/forms.py diff --git a/representatives_positions/management/__init__.py b/src/representatives_positions/management/__init__.py similarity index 100% rename from representatives_positions/management/__init__.py rename to src/representatives_positions/management/__init__.py diff --git a/representatives_positions/management/commands/__init__.py b/src/representatives_positions/management/commands/__init__.py similarity index 100% rename from representatives_positions/management/commands/__init__.py rename to src/representatives_positions/management/commands/__init__.py diff --git a/representatives_positions/management/commands/remove_representatives_without_position.py b/src/representatives_positions/management/commands/remove_representatives_without_position.py similarity index 100% rename from representatives_positions/management/commands/remove_representatives_without_position.py rename to src/representatives_positions/management/commands/remove_representatives_without_position.py diff --git a/representatives_positions/management/commands/update_score.py b/src/representatives_positions/management/commands/update_score.py similarity index 100% rename from representatives_positions/management/commands/update_score.py rename to src/representatives_positions/management/commands/update_score.py diff --git a/representatives_positions/migrations/0001_initial.py b/src/representatives_positions/migrations/0001_initial.py similarity index 100% rename from representatives_positions/migrations/0001_initial.py rename to src/representatives_positions/migrations/0001_initial.py diff --git a/representatives_positions/migrations/0002_increase_link_length.py b/src/representatives_positions/migrations/0002_increase_link_length.py similarity index 100% rename from representatives_positions/migrations/0002_increase_link_length.py rename to src/representatives_positions/migrations/0002_increase_link_length.py diff --git a/representatives_positions/migrations/0003_remove_position_tags.py b/src/representatives_positions/migrations/0003_remove_position_tags.py similarity index 100% rename from representatives_positions/migrations/0003_remove_position_tags.py rename to src/representatives_positions/migrations/0003_remove_position_tags.py diff --git a/representatives_positions/migrations/0004_add_kind_score_title.py b/src/representatives_positions/migrations/0004_add_kind_score_title.py similarity index 100% rename from representatives_positions/migrations/0004_add_kind_score_title.py rename to src/representatives_positions/migrations/0004_add_kind_score_title.py diff --git a/representatives_positions/migrations/0005_set_title.py b/src/representatives_positions/migrations/0005_set_title.py similarity index 100% rename from representatives_positions/migrations/0005_set_title.py rename to src/representatives_positions/migrations/0005_set_title.py diff --git a/representatives_positions/migrations/0006_positionscore.py b/src/representatives_positions/migrations/0006_positionscore.py similarity index 100% rename from representatives_positions/migrations/0006_positionscore.py rename to src/representatives_positions/migrations/0006_positionscore.py diff --git a/representatives_positions/migrations/0007_remove_positionscore.py b/src/representatives_positions/migrations/0007_remove_positionscore.py similarity index 100% rename from representatives_positions/migrations/0007_remove_positionscore.py rename to src/representatives_positions/migrations/0007_remove_positionscore.py diff --git a/representatives_positions/migrations/__init__.py b/src/representatives_positions/migrations/__init__.py similarity index 100% rename from representatives_positions/migrations/__init__.py rename to src/representatives_positions/migrations/__init__.py diff --git a/representatives_positions/models.py b/src/representatives_positions/models.py similarity index 100% rename from representatives_positions/models.py rename to src/representatives_positions/models.py diff --git a/representatives_positions/templatetags/__init__.py b/src/representatives_positions/templatetags/__init__.py similarity index 100% rename from representatives_positions/templatetags/__init__.py rename to src/representatives_positions/templatetags/__init__.py diff --git a/representatives_positions/templatetags/representatives_positions_tags.py b/src/representatives_positions/templatetags/representatives_positions_tags.py similarity index 100% rename from representatives_positions/templatetags/representatives_positions_tags.py rename to src/representatives_positions/templatetags/representatives_positions_tags.py diff --git a/representatives_positions/views.py b/src/representatives_positions/views.py similarity index 100% rename from representatives_positions/views.py rename to src/representatives_positions/views.py diff --git a/representatives_recommendations/__init__.py b/src/representatives_recommendations/__init__.py similarity index 100% rename from representatives_recommendations/__init__.py rename to src/representatives_recommendations/__init__.py diff --git a/representatives_recommendations/admin.py b/src/representatives_recommendations/admin.py similarity index 100% rename from representatives_recommendations/admin.py rename to src/representatives_recommendations/admin.py diff --git a/representatives_recommendations/api.py b/src/representatives_recommendations/api.py similarity index 100% rename from representatives_recommendations/api.py rename to src/representatives_recommendations/api.py diff --git a/representatives_recommendations/contrib/__init__.py b/src/representatives_recommendations/contrib/__init__.py similarity index 100% rename from representatives_recommendations/contrib/__init__.py rename to src/representatives_recommendations/contrib/__init__.py diff --git a/representatives_recommendations/contrib/import_data.py b/src/representatives_recommendations/contrib/import_data.py similarity index 100% rename from representatives_recommendations/contrib/import_data.py rename to src/representatives_recommendations/contrib/import_data.py diff --git a/representatives_recommendations/contrib/import_recommendations.py b/src/representatives_recommendations/contrib/import_recommendations.py similarity index 100% rename from representatives_recommendations/contrib/import_recommendations.py rename to src/representatives_recommendations/contrib/import_recommendations.py diff --git a/representatives_recommendations/forms.py b/src/representatives_recommendations/forms.py similarity index 100% rename from representatives_recommendations/forms.py rename to src/representatives_recommendations/forms.py diff --git a/representatives_recommendations/management/__init__.py b/src/representatives_recommendations/management/__init__.py similarity index 100% rename from representatives_recommendations/management/__init__.py rename to src/representatives_recommendations/management/__init__.py diff --git a/representatives_recommendations/management/commands/__init__.py b/src/representatives_recommendations/management/commands/__init__.py similarity index 100% rename from representatives_recommendations/management/commands/__init__.py rename to src/representatives_recommendations/management/commands/__init__.py diff --git a/representatives_recommendations/management/commands/remove_proposals_without_recommendation.py b/src/representatives_recommendations/management/commands/remove_proposals_without_recommendation.py similarity index 100% rename from representatives_recommendations/management/commands/remove_proposals_without_recommendation.py rename to src/representatives_recommendations/management/commands/remove_proposals_without_recommendation.py diff --git a/representatives_recommendations/migrations/0001_initial.py b/src/representatives_recommendations/migrations/0001_initial.py similarity index 100% rename from representatives_recommendations/migrations/0001_initial.py rename to src/representatives_recommendations/migrations/0001_initial.py diff --git a/representatives_recommendations/migrations/0002_dossierscore.py b/src/representatives_recommendations/migrations/0002_dossierscore.py similarity index 100% rename from representatives_recommendations/migrations/0002_dossierscore.py rename to src/representatives_recommendations/migrations/0002_dossierscore.py diff --git a/representatives_recommendations/migrations/0003_votescore.py b/src/representatives_recommendations/migrations/0003_votescore.py similarity index 100% rename from representatives_recommendations/migrations/0003_votescore.py rename to src/representatives_recommendations/migrations/0003_votescore.py diff --git a/representatives_recommendations/migrations/0004_dossierscore_rewrite.py b/src/representatives_recommendations/migrations/0004_dossierscore_rewrite.py similarity index 100% rename from representatives_recommendations/migrations/0004_dossierscore_rewrite.py rename to src/representatives_recommendations/migrations/0004_dossierscore_rewrite.py diff --git a/representatives_recommendations/migrations/0005_representativescore.py b/src/representatives_recommendations/migrations/0005_representativescore.py similarity index 100% rename from representatives_recommendations/migrations/0005_representativescore.py rename to src/representatives_recommendations/migrations/0005_representativescore.py diff --git a/representatives_recommendations/migrations/0006_score_formula.py b/src/representatives_recommendations/migrations/0006_score_formula.py similarity index 100% rename from representatives_recommendations/migrations/0006_score_formula.py rename to src/representatives_recommendations/migrations/0006_score_formula.py diff --git a/representatives_recommendations/migrations/0007_fix_underflow.py b/src/representatives_recommendations/migrations/0007_fix_underflow.py similarity index 100% rename from representatives_recommendations/migrations/0007_fix_underflow.py rename to src/representatives_recommendations/migrations/0007_fix_underflow.py diff --git a/representatives_recommendations/migrations/0008_representativescore_use_positions.py b/src/representatives_recommendations/migrations/0008_representativescore_use_positions.py similarity index 100% rename from representatives_recommendations/migrations/0008_representativescore_use_positions.py rename to src/representatives_recommendations/migrations/0008_representativescore_use_positions.py diff --git a/representatives_recommendations/migrations/0009_representativescore_use_positionscore.py b/src/representatives_recommendations/migrations/0009_representativescore_use_positionscore.py similarity index 100% rename from representatives_recommendations/migrations/0009_representativescore_use_positionscore.py rename to src/representatives_recommendations/migrations/0009_representativescore_use_positionscore.py diff --git a/representatives_recommendations/migrations/0010_remove_views.py b/src/representatives_recommendations/migrations/0010_remove_views.py similarity index 100% rename from representatives_recommendations/migrations/0010_remove_views.py rename to src/representatives_recommendations/migrations/0010_remove_views.py diff --git a/representatives_recommendations/migrations/__init__.py b/src/representatives_recommendations/migrations/__init__.py similarity index 100% rename from representatives_recommendations/migrations/__init__.py rename to src/representatives_recommendations/migrations/__init__.py diff --git a/representatives_recommendations/models.py b/src/representatives_recommendations/models.py similarity index 100% rename from representatives_recommendations/models.py rename to src/representatives_recommendations/models.py diff --git a/representatives_recommendations/serializers.py b/src/representatives_recommendations/serializers.py similarity index 100% rename from representatives_recommendations/serializers.py rename to src/representatives_recommendations/serializers.py diff --git a/representatives_recommendations/templates/__init__.py b/src/representatives_recommendations/templates/__init__.py similarity index 100% rename from representatives_recommendations/templates/__init__.py rename to src/representatives_recommendations/templates/__init__.py diff --git a/representatives_recommendations/templates/positions/__init__.py b/src/representatives_recommendations/templates/positions/__init__.py similarity index 100% rename from representatives_recommendations/templates/positions/__init__.py rename to src/representatives_recommendations/templates/positions/__init__.py diff --git a/representatives_recommendations/templates/positions/admin/__init__.py b/src/representatives_recommendations/templates/positions/admin/__init__.py similarity index 100% rename from representatives_recommendations/templates/positions/admin/__init__.py rename to src/representatives_recommendations/templates/positions/admin/__init__.py diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..8c677bf --- /dev/null +++ b/tox.ini @@ -0,0 +1,35 @@ +[tox] +envlist = py27,qa,docs + +[testenv] +setenv = + CI=True + DJANGO_DEBUG=True + DJANGO_SETTINGS_MODULE=memopol.settings + +usedevelop = true +commands = + pip install -Ue {toxinidir}[testing] + {toxinidir}/src/memopol/bin/install_client_deps.sh + py.test src/ + +whitelist_externals = + psql + +[testenv:qa] +skipsdist=True +changedir = {toxinidir} +basepython = python2.7 +commands = + pip install -Ue {toxinidir}[testing] + flake8 src --exclude '*/migrations,docs,static' --ignore E128 + +[testenv:docs] +skipsdist=True +changedir = {toxinidir}/docs +deps = + sphinx +commands = + make html +whitelist_externals = + make -- GitLab