__init__.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import os
  2. import multiprocessing
  3. from lvc import converter
  4. from lvc import conversion
  5. from lvc import signals
  6. from lvc import video
  7. class Application(signals.SignalEmitter):
  8. def __init__(self, simultaneous=None):
  9. signals.SignalEmitter.__init__(self)
  10. if simultaneous is None:
  11. try:
  12. simultaneous = multiprocessing.cpu_count()
  13. except NotImplementedError:
  14. pass
  15. self.converter_manager = converter.ConverterManager()
  16. self.conversion_manager = conversion.ConversionManager(simultaneous)
  17. self.started = False
  18. def startup(self):
  19. if self.started:
  20. return
  21. self.converter_manager.startup()
  22. self.started = True
  23. def start_conversion(self, filename, converter_id):
  24. self.startup()
  25. converter = self.converter_manager.get_by_id(converter_id)
  26. v = video.VideoFile(filename)
  27. return self.conversion_manager.start_conversion(v, converter)
  28. def run(self):
  29. raise NotImplementedError