From 034fa82dc5af6fda2bb44889f03a939ca8bfd8db Mon Sep 17 00:00:00 2001 From: dreamer Date: Tue, 22 Sep 2020 13:14:56 +0200 Subject: [PATCH] some more fixes. almost ready for testing? --- code/app.lua | 35 ++++++++++++++++++++++++----------- code/models/trackartists.lua | 4 ++-- code/models/trackreleases.lua | 4 ++-- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/code/app.lua b/code/app.lua index 255d3e8..b6ad9e2 100644 --- a/code/app.lua +++ b/code/app.lua @@ -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 diff --git a/code/models/trackartists.lua b/code/models/trackartists.lua index d962431..dde8796 100644 --- a/code/models/trackartists.lua +++ b/code/models/trackartists.lua @@ -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 \ No newline at end of file +return Trackartists \ No newline at end of file diff --git a/code/models/trackreleases.lua b/code/models/trackreleases.lua index 53609ec..bc1a0bf 100644 --- a/code/models/trackreleases.lua +++ b/code/models/trackreleases.lua @@ -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 \ No newline at end of file +return Trackreleases \ No newline at end of file