Added VK extractor
This commit is contained in:
parent
12a2378179
commit
741843b827
@ -8,7 +8,7 @@ import utils
|
|||||||
import application
|
import application
|
||||||
from pubsub import pub
|
from pubsub import pub
|
||||||
from wxUI import mainWindow, menus
|
from wxUI import mainWindow, menus
|
||||||
from extractors import zaycev, youtube
|
from extractors import zaycev, youtube, vk
|
||||||
from update import updater
|
from update import updater
|
||||||
from . import player
|
from . import player
|
||||||
|
|
||||||
@ -206,6 +206,8 @@ class Controller(object):
|
|||||||
extractor = self.window.extractor.GetValue()
|
extractor = self.window.extractor.GetValue()
|
||||||
if extractor == "youtube":
|
if extractor == "youtube":
|
||||||
self.extractor = youtube.interface()
|
self.extractor = youtube.interface()
|
||||||
|
elif extractor == "vk":
|
||||||
|
self.extractor = vk.interface()
|
||||||
elif extractor == "zaycev.net":
|
elif extractor == "zaycev.net":
|
||||||
self.extractor = zaycev.interface()
|
self.extractor = zaycev.interface()
|
||||||
elif extractor == "":
|
elif extractor == "":
|
||||||
|
28
src/extractors/vk.py
Normal file
28
src/extractors/vk.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import requests
|
||||||
|
from .import baseFile
|
||||||
|
from update.utils import seconds_to_string
|
||||||
|
|
||||||
|
api_endpoint = "https://api-2.datmusic.xyz"
|
||||||
|
|
||||||
|
class interface(object):
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.results = []
|
||||||
|
self.name = "vk"
|
||||||
|
self.needs_transcode = False
|
||||||
|
|
||||||
|
def search(self, text, page=1):
|
||||||
|
self.results = []
|
||||||
|
search_results = requests.get("{0}/search?q={1}&page={2}".format(api_endpoint, text, page))
|
||||||
|
search_results = search_results.json()["data"]
|
||||||
|
for i in search_results:
|
||||||
|
s = baseFile.song(self)
|
||||||
|
s.title = i["title"]
|
||||||
|
# URRL is not needed here as download_url is already provided. So let's skip that part.
|
||||||
|
s.duration = seconds_to_string(i["duration"])
|
||||||
|
s.download_url = i["stream"]
|
||||||
|
self.results.append(s)
|
||||||
|
|
||||||
|
def get_download_url(self, url):
|
||||||
|
return None
|
@ -39,7 +39,7 @@ class mainWindow(wx.Frame):
|
|||||||
box.Add(lbl2, 0, wx.GROW)
|
box.Add(lbl2, 0, wx.GROW)
|
||||||
box.Add(self.text, 1, wx.GROW)
|
box.Add(self.text, 1, wx.GROW)
|
||||||
box.Add(wx.StaticText(self.panel, wx.NewId(), _("Search in")), 0, wx.GROW)
|
box.Add(wx.StaticText(self.panel, wx.NewId(), _("Search in")), 0, wx.GROW)
|
||||||
self.extractor = wx.ComboBox(self.panel, wx.NewId(), choices=["youtube", "zaycev.net"], value="youtube", style=wx.CB_READONLY)
|
self.extractor = wx.ComboBox(self.panel, wx.NewId(), choices=["youtube", "vk", "zaycev.net"], value="youtube", style=wx.CB_READONLY)
|
||||||
box.Add(self.extractor, 1, wx.GROW)
|
box.Add(self.extractor, 1, wx.GROW)
|
||||||
self.search = wx.Button(self.panel, wx.NewId(), _("Search"))
|
self.search = wx.Button(self.panel, wx.NewId(), _("Search"))
|
||||||
self.search.SetDefault()
|
self.search.SetDefault()
|
||||||
|
Loading…
Reference in New Issue
Block a user