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 # |