Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge Variables and DatedVariables #522 #770

Merged
merged 8 commits into from
Jun 13, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

### 18.4.2 - [#770](https://github.com/openfisca/openfisca-france/pull/770)

* Amélioration technique
* Détails :
- Mets à jour OpenFisca-Core
- Modifie la manière de définir les dates de début des formules, et les dates de fin des variables.
- Modifie les conventions de nommages des formules des variables.
- Pour plus d'information, voir le [Changelog d'OpenFisca-Core](https://github.com/openfisca/openfisca-core/blob/master/CHANGELOG.md#1400---522) correspondant.

### 18.4.1 - [#776](https://github.com/openfisca/openfisca-france/pull/776)

* Correction d'un crash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class caseE(Variable):
column = BoolCol
entity = FoyerFiscal
label = u"Situation pouvant donner droit à une demi-part supplémentaire : vous vivez seul au 1er janvier de l'année de perception des revenus et vous avez élevé un enfant pendant moins de 5 ans durant la période où vous viviez seul"
stop_date = date(2012, 12, 31)
end = '2012-12-31'
definition_period = YEAR


Expand Down Expand Up @@ -126,7 +126,7 @@ class caseK(Variable):
column = BoolCol
entity = FoyerFiscal
label = u"Situation pouvant donner droit à une demi-part supplémentaire: vous avez eu un enfant décédé après l’âge de 16 ans ou par suite de faits de guerre"
stop_date = date(2011, 12, 31)
end = '2011-12-31'
definition_period = YEAR


Expand Down Expand Up @@ -201,7 +201,7 @@ class nb_parents(Variable):
label = u"Nombre d'adultes (parents) dans la famille"
definition_period = MONTH

def function(famille, period):
def formula(famille, period):
# Note : Cette variable est "instantanée" : quelque soit la période demandée, elle retourne la valeur au premier
# jour, sans changer la période.

Expand All @@ -214,7 +214,7 @@ class maries(Variable):
label = u"maries"
definition_period = MONTH

def function(famille, period):
def formula(famille, period):
# Note : Cette variable est "instantanée" : quelque soit la période demandée, elle retourne la valeur au premier
# jour, sans changer la période.
statut_marital = famille.members('statut_marital', period)
Expand All @@ -229,7 +229,7 @@ class en_couple(Variable):
label = u"Indicatrice de vie en couple"
definition_period = MONTH

def function(self, simulation, period):
def formula(self, simulation, period):
# Note : Cette variable est "instantanée" : quelque soit la période demandée, elle retourne la valeur au premier
# jour, sans changer la période.
nb_parents = simulation.calculate('nb_parents', period)
Expand All @@ -243,7 +243,7 @@ class est_enfant_dans_famille(Variable):
label = u"Indique que l'individu est un enfant dans une famille"
definition_period = ETERNITY

def function(individu, period):
def formula(individu, period):
return individu.has_role(Famille.ENFANT)


Expand All @@ -253,7 +253,7 @@ class etudiant(Variable):
label = u"Indicatrice individuelle étudiant"
definition_period = MONTH

def function(self, simulation, period):
def formula(self, simulation, period):
# Note : Cette variable est "instantanée" : quelque soit la période demandée, elle retourne la valeur au premier
# jour, sans changer la période.
activite = simulation.calculate('activite', period)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ class residence_dom(Variable):
entity = Menage
definition_period = MONTH

def function(menage, period):
def formula(menage, period):
residence_guadeloupe = menage('residence_guadeloupe', period)
residence_martinique = menage('residence_martinique', period)
residence_guyane = menage('residence_guyane', period)
Expand All @@ -96,7 +96,7 @@ class residence_guadeloupe(Variable):
entity = Menage
definition_period = MONTH

def function(self, simulation, period):
def formula(self, simulation, period):
depcom = simulation.calculate('depcom', period)
return startswith(depcom, '971')

Expand All @@ -106,7 +106,7 @@ class residence_martinique(Variable):
entity = Menage
definition_period = MONTH

def function(self, simulation, period):
def formula(self, simulation, period):
depcom = simulation.calculate('depcom', period)
return startswith(depcom, '972')

Expand All @@ -116,7 +116,7 @@ class residence_guyane(Variable):
entity = Menage
definition_period = MONTH

def function(self, simulation, period):
def formula(self, simulation, period):
depcom = simulation.calculate('depcom', period)
return startswith(depcom, '973')

Expand All @@ -126,7 +126,7 @@ class residence_reunion(Variable):
entity = Menage
definition_period = MONTH

def function(self, simulation, period):
def formula(self, simulation, period):
depcom = simulation.calculate('depcom', period)
return startswith(depcom, '974')

Expand All @@ -136,6 +136,6 @@ class residence_mayotte(Variable):
entity = Menage
definition_period = MONTH

def function(self, simulation, period):
def formula(self, simulation, period):
depcom = simulation.calculate('depcom', period)
return startswith(depcom, '976')
56 changes: 28 additions & 28 deletions openfisca_france/model/mesures.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class uc(Variable):
label = u"Unités de consommation"
definition_period = YEAR

def function(self, simulation, period):
def formula(self, simulation, period):
'''
Calcule le nombre d'unités de consommation du ménage avec l'échelle de l'INSEE
'''
Expand All @@ -38,7 +38,7 @@ class type_menage(Variable):
label = u"Type de ménage"
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
'''
Type de menage
TODO: prendre les enfants du ménage et non ceux de la famille
Expand All @@ -65,7 +65,7 @@ class revenu_disponible(Variable):
url = "http://fr.wikipedia.org/wiki/Revenu_disponible"
definition_period = YEAR

def function(self, simulation, period):
def formula(self, simulation, period):
revenus_du_travail_holder = simulation.compute('revenus_du_travail', period)
pen_holder = simulation.compute('pensions', period)
rev_cap_holder = simulation.compute('revenus_du_capital', period)
Expand All @@ -90,7 +90,7 @@ class niveau_de_vie(Variable):
label = u"Niveau de vie du ménage"
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
revenu_disponible = menage('revenu_disponible', period)
uc = menage('uc', period)
return revenu_disponible / uc
Expand All @@ -102,7 +102,7 @@ class revenu_net_individu(Variable):
label = u"Revenu net de l'individu"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
pensions = individu('pensions', period)
revenus_du_capital = individu('revenus_du_capital', period)
revenus_du_travail = individu('revenus_du_travail', period)
Expand All @@ -117,7 +117,7 @@ class revenu_net(Variable):
url = u"http://impotsurlerevenu.org/definitions/115-revenu-net-imposable.php",
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
revenu_net_individus = menage.members('revenu_net_individu', period)
return menage.sum(revenu_net_individus)

Expand All @@ -128,7 +128,7 @@ class niveau_de_vie_net(Variable):
label = u"Niveau de vie net du ménage"
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
revenu_net = menage('revenu_net', period)
uc = menage('uc', period)

Expand All @@ -141,7 +141,7 @@ class revenu_initial_individu(Variable):
label = u"Revenu initial de l'individu"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
cotisations_employeur_contributives = individu('cotisations_employeur_contributives', period)
cotisations_salariales_contributives = individu('cotisations_salariales_contributives', period)
pensions = individu('pensions', period)
Expand All @@ -158,7 +158,7 @@ class revenu_initial(Variable):
column = FloatCol
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
revenu_initial_individus = menage.members('revenu_initial_individu', period)
return menage.sum(revenu_initial_individus)

Expand All @@ -169,7 +169,7 @@ class niveau_de_vie_initial(Variable):
label = u"Niveau de vie initial du ménage"
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
revenu_initial = menage('revenu_initial', period)
uc = menage('uc', period)

Expand All @@ -193,7 +193,7 @@ class revenus_du_travail(Variable):
url = "http://fr.wikipedia.org/wiki/Revenu_du_travail"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
revenu_assimile_salaire = individu('revenu_assimile_salaire', period)
rag = individu('rag', period)
ric = individu('ric', period)
Expand All @@ -209,7 +209,7 @@ class pensions(Variable):
url = "http://fr.wikipedia.org/wiki/Rente"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
chomage_net = individu('chomage_net', period, options = [ADD])
retraite_nette = individu('retraite_nette', period, options = [ADD])
pensions_alimentaires_percues = individu('pensions_alimentaires_percues', period, options = [ADD])
Expand All @@ -231,7 +231,7 @@ class cotsoc_bar(Variable):
label = u"Cotisations sociales sur les revenus du capital imposés au barème"
definition_period = YEAR

def function(foyer_fiscal, period):
def formula(foyer_fiscal, period):
csg_cap_bar = foyer_fiscal('csg_cap_bar', period)
prelsoc_cap_bar = foyer_fiscal('prelsoc_cap_bar', period)
crds_cap_bar = foyer_fiscal('crds_cap_bar', period)
Expand All @@ -245,7 +245,7 @@ class cotsoc_lib(Variable):
label = u"Cotisations sociales sur les revenus du capital soumis au prélèvement libératoire"
definition_period = YEAR

def function(foyer_fiscal, period):
def formula(foyer_fiscal, period):
csg_cap_lib = foyer_fiscal('csg_cap_lib', period)
prelsoc_cap_lib = foyer_fiscal('prelsoc_cap_lib', period)
crds_cap_lib = foyer_fiscal('crds_cap_lib', period)
Expand All @@ -260,7 +260,7 @@ class revenus_du_capital(Variable):
url = "http://fr.wikipedia.org/wiki/Revenu#Revenu_du_Capital"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):

# Revenus du foyer fiscal, que l'on projette uniquement sur le 1er déclarant
foyer_fiscal = individu.foyer_fiscal
Expand All @@ -286,7 +286,7 @@ class prestations_sociales(Variable):
url = "http://fr.wikipedia.org/wiki/Prestation_sociale"
definition_period = YEAR

def function(famille, period):
def formula(famille, period):
'''
Prestations sociales
'''
Expand All @@ -304,7 +304,7 @@ class prestations_familiales(Variable):
url = "http://www.social-sante.gouv.fr/informations-pratiques,89/fiches-pratiques,91/prestations-familiales,1885/les-prestations-familiales,12626.html"
definition_period = YEAR

def function(famille, period):
def formula(famille, period):
af = famille('af', period, options = [ADD])
cf = famille('cf', period, options = [ADD])
ars = famille('ars', period)
Expand All @@ -323,7 +323,7 @@ class minimum_vieillesse(Variable):
label = u"Minimum vieillesse (ASI + ASPA)"
definition_period = YEAR

def function(famille, period):
def formula(famille, period):
return famille('asi', period, options = [ADD]) + famille('aspa', period, options = [ADD])


Expand All @@ -334,7 +334,7 @@ class minima_sociaux(Variable):
url = "http://fr.wikipedia.org/wiki/Minima_sociaux"
definition_period = YEAR

def function(self, simulation, period):
def formula(self, simulation, period):
aah_holder = simulation.compute_add('aah', period)
caah_holder = simulation.compute_add('caah', period)
aefa = simulation.calculate('aefa', period)
Expand All @@ -358,7 +358,7 @@ class aides_logement(Variable):
url = "http://vosdroits.service-public.fr/particuliers/N20360.xhtml"
definition_period = YEAR

def function(famille, period):
def formula(famille, period):
'''
Prestations logement
'''
Expand All @@ -377,7 +377,7 @@ class impots_directs(Variable):
url = "http://fr.wikipedia.org/wiki/Imp%C3%B4t_direct"
definition_period = YEAR

def function(self, simulation, period):
def formula(self, simulation, period):
irpp_holder = simulation.compute('irpp', period)
taxe_habitation = simulation.calculate('taxe_habitation', period)

Expand All @@ -393,7 +393,7 @@ class crds(Variable):
label = u"Contributions au remboursement de la dette sociale"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
# CRDS sur revenus individuels
crds_salaire = individu('crds_salaire', period, options = [ADD])
crds_retraite = individu('crds_retraite', period, options = [ADD])
Expand Down Expand Up @@ -422,7 +422,7 @@ class csg(Variable):
label = u"Contribution sociale généralisée"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
csg_imposable_salaire = individu('csg_imposable_salaire', period, options = [ADD])
csg_deductible_salaire = individu('csg_deductible_salaire', period, options = [ADD])
csg_imposable_chomage = individu('csg_imposable_chomage', period, options = [ADD])
Expand All @@ -448,7 +448,7 @@ class cotisations_non_contributives(Variable):
label = u"Cotisations sociales non contributives"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
cotisations_employeur_non_contributives = individu('cotisations_employeur_non_contributives',
period)
cotisations_salariales_non_contributives = individu('cotisations_salariales_non_contributives',
Expand All @@ -464,7 +464,7 @@ class prelsoc_cap(Variable):
url = "http://www.impots.gouv.fr/portal/dgi/public/particuliers.impot?pageId=part_ctrb_soc&paf_dm=popup&paf_gm=content&typePage=cpr02&sfid=501&espId=1&impot=CS"
definition_period = YEAR

def function(individu, period):
def formula(individu, period):
# Prélevements effectués sur les revenus du foyer fiscal
prelsoc_fon = individu.foyer_fiscal('prelsoc_fon', period)
prelsoc_cap_lib = individu.foyer_fiscal('prelsoc_cap_lib', period)
Expand All @@ -482,7 +482,7 @@ class check_csk(Variable):
label = u"check_csk"
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
foyer_fiscal = menage.personne_de_reference.foyer_fiscal

# Prélevements effectués sur les revenus du foyer fiscal
Expand All @@ -499,7 +499,7 @@ class check_csg(Variable):
label = u"check_csg"
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
foyer_fiscal = menage.personne_de_reference.foyer_fiscal
# CSG prélevée sur les revenus du foyer fiscal
csg_cap_bar = foyer_fiscal('csg_cap_bar', periop)
Expand All @@ -515,7 +515,7 @@ class check_crds(Variable):
label = u"check_crds"
definition_period = YEAR

def function(menage, period):
def formula(menage, period):
foyer_fiscal = menage.personne_de_reference.foyer_fiscal
# CRDS prélevée sur les revenus du foyer fiscal
crds_pv_mo = foyer_fiscal('crds_pv_mo', period)
Expand Down
Loading