src/pyams_scheduler/trigger.py
changeset 30 6be392beb0a5
parent 0 48483b0b26fa
child 63 a72adec69419
equal deleted inserted replaced
29:a456add728e3 30:6be392beb0a5
    17 
    17 
    18 # import interfaces
    18 # import interfaces
    19 from pyams_scheduler.interfaces import ITaskSchedulingMode, ICronTaskScheduling, ICronTask, SCHEDULER_TASK_CRON_INFO, \
    19 from pyams_scheduler.interfaces import ITaskSchedulingMode, ICronTaskScheduling, ICronTask, SCHEDULER_TASK_CRON_INFO, \
    20     IDateTaskScheduling, IDateTask, ILoopTaskScheduling, SCHEDULER_TASK_DATE_INFO, ILoopTask, SCHEDULER_TASK_LOOP_INFO
    20     IDateTaskScheduling, IDateTask, ILoopTaskScheduling, SCHEDULER_TASK_DATE_INFO, ILoopTask, SCHEDULER_TASK_LOOP_INFO
    21 from zope.annotation.interfaces import IAnnotations
    21 from zope.annotation.interfaces import IAnnotations
    22 from zope.schema.interfaces import IVocabularyFactory
       
    23 
    22 
    24 # import packages
    23 # import packages
    25 from apscheduler.triggers.cron import CronTrigger
    24 from apscheduler.triggers.cron import CronTrigger
    26 from apscheduler.triggers.date import DateTrigger
    25 from apscheduler.triggers.date import DateTrigger
    27 from apscheduler.triggers.interval import IntervalTrigger
    26 from apscheduler.triggers.interval import IntervalTrigger
    28 from persistent import Persistent
    27 from persistent import Persistent
    29 from pyams_utils.adapter import adapter_config
    28 from pyams_utils.adapter import adapter_config
    30 from pyams_utils.date import date_to_datetime
    29 from pyams_utils.date import date_to_datetime
    31 from pyams_utils.registry import utility_config
    30 from pyams_utils.registry import utility_config
    32 from pyams_utils.timezone import tztime
    31 from pyams_utils.timezone import tztime
       
    32 from pyams_utils.vocabulary import vocabulary_config
    33 from zope.componentvocabulary.vocabulary import UtilityVocabulary
    33 from zope.componentvocabulary.vocabulary import UtilityVocabulary
    34 from zope.interface import implementer, provider
    34 from zope.interface import implementer
    35 from zope.schema.fieldproperty import FieldProperty
    35 from zope.schema.fieldproperty import FieldProperty
    36 from zope.schema.vocabulary import getVocabularyRegistry
       
    37 
    36 
    38 from pyams_scheduler import _
    37 from pyams_scheduler import _
    39 
    38 
    40 
    39 
    41 @provider(IVocabularyFactory)
    40 @vocabulary_config(name='PyAMS scheduling modes')
    42 class SchedulingModesVocabulary(UtilityVocabulary):
    41 class SchedulingModesVocabulary(UtilityVocabulary):
    43     """Scheduling modes vocabulary"""
    42     """Scheduling modes vocabulary"""
    44 
    43 
    45     interface = ITaskSchedulingMode
    44     interface = ITaskSchedulingMode
    46     nameOnly = True
    45     nameOnly = True
    47 
       
    48 getVocabularyRegistry().register('PyAMS scheduling modes', SchedulingModesVocabulary)
       
    49 
    46 
    50 
    47 
    51 #
    48 #
    52 # Cron-style scheduling mode
    49 # Cron-style scheduling mode
    53 #
    50 #