X-Git-Url: http://git.kaliko.me/?p=mpd-goodies.git;a=blobdiff_plain;f=lib%2Fmpdclass.py;fp=lib%2Fmpdclass.py;h=40765fb204d359cf12d1f86f8105325e5124bc84;hp=0000000000000000000000000000000000000000;hb=14ccd8fb5a6584037b6f7e62c33b1648e3430d23;hpb=86013a2622c1f21cc64ef81733d48023caaf75a9 diff --git a/lib/mpdclass.py b/lib/mpdclass.py new file mode 100755 index 0000000..40765fb --- /dev/null +++ b/lib/mpdclass.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + + +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)#}}} + + +class MPDClass(object): + """Connect to MPD server + """ + + def __init__(self): + self.client = MPDClient() + + def mpdConnect(self, con_id):#{{{ + """ + Simple wrapper to connect MPD. + """ + try: + self.client.connect(**con_id) + except SocketError: + return False + return True#}}} + + def mpdAuth(self, secret):#{{{ + """ Authenticate""" + try: + self.client.password(secret) + except CommandError: + return False + return True#}}} + + def connect(self): + """Connect & auth""" + pass + +def main(): + pass + +# Script starts here +if __name__ == '__main__': + main() + +# VIM MODLINE +# vim: ai ts=4 sw=4 sts=4 expandtab +