Merge branch 'master' of github.com:magnolia-fan/BeatHaven

Conflicts:
	rails/app/views/artist/view.rhtml
	rails/config/routes.rb
	rails/public/stylesheets/beathaven.css
This commit is contained in:
Hipster Hitman
2011-04-09 17:31:13 +04:00
36 changed files with 743 additions and 18891 deletions
+6 -1
View File
@@ -2,7 +2,12 @@
class ArtistController < ApplicationController
require 'open-uri'
def view
@artist = Artist.getByName(params[:name].gsub('+', ' ').gsub('%20', ' '))
if params[:name].nil?
name = ''
else
name = params[:name].gsub('+', ' ').gsub('%20', ' ')
end
@artist = Artist.getByName(name)
end
end
+13
View File
@@ -0,0 +1,13 @@
class TrackController < ApplicationController
require 'net/http'
require 'uri'
def listen
render :json => YAML.load_file("#{RAILS_ROOT}/config/vk_accounts.yml")
end
private
def fetchSearch q
end
end
+2
View File
@@ -0,0 +1,2 @@
module TrackHelper
end
+19
View File
@@ -0,0 +1,19 @@
module Vkontakte
@@accounts = YAML.load_file("#{RAILS_ROOT}/config/vk_accounts.yml")
def get artist, track, length
end
def getHtml q
end
def parseHtml html
end
def calcWeight files
end
end
+30
View File
@@ -1,5 +1,35 @@
# encoding: UTF-8
class Album < ActiveRecord::Base
set_table_name 'musicbrainz.bh_release_group'
belongs_to :artist
has_many :releases, :conditions => "release_type = 1", :order => 'date ASC, id ASC'
require 'iconv'
def cover artist
covers = AlbumPic.where(album_id: id)
unless covers.empty?
covers.first.extralarge
else
q_artist = CGI::escape(artist)
q_album = CGI::escape(name)
path = open(
'http://ws.audioscrobbler.com/2.0/' <<
'?method=album.getinfo' <<
'&api_key=04fda005dbf61a50af5abc3e90f111f2' <<
'&artist=' << q_artist <<
'&album=' << q_album
).read
m = path.scan(/<image\ssize=\"(.*)\">(.*)<\/image>/i)
AlbumPic.new(
album_id: id,
small: m[0][1],
medium: m[1][1],
large: m[2][1],
extralarge: m[3][1],
mega: m[4][1]
)
m[3][1]
end
end
end
+11
View File
@@ -0,0 +1,11 @@
class AlbumPic
include Mongoid::Document
store_in :album_pics
key :album_id, Integer
key :small, String
key :medium, String
key :large, String
key :extralarge, String
key :mega, String
end
+2 -6
View File
@@ -2,11 +2,7 @@ class Track < ActiveRecord::Base
set_table_name 'musicbrainz.bh_track'
belongs_to :release
def convertLength
(length /= 1000).round!
end
def clearName
name.gsub('&', 'and').gsub(/[^a-z0-9]/, '').downcase
def inDb
! TrackData.where(id: id.to_s).empty?
end
end
+10
View File
@@ -0,0 +1,10 @@
class TrackData
include Mongoid::Document
store_in :track_data
key :id, Integer
key :artist, String
key :title, String
key :length, Integer
key :files, Array
end
+3 -3
View File
@@ -8,7 +8,7 @@
<% @artist.albums.each do |album| %>
<% unless album.releases.empty? %>
<div class="album">
<div class="pic"></div>
<div class="pic"><img src="<%= album.cover(@artist.name) %>" width="250" height="250" alt=""/></div>
<h3 class="name"><%= album.name %> <%= (album.year ? album.year : '') %></h3>
<%
releases = album.releases
@@ -16,8 +16,8 @@
%>
<ul class="tracks">
<% first_release.tracks.each do |track| %>
<li>
<span class="play"></span>
<li id="<%= track.id %>">
<span class="play<%= (track.inDb ? '' : ' disabled') %>"></span>
<span class="track-name"><%= track.name %></span>
<span class="duration"><%= track.length.toTime %></span>
</li>
+7 -1
View File
@@ -3,12 +3,18 @@
<head>
<title>BeatHaven</title>
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag :defaults %>
<%= javascript_include_tag :all %>
<%= csrf_meta_tag %>
</head>
<body>
<div id="contents">
<div class="inner-1">
<div id="player">
<span id="artist"></span>
<span id="dash"> - </span>
<span id="title"></span>
<audio controls preload style="width:1000px;"></audio>
</div>
<%= yield %>
</div>
</div>