Ejemplo n.º 1
0
 def test_add_to_queue_without_drive_service(self, mocked_handler):
     mocked_handler.return_value.storage_service = None
     m2s = Music2Storage()
     m2s.add_to_queue('http://example.com/')
     self.assertEqual(m2s.queues['download'].qsize(), 0)
     with self.assertRaises(queue.Empty):
         m2s.queues['download'].get_nowait()
Ejemplo n.º 2
0
 def test_upload_sucess(self, mocked_upload_to_drive):
     m2s = Music2Storage()
     m2s.drive_service = MagicMock()
     result = m2s._upload('filename.mp3')
     mocked_upload_to_drive.assert_called_with(
         m2s.connection_handler.storage_service, 'filename.mp3')
     self.assertEqual(result, 'filename.mp3')
Ejemplo n.º 3
0
 def test_start_workers_already_started(self, mocked_signal_handler,
                                        mocked_worker):
     m2s = Music2Storage()
     m2s.workers.append(MagicMock())
     m2s.start_workers(1)
     self.assertEqual(len(m2s.workers), 1)
     self.assertFalse(mocked_worker.called)
     self.assertFalse(mocked_signal_handler.called)
     self.assertFalse(mocked_worker.return_value.start.called)
Ejemplo n.º 4
0
 def test_start_workers_sucess(self, mocked_signal_sigint,
                               mocked_signal_signal, mocked_signal_handler,
                               mocked_worker):
     m2s = Music2Storage()
     num_of_queues = len(m2s.queues.items())
     m2s.start_workers(2)
     self.assertEqual(len(m2s.workers), num_of_queues * 2 - 2)
     self.assertEqual(len(mocked_worker.mock_calls),
                      2 * (num_of_queues * 2 - 2))
     self.assertTrue(mocked_signal_handler)
     mocked_signal_handler.assert_called_with(m2s.workers, m2s.stopper)
     mocked_signal_signal.assert_called_with(
         mocked_signal_sigint, mocked_signal_handler.return_value)
     self.assertEqual(len(mocked_worker.return_value.start.mock_calls),
                      num_of_queues * 2 - 2)
Ejemplo n.º 5
0
import webbrowser
import os
import pyjokes
from music2storage import Music2Storage
import smtplib
import time
import requests
import shutil
import contextlib
from ecapture import ecapture as ec
from urllib.request import urlopen
random.seed(random.randint(1, 9000))
engine = pyttsx3.init('sapi5')
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[1].id)
m2s = Music2Storage()
m2s.use_music_service('youtube')
m2s.use_storage_service('local')
m2s.start_workers()
m2s.add_to_queue('https://www.youtube.com/watch?v=DhHGDOgjie4')


def speak(audio):
    engine.say(audio)
    engine.runAndWait()


def wishMe():
    hour = int(datetime.datetime.now().hour)
    if hour >= 0 and hour < 12:
        speak("Good Morning!")
Ejemplo n.º 6
0
 def test_delete_sucess(self, mocked_delete_local_file):
     m2s = Music2Storage()
     result = m2s._delete('filename.mp3')
     mocked_delete_local_file.assert_called_with('filename.mp3')
     self.assertEqual(result, 'filename.mp3')
Ejemplo n.º 7
0
 def test_convert_sucess(self, mocked_convert_to_mp3):
     m2s = Music2Storage()
     result = m2s._convert('filename.mp4')
     mocked_convert_to_mp3.assert_called_with('filename.mp4',
                                              m2s.queues['delete'])
     self.assertEqual(result, 'filename.mp3')
Ejemplo n.º 8
0
 def test_download_sucess(self, mocked_download_from_youtube):
     m2s = Music2Storage()
     result = m2s._download('http://example.com/')
     mocked_download_from_youtube.assert_called_with('http://example.com/')
     self.assertEqual(result, 'filename.mp4')
Ejemplo n.º 9
0
 def test_connect_storage_service_success(self, mocked_handler):
     m2s = Music2Storage()
     m2s.connect_storage_service('google drive')
     mocked_handler.return_value.connect_storage_service.assert_called_with(
         'google drive')
Ejemplo n.º 10
0
 def test_add_to_queue_with_drive_service(self, mocked_handler):
     m2s = Music2Storage()
     m2s.add_to_queue('http://example.com/')
     self.assertEqual(m2s.queues['download'].qsize(), 1)
     self.assertEqual(m2s.queues['download'].get_nowait(),
                      'http://example.com/')
Ejemplo n.º 11
0
 def test_notify_sucess(self):
     m2s = Music2Storage()
     m2s._notify()