Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 3bcc8afcb8
Fetching contributors…

Cannot retrieve contributors at this time

file 156 lines (146 sloc) 16.573 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>pyechonest.fanalytics</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/echo-nest-remix/">The Echo Nest Remix API, SVN Revision: 448</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="pyechonest-module.html">Package&nbsp;pyechonest</a> ::
        Module&nbsp;fanalytics
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="pyechonest.fanalytics-pysrc.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<h1 class="epydoc">Source Code for <a href="pyechonest.fanalytics-module.html">Module pyechonest.fanalytics</a></h1>
<pre class="py-src">
<a name="L1"></a><tt class="py-lineno"> 1</tt> <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
<a name="L2"></a><tt class="py-lineno"> 2</tt> <tt class="py-line"><tt class="py-comment"># encoding: utf-8</tt> </tt>
<a name="L3"></a><tt class="py-lineno"> 3</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L4"></a><tt class="py-lineno"> 4</tt> <tt class="py-line"><tt class="py-docstring">A Python interface to the The Echo Nest's web API. See</tt> </tt>
<a name="L5"></a><tt class="py-lineno"> 5</tt> <tt class="py-line"><tt class="py-docstring">http://developer.echonest.com/ for details.</tt> </tt>
<a name="L6"></a><tt class="py-lineno"> 6</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L7"></a><tt class="py-lineno"> 7</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module pyechonest.config=pyechonest.config-module.html"><a title="pyechonest.config" class="py-name" href="#" onclick="return doclink('link-0', 'config', 'link-0');">config</a></tt> </tt>
<a name="L8"></a><tt class="py-lineno"> 8</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-1" class="py-name" targets="Module pyechonest.document=pyechonest.document-module.html"><a title="pyechonest.document" class="py-name" href="#" onclick="return doclink('link-1', 'document', 'link-1');">document</a></tt> </tt>
<a name="L9"></a><tt class="py-lineno"> 9</tt> <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-2" class="py-name" targets="Module pyechonest.util=pyechonest.util-module.html"><a title="pyechonest.util" class="py-name" href="#" onclick="return doclink('link-2', 'util', 'link-2');">util</a></tt> <tt class="py-keyword">as</tt> <tt id="link-3" class="py-name"><a title="pyechonest.util" class="py-name" href="#" onclick="return doclink('link-3', 'util', 'link-2');">util</a></tt> </tt>
<a name="L10"></a><tt class="py-lineno">10</tt> <tt class="py-line"> </tt>
<a name="get_blog_terms"></a><div id="get_blog_terms-def"><a name="L11"></a><tt class="py-lineno">11</tt> <a class="py-toggle" href="#" id="get_blog_terms-toggle" onclick="return toggle('get_blog_terms');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="pyechonest.fanalytics-module.html#get_blog_terms">get_blog_terms</a><tt class="py-op">(</tt><tt class="py-param">blogs</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-param">refresh</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
</div><div id="get_blog_terms-collapsed" style="display:none;" pad="++" indent="++++"></div><div id="get_blog_terms-expanded"><a name="L12"></a><tt class="py-lineno">12</tt> <tt class="py-line"> <tt class="py-docstring">""" Return a list of weighted musical terms (styles, genres) that</tt> </tt>
<a name="L13"></a><tt class="py-lineno">13</tt> <tt class="py-line"><tt class="py-docstring"> describe the type of music that the blog covers. </tt> </tt>
<a name="L14"></a><tt class="py-lineno">14</tt> <tt class="py-line"><tt class="py-docstring"> """</tt> </tt>
<a name="L15"></a><tt class="py-lineno">15</tt> <tt class="py-line"> </tt>
<a name="L16"></a><tt class="py-lineno">16</tt> <tt class="py-line"> <tt class="py-name">params</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L17"></a><tt class="py-lineno">17</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt id="link-4" class="py-name" targets="Method pyechonest.artist.Artist.blogs()=pyechonest.artist.Artist-class.html#blogs"><a title="pyechonest.artist.Artist.blogs" class="py-name" href="#" onclick="return doclink('link-4', 'blogs', 'link-4');">blogs</a></tt><tt class="py-op">:</tt> </tt>
<a name="L18"></a><tt class="py-lineno">18</tt> <tt class="py-line"> <tt class="py-name">params</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method echonest.audio.AudioData.append()=echonest.audio.AudioData-class.html#append"><a title="echonest.audio.AudioData.append" class="py-name" href="#" onclick="return doclink('link-5', 'append', 'link-5');">append</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blog_url'</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L19"></a><tt class="py-lineno">19</tt> <tt class="py-line"> <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt id="link-6" class="py-name"><a title="pyechonest.util" class="py-name" href="#" onclick="return doclink('link-6', 'util', 'link-2');">util</a></tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Function pyechonest.util.callm()=pyechonest.util-module.html#callm"><a title="pyechonest.util.callm" class="py-name" href="#" onclick="return doclink('link-7', 'callm', 'link-7');">callm</a></tt><tt class="py-op">(</tt><tt class="py-string">'get_blog_terms'</tt><tt class="py-op">,</tt> <tt class="py-name">params</tt><tt class="py-op">)</tt> </tt>
<a name="L20"></a><tt class="py-lineno">20</tt> <tt class="py-line"> <tt class="py-name">bloglist</tt> <tt class="py-op">=</tt> <tt class="py-name">results</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt><tt class="py-string">'blogs/blog'</tt><tt class="py-op">)</tt> </tt>
<a name="L21"></a><tt class="py-lineno">21</tt> <tt class="py-line"> <tt class="py-name">results</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L22"></a><tt class="py-lineno">22</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt><tt class="py-name">b</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">bloglist</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L23"></a><tt class="py-lineno">23</tt> <tt class="py-line"> <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
<a name="L24"></a><tt class="py-lineno">24</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'url'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt class="py-name">attrib</tt><tt class="py-op">[</tt><tt class="py-string">'url'</tt><tt class="py-op">]</tt> </tt>
<a name="L25"></a><tt class="py-lineno">25</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'requested_url'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name"><a title="pyechonest.artist.Artist.blogs" class="py-name" href="#" onclick="return doclink('link-8', 'blogs', 'link-4');">blogs</a></tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
<a name="L26"></a><tt class="py-lineno">26</tt> <tt class="py-line"> <tt id="link-9" class="py-name" targets="Method pyechonest.artist.Artist.terms()=pyechonest.artist.Artist-class.html#terms"><a title="pyechonest.artist.Artist.terms" class="py-name" href="#" onclick="return doclink('link-9', 'terms', 'link-9');">terms</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
<a name="L27"></a><tt class="py-lineno">27</tt> <tt class="py-line"> <tt class="py-keyword">for</tt> <tt class="py-name">term</tt> <tt class="py-keyword">in</tt> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt><tt class="py-string">'terms'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
<a name="L28"></a><tt class="py-lineno">28</tt> <tt class="py-line"> <tt class="py-name">score</tt> <tt class="py-op">=</tt> <tt class="py-name">term</tt><tt class="py-op">.</tt><tt class="py-name">attrib</tt><tt class="py-op">[</tt><tt class="py-string">'score'</tt><tt class="py-op">]</tt> </tt>
<a name="L29"></a><tt class="py-lineno">29</tt> <tt class="py-line"> <tt id="link-10" class="py-name" targets="Variable pyechonest.artist.Artist.name=pyechonest.artist.Artist-class.html#name,Variable pyechonest.track.Track.name=pyechonest.track.Track-class.html#name"><a title="pyechonest.artist.Artist.name
pyechonest.track.Track.name" class="py-name" href="#" onclick="return doclink('link-10', 'name', 'link-10');">name</a></tt> <tt class="py-op">=</tt> <tt class="py-name">term</tt><tt class="py-op">.</tt><tt id="link-11" class="py-name" targets="Method echonest.support.midi.MidiOutFile.MidiOutFile.text()=echonest.support.midi.MidiOutFile.MidiOutFile-class.html#text,Method echonest.support.midi.MidiOutStream.MidiOutStream.text()=echonest.support.midi.MidiOutStream.MidiOutStream-class.html#text,Method echonest.support.midi.MidiToText.MidiToText.text()=echonest.support.midi.MidiToText.MidiToText-class.html#text"><a title="echonest.support.midi.MidiOutFile.MidiOutFile.text
echonest.support.midi.MidiOutStream.MidiOutStream.text
echonest.support.midi.MidiToText.MidiToText.text" class="py-name" href="#" onclick="return doclink('link-11', 'text', 'link-11');">text</a></tt> </tt>
<a name="L30"></a><tt class="py-lineno">30</tt> <tt class="py-line"> <tt id="link-12" class="py-name"><a title="pyechonest.artist.Artist.terms" class="py-name" href="#" onclick="return doclink('link-12', 'terms', 'link-9');">terms</a></tt><tt class="py-op">.</tt><tt id="link-13" class="py-name"><a title="echonest.audio.AudioData.append" class="py-name" href="#" onclick="return doclink('link-13', 'append', 'link-5');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt id="link-14" class="py-name"><a title="pyechonest.artist.Artist.name
pyechonest.track.Track.name" class="py-name" href="#" onclick="return doclink('link-14', 'name', 'link-10');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">score</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
<a name="L31"></a><tt class="py-lineno">31</tt> <tt class="py-line"> <tt class="py-name">result</tt><tt class="py-op">[</tt><tt class="py-string">'terms'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name"><a title="pyechonest.artist.Artist.terms" class="py-name" href="#" onclick="return doclink('link-15', 'terms', 'link-9');">terms</a></tt> </tt>
<a name="L32"></a><tt class="py-lineno">32</tt> <tt class="py-line"> <tt class="py-name">results</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name"><a title="echonest.audio.AudioData.append" class="py-name" href="#" onclick="return doclink('link-16', 'append', 'link-5');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
<a name="L33"></a><tt class="py-lineno">33</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">results</tt> </tt>
</div><a name="L34"></a><tt class="py-lineno">34</tt> <tt class="py-line"> </tt>
<a name="L35"></a><tt class="py-lineno">35</tt> <tt class="py-line"><tt class="py-keyword">if</tt> <tt class="py-name">__name__</tt> <tt class="py-op">==</tt> <tt class="py-string">"__main__"</tt><tt class="py-op">:</tt> </tt>
<a name="L36"></a><tt class="py-lineno">36</tt> <tt class="py-line"> <tt id="link-17" class="py-name" targets="Function pyechonest.fanalytics.get_blog_terms()=pyechonest.fanalytics-module.html#get_blog_terms"><a title="pyechonest.fanalytics.get_blog_terms" class="py-name" href="#" onclick="return doclink('link-17', 'get_blog_terms', 'link-17');">get_blog_terms</a></tt><tt class="py-op">(</tt><tt id="link-18" class="py-name"><a title="pyechonest.artist.Artist.blogs" class="py-name" href="#" onclick="return doclink('link-18', 'blogs', 'link-4');">blogs</a></tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'http://music.for-robots.com'</tt><tt class="py-op">,</tt> <tt class="py-string">'http://fluxblog.org'</tt><tt class="py-op">,</tt> </tt>
<a name="L37"></a><tt class="py-lineno">37</tt> <tt class="py-line"> <tt class="py-string">'http://echonest.com'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
<a name="L38"></a><tt class="py-lineno">38</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
</script>
</pre>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://code.google.com/p/echo-nest-remix/">The Echo Nest Remix API, SVN Revision: 448</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Wed May 26 12:18:04 2010
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them. So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
Something went wrong with that request. Please try again.