Newer
Older
KSPR / mss.rb
#!/usr/bin/env ruby
# coding: utf-8

require 'cgi'
require_relative 'msd'

cgi = CGI.new(:accept_charset => "UTF-8")
puts "Content-type: text/html\n\n"

genre = cgi['genre']
mood = cgi['mood']
year_start = cgi['year_start']
year_end = cgi['year_end']

results = MUSIC_DATA.select do |song|
  (genre.empty? || song[:genre] == genre) &&
    (mood.empty? || song[:mood] == mood) &&
    (year_start.empty? || song[:year].to_i >= year_start.to_i) &&
    (year_end.empty? || song[:year].to_i <= year_end.to_i)
end

puts <<-HTML
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>検索結果</title>
    <link rel="stylesheet" href="mss.css">
</head>
<body>
<h1>音楽検索結果</h1>
HTML

if results.empty?
  puts "<p>すみません。該当する曲が見つかりませんでした。</p>"
else
  puts "<h2>検索結果</h2>"
  puts "<ul>"
  results.each do |song|
    puts "<li>#{song[:title]} - #{song[:artist]} (#{song[:year]})</li>"
  end
  puts "</ul>"
end

puts <<-HTML
<br>
<a href="mss.html">戻る</a>
</body>
</html>
HTML