From 222f10282dca16f8447d5d6ec6b0a17bfac26cba Mon Sep 17 00:00:00 2001 From: Yann Date: Thu, 7 Jan 2016 13:52:13 +0100 Subject: [PATCH] Bugfixes due to properties name changes in LeRelation --- EditorialModel/fieldtypes/leo.py | 4 ++-- EditorialModel/fieldtypes/naturerelation.py | 4 ++-- leapi/lecrud.py | 2 +- leapi/lefactory.py | 4 ++-- leapi/lerelation.py | 12 ++++++------ 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/EditorialModel/fieldtypes/leo.py b/EditorialModel/fieldtypes/leo.py index bddb9ed..c542d5a 100644 --- a/EditorialModel/fieldtypes/leo.py +++ b/EditorialModel/fieldtypes/leo.py @@ -56,8 +56,8 @@ class EmFieldType(GenericFieldType): def check_sup_consistency(self, lec, fname, datas): if lec.implements_lerel2type(): # Checking consistency for a rel2type relation - lesup = datas[lec._lesup_name] - lesub = datas[lec._lesub_name] + lesup = datas[lec._superior_field_name] + lesub = datas[lec._subordinate_field_name] if lesub.__class__ not in lesup._linked_types: return FieldTypeError("Rel2type not authorized between %s and %s"%(lesup, lesub)) pass diff --git a/EditorialModel/fieldtypes/naturerelation.py b/EditorialModel/fieldtypes/naturerelation.py index fda97ae..b702f2e 100644 --- a/EditorialModel/fieldtypes/naturerelation.py +++ b/EditorialModel/fieldtypes/naturerelation.py @@ -26,8 +26,8 @@ class EmFieldType(EmFieldType): #if not isinstance(lec, lerelation._LeRelation): # return ValueError("A field naturerelation has to be in a LeRelation object, but this one is in a '%s'"%lec.__name__) nature = datas[fname] - lesup = datas[lec._lesup_name] - lesub = datas[lec._lesub_name] + lesup = datas[lec._superior_field_name] + lesub = datas[lec._subordinate_field_name] if nature is None: #if not isinstance(lec, lerelation.LeRel2Type): #Replace with a test from _LeCrud diff --git a/leapi/lecrud.py b/leapi/lecrud.py index ddd5601..3c67d98 100644 --- a/leapi/lecrud.py +++ b/leapi/lecrud.py @@ -173,7 +173,7 @@ class _LeCrud(object): # @param cls Class: a Class or instanciated object @classmethod def implements_lerelation(cls): - return hasattr(cls, '_lesup_name') + return hasattr(cls, '_superior_field_name') ## @return maybe Bool: True if cls implements LeRel2Type # @param cls Class: a Class or instanciated object diff --git a/leapi/lefactory.py b/leapi/lefactory.py index c95fcc0..38a99d0 100644 --- a/leapi/lefactory.py +++ b/leapi/lefactory.py @@ -244,8 +244,8 @@ class LeObject(LeCrud, leapi.leobject._LeObject): class LeRelation(LeCrud, leapi.lerelation._LeRelation): _uid_fieldtype = {lerel_uid_fieldtype} _rel_fieldtypes = {lerel_fieldtypes} - _superior_fieldname = {lesup_name} - _subordinate_fieldname = {lesub_name} + _superior_field_name = {lesup_name} + _subordinate_field_name = {lesub_name} class LeHierarch(LeRelation, leapi.lerelation._LeHierarch): pass diff --git a/leapi/lerelation.py b/leapi/lerelation.py index 1456697..a58b635 100644 --- a/leapi/lerelation.py +++ b/leapi/lerelation.py @@ -11,8 +11,8 @@ from . import lefactory ## @brief Main class for relations class _LeRelation(lecrud._LeCrud): - _lesup_name = None - _lesub_name = None + _superior_field_name = None + _subordinate_field_name = None ## @brief Stores the list of fieldtypes that are common to all relations _rel_fieldtypes = dict() @@ -23,13 +23,13 @@ class _LeRelation(lecrud._LeCrud): @classmethod def sup_filter(self, leo): if isinstance(leo, leobject._LeObject): - return (self._lesup_name, '=', leo) + return (self._superior_field_name, '=', leo) ## @brief Forge a filter to match the superior @classmethod def sub_filter(self, leo): if isinstance(leo, leobject._LeObject): - return (self._lesub_name, '=', leo) + return (self._subordinate_field_name, '=', leo) ## @return a dict with field name as key and fieldtype instance as value @classmethod @@ -62,7 +62,7 @@ class _LeRelation(lecrud._LeCrud): filters, rel_filters = super()._prepare_filters(filters_l) res_filters = list() for field, op, value in filters: - if field in [cls._lesup_name, cls._lesub_name]: + if field in [cls._superior_field_name, cls._subordinate_field_name]: if isinstance(value, str): try: value = int(value) @@ -169,7 +169,7 @@ class _LeRel2Type(_LeRelation): datas['nature'] = None if cls == cls.name2class('LeRel2Type') and classname is None: # autodetect the rel2type child class - classname = relname(datas[self._lesup_name], datas[self._lesub_name]) + classname = relname(datas[self._superior_field_name], datas[self._subordinate_field_name]) return super().insert(datas, classname) ## @brief Given a superior and a subordinate, returns the classname of the give rel2type