X-Git-Url: http://git.kaliko.me/?p=mpd-goodies.git;a=blobdiff_plain;f=src%2Flib%2Fmpdutils.py;fp=src%2Flib%2Fmpdutils.py;h=0000000000000000000000000000000000000000;hp=ce1b38dc06deaee1f575519808658ae239dd2638;hb=cbf589ccbaa8a96f596f956cd103e754f0936e28;hpb=5894aae4c12d1583fd9ca3e0c486a83a147aca6b diff --git a/src/lib/mpdutils.py b/src/lib/mpdutils.py deleted file mode 100644 index ce1b38d..0000000 --- a/src/lib/mpdutils.py +++ /dev/null @@ -1,118 +0,0 @@ -# -*- coding: utf-8 -*- - -# Copyright (c) 2009 Efrim {{{ -# -# 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 3 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, see . -# -# }}} - -import sys - -from os import environ -from socket import error as SocketError - -try: - from mpd import (MPDClient, CommandError) -except ImportError, err: - print 'ERROR: "%s"\n\nPlease install python-mpd module.\n' % err - sys.exit(1) - - -def get_mpd_environ():#{{{ - """ - Retrieve MPD env. var. - """ - con_id = dict({'host': 'localhost', - 'port': int(6600)}) - passwd = None - mpd_host_env = environ.get('MPD_HOST') - if mpd_host_env: - # If password is set: - # mpd_host_env = ['pass', 'host'] because MPD_HOST=pass@host - mpd_host_env = mpd_host_env.split('@') - mpd_host_env.reverse() - con_id.update({'host': mpd_host_env[0]}) - if len(mpd_host_env) > 1: - print 'passwd set in MPD_HOST' - passwd = mpd_host_env[1] - - con_id.update({'port': int(environ.get('MPD_PORT', con_id.get('port')))}) - return (con_id, passwd)#}}} - - -def mpdConnect(client, con_id):#{{{ - """ - Simple wrapper to connect MPD. - """ - try: - client.connect(**con_id) - except SocketError: - return False - return True#}}} - - -def mpdAuth(client, secret):#{{{ - """ - Authenticate - """ - try: - client.password(secret) - except CommandError: - return False - return True#}}} - - -def mconnect(host=None, port=None):#{{{ - """""" - ## get connection id from ENV VAR - con_id, passwd = get_mpd_environ() - if host: - con_id.update({'host': host}) - if port: - con_id.update({'port': port}) - ## MPD object instance - client = MPDClient() - if mpdConnect(client, con_id): - #print 'Got connected!' - True - else: - print 'ERROR: fail to connect MPD server.' - sys.exit(1) - - ## Auth if password is set non False - if passwd: - if mpdAuth(client, passwd): - #print 'Pass auth!' - True - else: - print 'ERROR: fail trying to pass auth. Check password?' - client.disconnect() - sys.exit(1) - return client#}}} - -def collapse_tags(value): - if isinstance(value, list): - #self.__dict__[tag] = ", ".join(set(value)) - self.collapse_tags_bool = True - return ', '.join(set(value)) - return value#}}} - -# Script starts here -if __name__ == '__main__': - cli = mconnect() - cli.disconnect() - -# VIM MODLINE -# vim: ai ts=4 sw=4 sts=4 expandtab -