16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_media.interfaces import IMediaConversionUtility, CONVERTER_NAME |
19 from pyams_media.interfaces import IMediaConversionUtility, CONVERTER_NAME |
20 from pyams_utils.interfaces.site import ISiteGenerations |
20 from pyams_utils.interfaces.site import ISiteGenerations |
21 from zope.site.interfaces import INewLocalSite |
|
22 |
21 |
23 # import packages |
22 # import packages |
24 from pyams_media.utility import MediaConversionUtility |
23 from pyams_media.utility import MediaConversionUtility |
25 from pyams_utils.registry import utility_config |
24 from pyams_utils.registry import utility_config |
26 from pyams_utils.site import check_required_utilities |
25 from pyams_utils.site import check_required_utilities |
27 from pyramid.events import subscriber |
|
28 |
26 |
29 |
27 |
30 REQUIRED_UTILITIES = ((IMediaConversionUtility, '', MediaConversionUtility, CONVERTER_NAME), ) |
28 REQUIRED_UTILITIES = ((IMediaConversionUtility, '', MediaConversionUtility, CONVERTER_NAME), ) |
31 |
|
32 |
|
33 @subscriber(INewLocalSite) |
|
34 def handle_new_local_site(event): |
|
35 """Create a new conversion utility when a site is created""" |
|
36 site = event.manager.__parent__ |
|
37 check_required_utilities(site, REQUIRED_UTILITIES) |
|
38 |
29 |
39 |
30 |
40 @utility_config(name='PyAMS medias converter', provides=ISiteGenerations) |
31 @utility_config(name='PyAMS medias converter', provides=ISiteGenerations) |
41 class MediaConversionGenerationsChecker(object): |
32 class MediaConversionGenerationsChecker(object): |
42 """Medias conversion utility generations checker""" |
33 """Medias conversion utility generations checker""" |
43 |
34 |
|
35 order = 80 |
44 generation = 1 |
36 generation = 1 |
45 |
37 |
46 def evolve(self, site, current=None): |
38 def evolve(self, site, current=None): |
47 """Check for required utilities""" |
39 """Check for required utilities""" |
48 check_required_utilities(site, REQUIRED_UTILITIES) |
40 check_required_utilities(site, REQUIRED_UTILITIES) |