objetto
Advanced tools
| Metadata-Version: 2.1 | ||
| Name: objetto | ||
| Version: 1.25.0 | ||
| Version: 1.25.1 | ||
| Summary: Object-oriented framework for building smart applications and APIs | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/brunonicko/objetto |
@@ -36,2 +36,3 @@ # -*- coding: utf-8 -*- | ||
| from .bases import ( | ||
| BaseAuxiliaryStructure, | ||
| BaseInteractiveStructure, | ||
@@ -643,7 +644,40 @@ BaseMutableStructure, | ||
| # Check types if possible. | ||
| for typ in abstract_attribute.relationship.types: | ||
| # Get abstract and concrete types. | ||
| abstract_member_types = abstract_attribute.relationship.types | ||
| member_types = member.relationship.types | ||
| # Both abstract and concrete are matching auxiliary structures. | ||
| if ( | ||
| len(abstract_member_types) == 1 | ||
| and isinstance(abstract_member_types[0], type) | ||
| and issubclass( | ||
| abstract_member_types[0], | ||
| BaseAuxiliaryStructure, | ||
| ) | ||
| and len(member_types) == 1 | ||
| and isinstance(member_types[0], type) | ||
| and issubclass( | ||
| member_types[0], | ||
| abstract_member_types[0]._base_auxiliary_type, | ||
| ) | ||
| ): | ||
| # Use their auxiliary relationship types. | ||
| abstract_member_types = abstract_member_types[ | ||
| 0 | ||
| ]._relationship.types | ||
| member_types = member_types[0]._relationship.types | ||
| # Check types. | ||
| for typ in abstract_member_types: | ||
| # If auxiliary structure, use base type. | ||
| if ( | ||
| not isinstance(typ, BASE_STRING_TYPES) | ||
| and issubclass(typ, BaseAuxiliaryStructure) | ||
| ): | ||
| typ = typ._base_auxiliary_type | ||
| # No types declared in implementation. | ||
| if not member.relationship.types: | ||
| if not member_types: | ||
@@ -666,3 +700,3 @@ error = ( | ||
| or issubclass(t, typ) | ||
| for t in member.relationship.types | ||
| for t in member_types | ||
| ): | ||
@@ -675,8 +709,6 @@ error = ( | ||
| member_name, | ||
| get_type_names(member.relationship.types), | ||
| get_type_names(member_types), | ||
| abstract_base.__name__, | ||
| member_name, | ||
| get_type_names( | ||
| abstract_attribute.relationship.types | ||
| ), | ||
| get_type_names(abstract_member_types), | ||
| ) | ||
@@ -683,0 +715,0 @@ raise TypeError(error) |
+1
-1
| Metadata-Version: 2.1 | ||
| Name: objetto | ||
| Version: 1.25.0 | ||
| Version: 1.25.1 | ||
| Summary: Object-oriented framework for building smart applications and APIs | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/brunonicko/objetto |
+1
-1
@@ -8,3 +8,3 @@ import setuptools | ||
| name="objetto", | ||
| version="1.25.0", | ||
| version="1.25.1", | ||
| author="Bruno Nicko", | ||
@@ -11,0 +11,0 @@ author_email="brunonicko@gmail.com", |
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
1026146
0.15%25443
0.11%