15 |
15 |
16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_media.interfaces import IMediaConversionUtility, CONVERTER_HANDLER_KEY, CUSTOM_AUDIO_TYPES, \ |
19 from pyams_media.interfaces import IMediaConversionUtility, CONVERTER_HANDLER_KEY, CUSTOM_AUDIO_TYPES, \ |
20 CUSTOM_VIDEO_TYPES |
20 CUSTOM_VIDEO_TYPES, CONVERTER_AUTH_KEY |
21 from zope.intid.interfaces import IIntIds |
21 from zope.intid.interfaces import IIntIds |
22 |
22 |
23 # import packages |
23 # import packages |
24 from persistent import Persistent |
24 from persistent import Persistent |
25 from pyams_utils.registry import get_utility |
25 from pyams_utils.registry import get_utility |
61 else: |
61 else: |
62 requested_formats = () |
62 requested_formats = () |
63 for format in requested_formats: |
63 for format in requested_formats: |
64 self.convert(media, format) |
64 self.convert(media, format) |
65 |
65 |
66 def _get_socket(self): |
66 def get_socket(self): |
67 registry = get_current_registry() |
67 registry = get_current_registry() |
68 handler = registry.settings.get(CONVERTER_HANDLER_KEY, False) |
68 handler = registry.settings.get(CONVERTER_HANDLER_KEY, False) |
69 if handler: |
69 if handler: |
70 return zmq_socket(handler) |
70 return zmq_socket(handler, auth=registry.settings.get(CONVERTER_AUTH_KEY)) |
71 |
71 |
72 def convert(self, media, format): |
72 def convert(self, media, format): |
73 """Send conversion request for given media""" |
73 """Send conversion request for given media""" |
74 socket = self._get_socket() |
74 socket = self.get_socket() |
75 if socket is None: |
75 if socket is None: |
76 return [501, "No socket handler defined in configuration file"] |
76 return [501, "No socket handler defined in configuration file"] |
77 intids = get_utility(IIntIds) |
77 intids = get_utility(IIntIds) |
78 settings = {'zodb_name': self.zodb_name, |
78 settings = {'zodb_name': self.zodb_name, |
79 'media': intids.register(media), |
79 'media': intids.register(media), |
81 socket.send_json(['convert', settings]) |
81 socket.send_json(['convert', settings]) |
82 return zmq_response(socket) |
82 return zmq_response(socket) |
83 |
83 |
84 def test_process(self): |
84 def test_process(self): |
85 """Send test request to conversion process""" |
85 """Send test request to conversion process""" |
86 socket = self._get_socket() |
86 socket = self.get_socket() |
87 if socket is None: |
87 if socket is None: |
88 return [501, "No socket handler defined in configuration file"] |
88 return [501, "No socket handler defined in configuration file"] |
89 socket.send_json(['test', {}]) |
89 socket.send_json(['test', {}]) |
90 return zmq_response(socket) |
90 return zmq_response(socket) |