Archived
4
2

Compare commits

...

2 Commits

Author SHA1 Message Date
Dave Morriss
097b50b30b Next free slot algorithm now in TT² form
templates/content-index.tpl.html: Now contains TT² code and an in-built
    query to determine the next free slot. No need for an external
    query. Old code that used to use this has been deleted.

templates/queries-index-mysql.tpl.html,
templates/queries-index-sqlite.tpl.html: Old queries called
    'query_next_available_episode' removed since no longer needed.
2023-10-29 17:32:02 +00:00
Dave Morriss
8325b2c0d1 Unwanted items commented out 2023-10-29 17:28:04 +00:00
3 changed files with 20 additions and 71 deletions

View File

@ -11,15 +11,15 @@
<!--% img_re = '(?six)^(.*?)\<img ([^\>]+\>)(.+)$' %-->
<!--% lazy_re = '(?i)loading="lazy"' %-->
<!--% WHILE (matches = lines.match(img_re)) %-->
<!--% img_tag = matches.1 %-->
<!--% after_html = matches.2 %-->
<!--% matches.0 %-->
<!--% IF (img_tag.search(lazy_re)) %-->
<!--% img_tag = matches.1 %-->
<!--% after_html = matches.2 %-->
<!--% matches.0 %-->
<!--% IF (img_tag.search(lazy_re)) %-->
<img <!--% img_tag %-->
<!--% ELSE %-->
<!--% ELSE %-->
<img loading="lazy" <!--% img_tag %-->
<!--% END %-->
<!--% lines = after_html %-->
<!--% END %-->
<!--% lines = after_html %-->
<!--% END %-->
<!--% after_html %-->
<!--% END %-->
@ -30,13 +30,22 @@
</header>
<!--% days_till_next_episode = 0 %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% FOREACH next_available_episode_result IN DBI.query(query_next_available_episode) %-->
<!--% days_till_next_episode = next_available_episode_result.delta_days %-->
<!--% END %-->
<!--% USE date %-->
<!--% calc = date.calc %-->
<!--% episodes = DBI.query("SELECT id, date FROM eps WHERE date >= date('now') ORDER BY id").get_all() %-->
<!--% ind = episodes.0.id %-->
<!--% FOREACH ep IN episodes %-->
<!--% LAST IF ep.id != ind %-->
<!--% last_date = ep.date.split('-') %-->
<!--% ind = ind+1 %-->
<!--% END %-->
<!--% offset = (calc.Day_of_Week(last_date.0,last_date.1,last_date.2) == 5 ? 3 : 1) %-->
<!--% slot_date = calc.Add_Delta_Days(last_date.0,last_date.1,last_date.2,offset) %-->
<!--% now = calc.Today() %-->
<!--% days_till_next_episode = calc.Delta_Days(now.0,now.1,now.2,slot_date.0,slot_date.1,slot_date.2) %-->
<!--% delta = date.calc.N_Delta_YMD(2005,9,19, date.format(date.now, '%Y'),date.format(date.now, '%m'),date.format(date.now, '%d')) %-->
<p>We started producing shows as <a href="<!--% absolute_path(baseurl) %-->eps/index.html#twat_episodes"><em>Today with a Techie</em></a> on 2005-09-19, <!--% delta.0 %--> years, <!--% delta.1 %--> months, <!--% delta.2 %--> days ago. our shows are produced by <a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">listeners</a> like you and can be on any <a href="<!--% absolute_path(baseurl) %-->eps/index.html">topic</a> that <strong>"are of interest to <a href="https://en.wikipedia.org/wiki/hacker_(hobbyist)">hackers</a>"</strong>. If you listen to HPR then please consider contributing one show a year. if you <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">record</a> your show now it could be <a href="<!--% hub_baseurl %-->calendar.php">released</a> in <strong><!--% days_till_next_episode %--></strong> days.</p>
<p>We started producing shows as <a href="<!--% absolute_path(baseurl) %-->eps/index.html#twat_episodes"><em>Today with a Techie</em></a> on 2005-09-19, <!--% delta.0 %--> years, <!--% delta.1 %--> months, <!--% delta.2 %--> days ago. Our shows are produced by <a href="<!--% absolute_path(baseurl) %-->correspondents/index.html">listeners</a> like you and can be on any <a href="<!--% absolute_path(baseurl) %-->eps/index.html">topics</a> that <strong>"are of interest to <a href="https://en.wikipedia.org/wiki/hacker_(hobbyist)">hackers</a>"</strong>. If you listen to HPR then please consider contributing one show a year. If you <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">record</a> your show now it could be <a href="<!--% hub_baseurl %-->calendar.php">released</a> in <strong><!--% days_till_next_episode %--></strong> days.</p>
</article>
<!--% display_call_for_shows() %-->
<hr>

View File

@ -1,33 +1,3 @@
<!--% query_next_available_episode = '
WITH RECURSIVE
min_id AS (
SELECT max(id) AS start_id FROM eps WHERE date <= NOW()
),
max_id AS (
SELECT max(id) AS end_id FROM eps
),
cnt(x) AS (
SELECT start_id from min_id
UNION ALL
SELECT x+1 FROM cnt
WHERE x+1 <= (SELECT end_id FROM max_id)
),
first_empty AS (
SELECT
cnt.x AS id
FROM cnt
LEFT JOIN eps e ON cnt.x = e.id
WHERE e.id IS NULL
)
SELECT
fe.id as next_id,
(SELECT DATE(ADDDATE(e2.date,1)) from eps e2 where e2.id = fe.id-1) as next_date,
DATEDIFF((SELECT ADDDATE(e3.date,1) from eps e3 where e3.id = fe.id-1),now()) AS delta_days
FROM first_empty AS fe
LEFT JOIN eps e1 ON fe.id = e1.id
LIMIT 1
'
%-->
<!--% query_latest_episodes = '
WITH comment_tallies AS (
SELECT

View File

@ -1,33 +1,3 @@
<!--% query_next_available_episode = '
WITH RECURSIVE
min_id AS (
SELECT max(id) AS start_id FROM eps WHERE date <= date(\'now\')
),
max_id AS (
SELECT max(id) AS end_id FROM eps
),
cnt(x) AS (
SELECT start_id from min_id
UNION ALL
SELECT x+1 FROM cnt
WHERE x+1 <= (SELECT end_id FROM max_id)
),
first_empty AS (
SELECT
cnt.x AS id
FROM cnt
LEFT JOIN eps e ON cnt.x = e.id
WHERE e.id IS NULL
)
SELECT
fe.id as next_id,
(SELECT date(eps.date,\'+1 day\') from eps where id = fe.id-1) as next_date,
printf(\'%i\',abs(julianday((SELECT date(eps.date,\'+1 day\') from eps where id = fe.id-1)) - julianday(\'now\') + 1)) AS delta_days
FROM first_empty AS fe
LEFT JOIN eps e ON fe.id = e.id
LIMIT 1
'
%-->
<!--% query_latest_episodes = '
WITH comment_tallies AS (
SELECT