Changeset 11450


Ignore:
Timestamp:
27 Feb 2014, 06:25:18 (11 years ago)
Author:
Henrik Bettermann
Message:

Move ContextualDictSourceFactoryBase? to waeup.kofa.interfaces to avoid circular imports.

Location:
main/waeup.kofa/trunk/src/waeup/kofa
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.kofa/trunk/src/waeup/kofa/hostels/vocabularies.py

    r10673 r11450  
    2222from zope.catalog.interfaces import ICatalog
    2323from zc.sourcefactory.contextual import BasicContextualSourceFactory
    24 from waeup.kofa.interfaces import SimpleKofaVocabulary
     24from waeup.kofa.interfaces import (
     25    SimpleKofaVocabulary, ContextualDictSourceFactoryBase)
    2526from waeup.kofa.interfaces import MessageFactory as _
    26 from waeup.kofa.university.vocabularies import ContextualDictSourceFactoryBase
    2727
    2828NOT_OCCUPIED = u'not occupied'
  • main/waeup.kofa/trunk/src/waeup/kofa/interfaces.py

    r11254 r11450  
    3636from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
    3737from waeup.kofa.schema import PhoneNumber
     38from waeup.kofa.sourcefactory import SmartBasicContextualSourceFactory
    3839
    3940_ = MessageFactory = zope.i18nmessageid.MessageFactory('waeup.kofa')
     
    104105    )
    105106
     107class ContextualDictSourceFactoryBase(SmartBasicContextualSourceFactory):
     108    """A base for contextual sources based on KofaUtils dicts.
     109
     110    To create a real source, you have to set the `DICT_NAME` attribute
     111    which should be the name of a dictionary in KofaUtils.
     112    """
     113    def getValues(self, context):
     114        utils = getUtility(IKofaUtils)
     115        return sorted(getattr(utils, self.DICT_NAME).keys())
     116
     117    def getToken(self, context, value):
     118        return str(value)
     119
     120    def getTitle(self, context, value):
     121        utils = getUtility(IKofaUtils)
     122        return getattr(utils, self.DICT_NAME)[value]
     123
    106124class SubjectSource(BasicSourceFactory):
    107125    """A source for school subjects used in exam documentation.
  • main/waeup.kofa/trunk/src/waeup/kofa/payments/interfaces.py

    r10914 r11450  
    1818from zope.interface import Attribute
    1919from zope import schema
    20 from waeup.kofa.university.vocabularies import ContextualDictSourceFactoryBase
    2120from waeup.kofa.interfaces import (
    22     IKofaObject, SimpleKofaVocabulary, academic_sessions_vocab)
     21    IKofaObject, SimpleKofaVocabulary, academic_sessions_vocab,
     22    ContextualDictSourceFactoryBase)
    2323from waeup.kofa.interfaces import MessageFactory as _
    2424
  • main/waeup.kofa/trunk/src/waeup/kofa/students/interfaces.py

    r10637 r11450  
    2323from waeup.kofa.browser.interfaces import IStudentNavigationBase
    2424from waeup.kofa.interfaces import (
    25     IKofaObject, academic_sessions_vocab, validate_email, ICSVExporter)
     25    IKofaObject, academic_sessions_vocab, validate_email, ICSVExporter,
     26    ContextualDictSourceFactoryBase)
    2627from waeup.kofa.interfaces import MessageFactory as _
    2728from waeup.kofa.schema import TextLineChoice, FormattedDate, PhoneNumber
     
    3435from waeup.kofa.university.vocabularies import (
    3536    CourseSource, StudyModeSource, CertificateSource, SemesterSource,
    36     ContextualDictSourceFactoryBase)
     37    )
    3738
    3839class PreviousPaymentCategorySource(ContextualDictSourceFactoryBase):
  • main/waeup.kofa/trunk/src/waeup/kofa/university/vocabularies.py

    r10831 r11450  
    2121from zope.catalog.interfaces import ICatalog
    2222from zope.component import getUtility, queryUtility
    23 from waeup.kofa.interfaces import SimpleKofaVocabulary, IKofaUtils
     23from waeup.kofa.interfaces import (
     24    SimpleKofaVocabulary, IKofaUtils, ContextualDictSourceFactoryBase)
    2425from waeup.kofa.interfaces import MessageFactory as _
    2526from waeup.kofa.sourcefactory import SmartBasicContextualSourceFactory
     
    3940    (_('Postgraduate Level'),999),
    4041    )
    41 
    42 #: An instance of :class:`waeup.kofa.utils.utils.KofaUtils` for fallback.
    43 KOFA_UTILS = KofaUtils()
    44 
    45 class ContextualDictSourceFactoryBase(SmartBasicContextualSourceFactory):
    46     """A base for contextual sources based on KofaUtils dicts.
    47 
    48     To create a real source, you have to set the `DICT_NAME` attribute
    49     which should be the name of a dictionary in KofaUtils.
    50     """
    51     def getValues(self, context):
    52         utils = queryUtility(IKofaUtils, default=KOFA_UTILS)
    53         return sorted(getattr(utils, self.DICT_NAME).keys())
    54 
    55     def getToken(self, context, value):
    56         return str(value)
    57 
    58     def getTitle(self, context, value):
    59         utils = queryUtility(IKofaUtils, default=KOFA_UTILS)
    60         return getattr(utils, self.DICT_NAME)[value]
    6142
    6243class SemesterSource(ContextualDictSourceFactoryBase):
Note: See TracChangeset for help on using the changeset viewer.