some more fixes. almost ready for testing?
This commit is contained in:
parent
0dbd400227
commit
034fa82dc5
35
code/app.lua
35
code/app.lua
@ -27,8 +27,9 @@ app:match("/spl/:station", function(self)
|
|||||||
-- info_url=%U1&
|
-- info_url=%U1&
|
||||||
-- img_url=%U2&
|
-- img_url=%U2&
|
||||||
-- time=%h&
|
-- time=%h&
|
||||||
|
-- date=%d&
|
||||||
|
|
||||||
-- artist_name=%a&track_name=%t&release_name=%Tlabel=%L&year=%Y&country=%O&info_url=%U1&img_url=%U2&time=%h&
|
-- artist_name=%a&track_name=%t&release_name=%Tlabel=%L&year=%Y&country=%O&info_url=%U1&img_url=%U2&time=%h&date=%d&
|
||||||
|
|
||||||
-- ----- --
|
-- ----- --
|
||||||
-- setup --
|
-- setup --
|
||||||
@ -57,9 +58,10 @@ app:match("/spl/:station", function(self)
|
|||||||
local release_country = self.params.country
|
local release_country = self.params.country
|
||||||
local release_label = self.params.label
|
local release_label = self.params.label
|
||||||
|
|
||||||
local airtime_spl = self.params.time
|
local airtime = self.params.time
|
||||||
|
local airdate = self.params.date
|
||||||
|
|
||||||
-- we have to split the `hr:min:sec` string from SPL
|
-- we have to split the `hr:min:sec` and `month/day/year` strings from SPL
|
||||||
local function Split(s, delimiter)
|
local function Split(s, delimiter)
|
||||||
local result = {}
|
local result = {}
|
||||||
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
|
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
|
||||||
@ -68,9 +70,11 @@ app:match("/spl/:station", function(self)
|
|||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
local split_airtime = Split(airtime_spl, ":")
|
local split_airtime = Split(airtime, ":")
|
||||||
local airtime_hr, airtime_min, airtime_sec = split_airtime[1], split_airtime[2], split_airtime[3]
|
local airtime_hr, airtime_min, airtime_sec = split_airtime[1], split_airtime[2], split_airtime[3]
|
||||||
local airtime_stamp = os.time{year=os.date("%Y"), month=os.date("%m"), day=os.date("%d"), hour=airtime_hr, min=airtime_min, sec=airtime_sec}
|
local split_airdate = Split(airdate, "/")
|
||||||
|
local airdate_month, airdate_day, airdate_year = split_airdate[1], split_airdate[2], split_airdate[3]
|
||||||
|
local airtime_stamp = os.time{year=airdate_year, month=airdate_month, day=airdate_day, hour=airtime_hr, min=airtime_min, sec=airtime_sec}
|
||||||
|
|
||||||
|
|
||||||
-- ------- --
|
-- ------- --
|
||||||
@ -108,24 +112,33 @@ app:match("/spl/:station", function(self)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- track_artist
|
-- track_artist
|
||||||
local track_artist = models.TrackArtists:find({ track=track["id"], artist=artist["id"] })
|
local track_artist = models.Trackartists:find({ track=track["id"], artist=artist["id"] })
|
||||||
if not track_artist then
|
if not track_artist then
|
||||||
print("new track artist")
|
print("new track artist")
|
||||||
track_artist = models.TrackArtists:create({
|
track_artist = models.Trackartists:create({
|
||||||
track=track["id"],
|
track=track["id"],
|
||||||
artist=artist["id"]
|
artist=artist["id"]
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
-- airtime
|
-- airtime
|
||||||
local airtime = models.Airtimes:create({
|
local airtime = models.Airtimes:find({
|
||||||
airtime = db.format_date(airtime_stamp),
|
airtime = db.format_date(airtime_stamp),
|
||||||
tracks = track["id"],
|
tracks = track["id"],
|
||||||
stations = station["id"]
|
stations = station["id"]
|
||||||
})
|
})
|
||||||
|
if not airtime then
|
||||||
|
airtime = models.Airtimes:create({
|
||||||
|
airtime = db.format_date(airtime_stamp),
|
||||||
|
tracks = track["id"],
|
||||||
|
stations = station["id"]
|
||||||
|
})
|
||||||
|
else
|
||||||
|
print("already have this airtime! wtf??")
|
||||||
|
end
|
||||||
|
|
||||||
-- release
|
-- release
|
||||||
if release_name.len() > 0 then
|
if release_name:len() > 0 then
|
||||||
release = models.Releases:find({ name=release_name })
|
release = models.Releases:find({ name=release_name })
|
||||||
if not release then
|
if not release then
|
||||||
print("new release: " .. release_name)
|
print("new release: " .. release_name)
|
||||||
@ -140,9 +153,9 @@ app:match("/spl/:station", function(self)
|
|||||||
print("old release.")
|
print("old release.")
|
||||||
end
|
end
|
||||||
|
|
||||||
local track_release = models.TrackReleases:find({ track=track["id"], release=release["id"] })
|
local track_release = models.Trackreleases:find({ track=track["id"], release=release["id"] })
|
||||||
if not track_release then
|
if not track_release then
|
||||||
track_release = models.TrackReleases:create({ track=track["id"], release=release["id"] })
|
track_release = models.Trackreleases:create({ track=track["id"], release=release["id"] })
|
||||||
end
|
end
|
||||||
|
|
||||||
else
|
else
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
local Model = require("lapis.db.model").Model
|
local Model = require("lapis.db.model").Model
|
||||||
|
|
||||||
-- track_artists
|
-- track_artists
|
||||||
local TrackArtists = Model:extend("track_artists", {
|
local Trackartists = Model:extend("track_artists", {
|
||||||
timestamp = true,
|
timestamp = true,
|
||||||
relations = {
|
relations = {
|
||||||
{"track", belongs_to = "Tracks"},
|
{"track", belongs_to = "Tracks"},
|
||||||
@ -9,4 +9,4 @@ local TrackArtists = Model:extend("track_artists", {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
return TrackArtists
|
return Trackartists
|
||||||
@ -1,7 +1,7 @@
|
|||||||
local Model = require("lapis.db.model").Model
|
local Model = require("lapis.db.model").Model
|
||||||
|
|
||||||
-- track_releases
|
-- track_releases
|
||||||
local TrackReleases = Model:extend("track_releases", {
|
local Trackreleases = Model:extend("track_releases", {
|
||||||
timestamp = true,
|
timestamp = true,
|
||||||
relations = {
|
relations = {
|
||||||
{"track", belongs_to = "Tracks"},
|
{"track", belongs_to = "Tracks"},
|
||||||
@ -9,4 +9,4 @@ local TrackReleases = Model:extend("track_releases", {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
return TrackReleases
|
return Trackreleases
|
||||||
Loading…
Reference in New Issue
Block a user