some more fixes. almost ready for testing?

This commit is contained in:
dreamer 2020-09-22 13:14:56 +02:00
parent 0dbd400227
commit 034fa82dc5
3 changed files with 28 additions and 15 deletions

View File

@ -27,8 +27,9 @@ app:match("/spl/:station", function(self)
-- info_url=%U1&
-- img_url=%U2&
-- 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 --
@ -57,9 +58,10 @@ app:match("/spl/:station", function(self)
local release_country = self.params.country
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 result = {}
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
@ -68,9 +70,11 @@ app:match("/spl/:station", function(self)
return result
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_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
-- 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
print("new track artist")
track_artist = models.TrackArtists:create({
track_artist = models.Trackartists:create({
track=track["id"],
artist=artist["id"]
})
end
-- airtime
local airtime = models.Airtimes:create({
local airtime = models.Airtimes:find({
airtime = db.format_date(airtime_stamp),
tracks = track["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
if release_name.len() > 0 then
if release_name:len() > 0 then
release = models.Releases:find({ name=release_name })
if not release then
print("new release: " .. release_name)
@ -140,9 +153,9 @@ app:match("/spl/:station", function(self)
print("old release.")
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
track_release = models.TrackReleases:create({ track=track["id"], release=release["id"] })
track_release = models.Trackreleases:create({ track=track["id"], release=release["id"] })
end
else

View File

@ -1,7 +1,7 @@
local Model = require("lapis.db.model").Model
-- track_artists
local TrackArtists = Model:extend("track_artists", {
local Trackartists = Model:extend("track_artists", {
timestamp = true,
relations = {
{"track", belongs_to = "Tracks"},
@ -9,4 +9,4 @@ local TrackArtists = Model:extend("track_artists", {
}
})
return TrackArtists
return Trackartists

View File

@ -1,7 +1,7 @@
local Model = require("lapis.db.model").Model
-- track_releases
local TrackReleases = Model:extend("track_releases", {
local Trackreleases = Model:extend("track_releases", {
timestamp = true,
relations = {
{"track", belongs_to = "Tracks"},
@ -9,4 +9,4 @@ local TrackReleases = Model:extend("track_releases", {
}
})
return TrackReleases
return Trackreleases