Code

remove broken leoslyrics plugin
authorMax Kellermann <max@duempel.org>
Wed, 28 May 2014 16:18:28 +0000 (18:18 +0200)
committerMax Kellermann <max@duempel.org>
Wed, 28 May 2014 16:18:28 +0000 (18:18 +0200)
Makefile.am
NEWS
lyrics/15-leoslyrics.sh [deleted file]
lyrics/30-leoslyrics.py [deleted file]

index 72e93a183c1232d744fc41923344d46bbdf8aedf..aa984d36d33a959a1438972ffe20b797c7a36bfe 100644 (file)
@@ -205,7 +205,7 @@ sparse-check:
 # lyrics plugins
 #
 
-lyrics_plugins = lyrics/10-hd.sh lyrics/15-leoslyrics.sh lyrics/20-lyricwiki.rb lyrics/30-leoslyrics.py
+lyrics_plugins = lyrics/10-hd.sh lyrics/20-lyricwiki.rb
 
 if ENABLE_LYRICS_SCREEN
 
diff --git a/NEWS b/NEWS
index d6ebaba8b66f20532de703dfe7ce8b85ecc540f3..cf73d0ae3c77650fe0c433534b3788d6217056ae 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,7 @@ ncmpc 0.22 - not yet released
 * require libmpdclient 2.3, MPD 0.16
 * patched color line-flags
 * configuration option "search-format"
+* remove broken leoslyrics plugin
 
 
 ncmpc 0.21 - (2013-04-11)
diff --git a/lyrics/15-leoslyrics.sh b/lyrics/15-leoslyrics.sh
deleted file mode 100755 (executable)
index 7a119bb..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-set -e
-
-search="http://api.leoslyrics.com/api_search.php?auth=ncmpc"
-lyrics="http://api.leoslyrics.com/api_lyrics.php?auth=ncmpc"
-cache="$HOME/.lyrics/$1 - $2.txt"
-
-hid=$(wget -q -O- "$search&artist=$1&songtitle=$2" |
-       sed -n 's/.*hid="\([^"]*\)".*exactMatch="true".*/\1/p' |
-       head -n 1)
-
-test "$hid"
-
-mkdir -p "$(dirname "$cache")"
-
-wget -q -O- "$lyrics&hid=$hid" | awk '
-       /<text>/   { go=1; sub(".*<text>", "")  };
-       /<\/text>/ { go=0; sub("</text>.*", "") };
-       go         { sub("&#xD;", ""); print    };
-' | tee "$cache"
diff --git a/lyrics/30-leoslyrics.py b/lyrics/30-leoslyrics.py
deleted file mode 100755 (executable)
index 87953e8..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/python
-#
-#  (c) 2004-2008 The Music Player Daemon Project
-#  http://www.musicpd.org/
-#
-#  This program is free software; you can redistribute it and/or modify
-#  it under the terms of the GNU General Public License as published by
-#  the Free Software Foundation; either version 2 of the License, or
-#  (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-
-#
-# Load lyrics from leoslyrics.com
-#
-
-from sys import argv, exit, stderr
-from urllib import urlencode, urlopen
-from xml.sax import make_parser, SAXException
-from xml.sax.handler import ContentHandler
-
-class SearchContentHandler(ContentHandler):
-    def __init__(self):
-        self.code = None
-        self.hid = None
-
-    def startElement(self, name, attrs):
-        if name == 'response':
-            self.code = int(attrs['code'])
-        elif name == 'result':
-            if self.hid is None or attrs['exactMatch'] == 'true':
-                self.hid = attrs['hid']
-
-def search(artist, title):
-    query = urlencode({'auth': 'ncmpc',
-                       'artist': artist,
-                       'songtitle': title})
-    url = "http://api.leoslyrics.com/api_search.php?" + query
-    try:
-        f = urlopen(url)
-    except IOError:
-        stderr.write("Failed to connect to http://api.leoslyrics.com, it seems down!\n")
-        exit(1)
-    handler = SearchContentHandler()
-    parser = make_parser()
-    parser.setContentHandler(handler)
-    try:
-        parser.parse(f)
-    except SAXException:
-        stderr.write("Failed to parse the search result!\n")
-        exit(1)
-    return handler.hid
-
-class LyricsContentHandler(ContentHandler):
-    def __init__(self):
-        self.code = None
-        self.is_text = False
-        self.text = None
-
-    def startElement(self, name, attrs):
-        if name == 'text':
-            self.text = ''
-            self.is_text = True
-        else:
-            self.is_text = False
-
-    def characters(self, chars):
-        if self.is_text:
-            self.text += chars
-
-def lyrics(hid):
-    query = urlencode({'auth': 'ncmpc',
-                       'hid': hid})
-    url = "http://api.leoslyrics.com/api_lyrics.php?" + query
-    f = urlopen(url)
-    handler = LyricsContentHandler()
-    parser = make_parser()
-    parser.setContentHandler(handler)
-    try:
-        parser.parse(f)
-    except SAXException:
-        stderr.write("Failed to parse the lyrics!\n")
-        exit(1)
-    return handler.text
-
-hid = search(argv[1], argv[2])
-if hid is None:
-    exit(69)
-print lyrics(hid).encode('utf-8').rstrip()