# HG changeset patch # User Thierry Florac # Date 1521742353 -3600 # Node ID 512c874493b967f0c198e8b8969696bb8ad06029 # Parent 2cb12774d441d04b7d55cbcad383b2fbe0c1190f Added checks for "pyams_gis" package availability to enable GPS coordinates attributes diff -r 2cb12774d441 -r 512c874493b9 src/pyams_content/component/paragraph/contact.py --- a/src/pyams_content/component/paragraph/contact.py Thu Mar 22 15:03:30 2018 +0100 +++ b/src/pyams_content/component/paragraph/contact.py Thu Mar 22 19:12:33 2018 +0100 @@ -17,7 +17,7 @@ # import interfaces from pyams_content.component.paragraph.interfaces import IParagraphFactory -from pyams_content.component.paragraph.interfaces.contact import IContactParagraph, CONTACT_PARAGRAPH_TYPE, \ +from pyams_content.component.paragraph.interfaces.contact import have_gis, IContactParagraph, CONTACT_PARAGRAPH_TYPE, \ CONTACT_PARAGRAPH_RENDERERS from pyams_content.features.checker.interfaces import IContentChecker, MISSING_VALUE, MISSING_LANG_VALUE from pyams_file.interfaces import IImage, IResponsiveImage @@ -49,7 +49,10 @@ name = FieldProperty(IContactParagraph['name']) charge = FieldProperty(IContactParagraph['charge']) _photo = FileProperty(IContactParagraph['photo']) - gps_location = FieldProperty(IContactParagraph['gps_location']) + + if have_gis: + gps_location = FieldProperty(IContactParagraph['gps_location']) + address = FieldProperty(IContactParagraph['address']) renderer = FieldProperty(IContactParagraph['renderer']) @@ -95,7 +98,10 @@ output.append(translate(MISSING_VALUE).format(field=field_title)) else: output.append(translate(MISSING_LANG_VALUE).format(field=field_title, lang=lang)) - for attr in ('name', 'photo', 'gps_location', 'address'): + attrs = ('name', 'photo', 'address') + if have_gis: + attrs += ('gps_location', ) + for attr in attrs: value = getattr(self.context, attr, None) if not value: field_title = translate(IContactParagraph[attr].title) diff -r 2cb12774d441 -r 512c874493b9 src/pyams_content/component/paragraph/interfaces/contact.py --- a/src/pyams_content/component/paragraph/interfaces/contact.py Thu Mar 22 15:03:30 2018 +0100 +++ b/src/pyams_content/component/paragraph/interfaces/contact.py Thu Mar 22 19:12:33 2018 +0100 @@ -20,7 +20,12 @@ # import packages from pyams_file.schema import ImageField -from pyams_gis.schema import GeoPointField +try: + from pyams_gis.schema import GeoPointField +except ImportError: + have_gis = False +else: + have_gis = True from pyams_i18n.schema import I18nTextLineField from zope.schema import TextLine, Text, Choice @@ -50,9 +55,10 @@ description=_("Use 'browse' button to select contact picture"), required=False) - gps_location = GeoPointField(title=_("GPS location"), - description=_("GPS coordinates used to locate contact"), - required=False) + if have_gis: + gps_location = GeoPointField(title=_("GPS location"), + description=_("GPS coordinates used to locate contact"), + required=False) address = Text(title=_("Address"), required=False)