LINUX.ORG.RU
ФорумTalks

[to A2K] а твой VPlayer ещё жив?


0

0

..по описанию - чудесно полезная вещь.
Ставил деб-пакет с версией 0.8.2.
Запускается, да.
Но вот логиниться отказывается.
Под любым логином-паролем.

Как же быть?

Ответ на: комментарий от Deleted

ну извини, меня задолбало запускать всякие VK-audio-downloader'ы под Вайном.

Почему не воспользоваться другими путями?

А они битрейт не отображают.
А это самое главное.
Потому что пользователи радостно выкладывают всё в 128кбитах, чтоб качало.
Поди найди там 320 без сторонней помощи..

SplindeR
() автор топика
Ответ на: комментарий от SplindeR

А ходить на трекеры ради одной песенки каждый раз. Тоже как-то не увлекает.

SplindeR
() автор топика
Ответ на: комментарий от SplindeR

Да, но если слушать онлайн, то там скорость плохая :( - видимо канал у них маленький, а посетителей много. Но зато не требует быть зарегеным вконтактике.

Deleted
()
Ответ на: комментарий от Deleted

Даже очень плохая.:(

ладно. подождём ответа от автора, мало ли.

SplindeR
() автор топика
Ответ на: комментарий от Alsvartr

А ну не троллить в моей теме!:)

Кому не нужен - у тех такой образ жизни, я верю. Но что тут поделаешь.

SplindeR
() автор топика

для амарока второго был скрипт на kde-look для прослушивания вконтакта не требовавший акка

overmind88 ★★★★★
()
Ответ на: комментарий от SplindeR

>Прослушивать я и со своего акка могу, вопрос в том, чем грамотно скачать.

В том же амароке. Всплывающее меню - копировать в коллекцию.

Pavval ★★★★★
()

Я давно пришел к выводам, что:
– Python далеко не лучший выбор для разработки GUI приложений.
– Интерфейс плеера должен быть лаконичным настолько насколько это возможно.
– Плееру необходима возможность удаленного управления (лучше всего – разделение клиентской части на сервер воспроизведения и интерфейс, как у mpd).
– Плеер должен потреблять минимум ресурсов.
– Вконтакт слишком ненадежный источник музыки.
– Выбор GPL в качестве лицензии себя не оправдывает.
Потому проект заброшен и примерно три месяца назад начат новый с учетом всех ошибок. Но на этот раз это будет не такой плеер как люди привыкли видеть.

Ну и еще проблема в том что у меня на маке он некрасиво выглядит :)

Но тем не менее VPlayer должен работать, если поправить логин и поиск. Вот код для этого, если кому-то не лень, прикрутите:
Логин:

from urllib import urlencode
from urllib2 import Request, urlopen


SID_PREFIX = "<input type='hidden' name='s' id='s' value='"
SID_LENGTH = 56


class LoginError(Exception):
    pass
    
def login(email, password):
    post_data = {'email': email,
                 'pass': password }
    post = urlencode(post_data)
    req = Request('http://login.vk.com/?act=login', post)
    try:
        ans = urlopen(req)
        html = ans.read()
    except:
        raise LoginError("Could not connect to server")
    start = html.find(SID_PREFIX)
    if start == -1:
        raise LoginError("Wrong server response")
        
    sid = html[start + len(SID_PREFIX) : start + len(SID_PREFIX) + SID_LENGTH]
    if len(sid) != SID_LENGTH:
        raise LoginError("Wrong server response")
    return sid
Поиск:
import re
from login import login
from urllib import urlencode
from urllib2 import Request, urlopen
import simplejson as json

SEARCH_URL = 'http://vk.com/gsearch.php?ajax=1'
TAGS_REGEXP = re.compile('\<b id\=\"performer\d+\"\>(?P<artist>.*)\<\/b\>\<span\>\&nbsp\;\-\&nbsp\;\<\/span\>\<span id\=\"title\d+\"\>(?P<title>.*)\<\/span\>')
DATA_REGEXP = re.compile('return operate\((?P<audioid>\d+),(?P<server>\d+),(?P<user>\d+),\'(?P<filename>\w+)\',(?P<length>\d+)\)')

class SearchError(Exception):
    pass

def search(sid, query):
    print "searching for:",query
    req = Request(SEARCH_URL, urlencode({'c[q]': query, 'c[section]':'audio'}), {"cookie":"remixsid=%s" % sid})
    try:
        data = urlopen(req).read()
    except:
        raise SearchError("Could not receive search results")
    try:
        html = json.loads(unicode(data, 'cp1251'))
        items = html['rows'].split('\n<div class="audioRow"')[1:]
        tracks = []
        for item in items:
            data = DATA_REGEXP.search(item).groupdict()
            tags = TAGS_REGEXP.search(item).groupdict()
            link = 'http://cs%(server)s.vkontakte.ru/u%(user)s/audio/%(filename)s.mp3' % data
            tags.update({'url': link, 'length': int(data['length']), "objectType": "Track"})
            tracks.append(tags)
        return tracks
    except:
        raise SearchError("Could not parse server response")

A2K
()
Ответ на: комментарий от SplindeR

Тебе охота слушать убогие транскоды lossy->lossy? Мне - нет.

Lighting ★★★★★
()
Ответ на: комментарий от Alsvartr

Я тебя разочарую - вконтакте сидят почти все школьники и даже дошкольников много. Поэтому, да, не волнует.

Deleted
()
Ответ на: комментарий от JFreeM

У кого есть там аккаунт (на хабре) попросите автора сделать драг-н-дроп в этом плагине.

Dudraug ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.