Forráskód Böngészése

Merge branch 'add_site_uzimusic' of DebenOldert/Music-Downloader into master

Deben Oldert 6 éve
szülő
commit
f8455a84c5
3 módosított fájl, 32 hozzáadás és 4 törlés
  1. 2 1
      sites/__init__.py
  2. 1 3
      sites/default.py
  3. 29 0
      sites/uzimusic.py

+ 2 - 1
sites/__init__.py

@@ -2,6 +2,7 @@ from .czne import Czne
 from .default import DefaultSite
 from .musicteam import MusicTeam
 from .lalamus import Lalamus
+from .uzimusic import Uzimusic
 
 
-available = [DefaultSite(), Czne(), MusicTeam(), Lalamus()]
+available = [DefaultSite(), Czne(), MusicTeam(), Lalamus(), Uzimusic()]

+ 1 - 3
sites/default.py

@@ -55,7 +55,5 @@ class DefaultSite:
             Download.zippyaudio(item)
         elif 'krakenfiles' in item.original_url:
             Download.krakenfiles(item)
-        elif 'lalamus' in item.original_url:
-            Download.download(item)
         else:
-            console.output('Don\'t know what to do with link: {}.'.format(item.download_url), level=console.DBG_ERROR)
+            Download.download(item)

+ 29 - 0
sites/uzimusic.py

@@ -0,0 +1,29 @@
+from sites.default import DefaultSite
+from sites.helper.query import Query
+
+
+class Uzimusic(DefaultSite):
+    def __init__(self):
+        super().__init__()
+        self.url = 'https://uzimusic.ru'
+        self.query = Query(self, 'POST') \
+            .add_parameter('do', 'search') \
+            .add_parameter('subaction', 'search') \
+            .add_parameter('search_start', '0') \
+            .add_parameter('full_search', '0') \
+            .add_parameter('result_from', '1') \
+            .add_parameter('story', '{0}')
+        self.structure\
+            .set_container_path('div#dle-content') \
+            .set_item_path('div.songs-list-item') \
+            .set_title_path('div.song-name') \
+            .set_artist_path('div.song-artist') \
+            .set_duration_path('span.song-time') \
+            .set_url_path('span.song-play')
+        self.request\
+            .add_header('Referer', self.url + '/') \
+            .add_header('Origin', self.url) \
+            .add_header('Content-Type', 'application/x-www-form-urlencoded')
+
+    def format_url(self, field):
+        return self.url + (field.attr['data-audio'].format(title_to_eng=field.attr['data-audio-title'], HTTP_HOST=''))