In [ ]:
import MySQLdb
import netrc
import pandas
import lastfmDb as lf
import datetime

from plotly import __version__
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly.graph_objs as go

init_notebook_mode(connected=True)

login = netrc.netrc().authenticators('lastfm.mysql')
if not login:
    raise netrc.NetrcParseError('No authenticators for lastfm.mysql')
    
mysql = MySQLdb.connect(user=login[0],passwd=login[2],db=login[1], charset='utf8')
cursor = mysql.cursor()

Last execution date and time


In [ ]:
today = datetime.datetime.now()
print today.strftime('Generated on the %d %b %Y at %H:%M:%S')

Play count by month


In [ ]:
df = lf.retrieve_play_count_by_month_as_dataframe(cursor)
df.head(15).T

In [ ]:
df['Month'] = pandas.to_datetime(df['Month'], format='%Y-%m')
df = df.sort_values(by='Month', ascending=[1])

data = [go.Scatter(x=df.Month, y=df.PlayCount)]
iplot(data)

Play count by day


In [ ]:
df = lf.retrieve_play_count_by_day_as_dataframe(cursor)

data = [go.Scatter(x=df.Day, y=df.PlayCount)]
iplot(data)

Recent plays


In [ ]:
df = lf.retrieve_recent_plays_as_dataframe(cursor)
df