1# -*- Mode: python; coding: utf-8; tab-width: 8; indent-tabs-mode: t; -*- 2# 3# Copyright (C) 2009 Jonathan Matthew 4# 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 2, or (at your option) 8# any later version. 9# 10# The Rhythmbox authors hereby grant permission for non-GPL compatible 11# GStreamer plugins to be used and distributed together with GStreamer 12# and Rhythmbox. This permission is above and beyond the permissions granted 13# by the GPL license by which Rhythmbox is covered. If you modify this code 14# you may extend this exception to your version of the code, but you are not 15# obligated to do so. If you do not wish to do so, delete this exception 16# statement from your version. 17# 18# This program is distributed in the hope that it will be useful, 19# but WITHOUT ANY WARRANTY; without even the implied warranty of 20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21# GNU General Public License for more details. 22# 23# You should have received a copy of the GNU General Public License 24# along with this program; if not, write to the Free Software 25# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 26 27import os 28import configparser 29 30from gi.repository import RB 31 32import gettext 33gettext.install('rhythmbox', RB.locale_dir()) 34 35# utility things for dealing with last.fm 36 37URL_PREFIX = 'http://ws.audioscrobbler.com/2.0/?method=' 38 39# this is probably john iacona's key 40API_KEY = '27151108bfce62e12c1f6341437e0e83' 41 42NO_ACCOUNT_ERROR = _("This information is only available to Last.fm users. Ensure the Last.fm plugin is enabled, select Last.fm in the side pane, and log in.") 43 44def user_has_account(): 45 session_file = os.path.join(RB.user_data_dir(), "audioscrobbler", "sessions") 46 47 if os.path.exists(session_file) == False: 48 return False 49 50 sessions = configparser.RawConfigParser() 51 sessions.read(session_file) 52 try: 53 return (sessions.get('Last.fm', 'username') != "") 54 except: 55 return False 56 57def datasource_link(path): 58 return "<a href='http://last.fm/'><img src='%s/img/lastfm.png'></a>" % path 59