Skip to content

Instantly share code, notes, and snippets.

View metade's full-sized avatar

Patrick Sinclair metade

View GitHub Profile
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Feature</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Pragma" content="no-cache" />
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>bbc.introducing</groupId>
<artifactId>peel</artifactId>
<packaging>war</packaging>
<version>1.0.0-SNAPSHOT</version>
<url>https://dev.bbc.co.uk/maven/sites/peel</url>
require 'rubygems'
require 'bbc_standards'
require 'sqlite_cache'
require 'open-uri'
require 'rubigraph'
include Rubigraph
Rubigraph.init
class Crawler
require 'rubygems'
require 'mysql'
sql = %[
select b.pid, b.title as brand_title, c.musicbrainz_gid as mbid, c.name as artist_name, count(DISTINCT se.id) as 'plays'
FROM contributors c
JOIN segments s ON s.primary_contributor_id = c.id
JOIN segment_events se ON se.segment_id = s.id
JOIN versions v ON se.version_id = v.id
JOIN broadcasts br ON v.id = br.version_id
/:service/programmes/segments # n most played segments
/:service/programmes/segments/player # n most played segments available in iplayer
/:service/programmes/segments/latest # latest n segments
/programmes/:brand_pid/segments
/programmes/:brand_pid/segments/player
/programmes/:brand_pid/segments/latest
/:service/programmes/genres/music/:genre/segments
/:service/programmes/genres/music/:genre/segments/player
class Point
attr_accessor :x, :y
def initialize(x, y)
@x, @y = x, y
end
end
ENTRY_COUNT = 40
INCREMENT = 0.01
<!--#config timefmt="%Y" --><!--#set var="time_year" value="${DATE_LOCAL}" -->
<!--#config timefmt="%j" --><!--#set var="time_day" value="${DATE_LOCAL}" -->
<!--#config timefmt="%H" --><!--#set var="time_hour" value="${DATE_LOCAL}" -->
<!--#config timefmt="%M" --><!--#set var="time_min" value="${DATE_LOCAL}" -->
<!--#func var="time_year_m" func="mult" value="${time_year}" value="525948" -->
<!--#func var="time_day_m" func="mult" value="${time_day}" value="1440" -->
<!--#func var="time_hour_m" func="mult" value="${time_hour}" value="60" -->
<!--#func var="time" func="add" value="${time_year_m}" value="${time_day_m}" value="${time_hour_m}" value="${time_min}"-->
<!--#config timefmt="%Y" --><!--#func var="modified_year" func="flastmod" virtual="/radio1/nowplaying/latest.sssi" -->
require 'rubygems'
require 'open-uri'
require 'hpricot'
require 'sqlite_cache'
$cache = SqliteCache.new('my_cache.db')
def copen(url)
$cache.do_cached(url) do
puts "fetching: #{url}"