1
0
forked from HPR/hpr_generator

Compare commits

..

16 Commits
main ... main

Author SHA1 Message Date
a8b205ed2c Typo reported to Archer72 2025-04-25 11:38:01 +00:00
013beca3c0 Merge pull request 'Issue #259 - Remove MySQL specific code from site generation code' (#261) from paulj/hpr_generator:remove_mysql_code into main
Reviewed-on: HPR/hpr_generator#261
Reviewed-by: Roan Horning <rho_n@josh@dao-mail.com>
2025-04-07 16:47:15 +00:00
86e1d73085 Remove MySQL specific code from site generation code
- site-generator is generic, so no changes.
 - removed mysql information from site.cfg.
 - Updated template files to call sqlite queries directly.
 - Renamed the query files - remove sqlite from file names.
 - Deleted MySQL specific template files.
2025-04-04 10:28:31 +01:00
dcd05d0e9b Merge pull request 'Update donation URL for AnHonestHost' (#258) from i254-Update_AnHonestHost_donation_link into main
Reviewed-on: HPR/hpr_generator#258
2025-03-18 03:08:01 +00:00
6d59372077
Update donation URL for AnHonestHost 2025-03-17 23:04:47 -04:00
beb5814d5d Merge pull request 'I256 maillist in the footer expands to current path' (#257) from I256_maillist_in_the_footer_expands_to_current_path into main
Reviewed-on: HPR/hpr_generator#257
2025-03-16 12:34:37 +00:00
6c7712be71 Fixed link to mail list 2025-03-16 13:33:42 +01:00
Ken Fallon
09f69164d0 Merge pull request 'Remove notes from the home page' (#255) from I253_Remove_the_shownotes_from_the_main_landing_page_again into main
Reviewed-on: https://127.0.0.1:3000/HPR/hpr_generator/pulls/255
2025-02-10 16:09:56 +00:00
bf7178b79f Remove notes from the home page 2025-02-10 16:16:39 +01:00
Ken Fallon
c4e875548c revert b1afd4fda8ac2eb2b39cf6fc98a84c021109b971
revert Removed the shownotes from the homepage
2025-02-10 13:53:58 +00:00
ed85c81396 Image for Shane 2025-02-09 22:36:06 +01:00
6f8c5c7141 Image for Sem Luz em Saint Louis 2025-02-09 21:45:57 +01:00
Ken Fallon
0ebc67addb Merge pull request 'I248 - Name of database update utility updated in GETTING_STARTED.md' (#247) from paulj/hpr_generator:getting-started-update into main
Reviewed-on: HPR/hpr_generator#247
2025-02-04 08:43:13 +00:00
Ken Fallon
808386bccc Merge pull request 'fix entity escape for xml data' (#252) from rho_n/hpr_generator_dev:i232_Comments-feed-not-producing-valid-xml into main
Reviewed-on: HPR/hpr_generator#252
2025-01-29 08:10:53 +00:00
28af8900a3 fix entity escape for xml data
For title and other xml data replace &, <, >, ', and " with
corresponding escape entities. Also use http_baseurl so
complete urls will be generated.
2025-01-27 22:26:32 -05:00
65e6464add Name change on database update utility reflected in GETTING_STARTED.md 2025-01-26 21:58:13 +00:00
45 changed files with 44 additions and 301 deletions

View File

@ -95,11 +95,11 @@ program which creates the hpr.db file:
`./utils/mysql2sqlite ./hpr-sqlite.sql | sqlite3 ./hpr.db`
For convenience, the update-sqlite-db.sh script in the utils directory
For convenience, the update-hpr-db.sh script in the utils directory
automates the above steps (including downloading the hpr.sql file).
From the root of the local hpr_generator repository run:
`./utils/update-sqlite-db.sh`
`./utils/update-hpr-db.sh`
# Configure the site-generator

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -7,13 +7,6 @@
# Configuration settings for SQLite
database: sqlite
driver: dbi:SQLite:hpr.db
#user: (not used - leave blank)
#password: (not used - leave blank)
# Configuration settings for MySQL
#database: mysql
#driver: dbi:mysql:database=hpr_hpr:hostname=localhost
#user: hpr-generator (Suggested user with read-only privileges)
#password: ********* (Password for user)
# Configure the location of the templates and the generated HTML
[app_paths]

View File

@ -80,7 +80,7 @@
<p>
Our hosting is kindly provided by <a href="<!--% absolute_url(baseurl) %-->correspondents/0174.html">Josh</a> from
<a href="https://anhonesthost.com/shared-hosting/">AnHonestHost.com</a>.
We would appreciate it if you could <a href="https://secure.anhonesthost.com/cart.php?gid=17">donate</a> to help
We would appreciate it if you could <a href="https://secure.anhonesthost.com/store/hpr-hosting-cost-donations">donate</a> to help
reduce his costs in funding the hosting. He is also accepting bitcoins to <em>1KsxJr9HtsdaUeU7yaV9bk9bQi21UPBtUq</em>
</p>
<p>
@ -158,7 +158,7 @@
<h2 id="podcatcher_support">Podcatcher Support</h2>
<p>
Please report your experiences with our feeds to <!--% absolute_url(baseurl,'about.html#contact') %-->admin@hpr</a>.
Please report your experiences with our feeds to admin@hpr</a>.
</p>
<h2 id="other_ways_to_help">Other ways to help</h2>

View File

@ -1,8 +1,9 @@
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-listen-now.tpl.html' %-->
<!--% PROCESS "queries-episode-${constants.database}.tpl.html" %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% PROCESS "queries-episode.tpl.html" %-->
<!--% USE DBI(constants.driver) %-->
<h2>Comment Viewer</h2>
<p>Because of the spammers we have had to turn on comment moderation. Sorry about the delay this will cause.</p>
<p><a href="<!--% absolute_path(baseurl) %-->comments.rss">Subscribe</a> to the comment feed.</p>

View File

@ -1,8 +1,8 @@
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% PROCESS 'shared-avatar.tpl.html' %-->
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS "queries-correspondent-${constants.database}.tpl.html" %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% PROCESS "queries-correspondent.tpl.html" %-->
<!--% USE DBI(constants.driver) %-->
<!--% results_hpr_shows = DBI.prepare(query_hpr_shows)
%-->
<!--% results_hpr_show_count = DBI.prepare(query_hpr_show_count) %-->

View File

@ -3,7 +3,7 @@
<article>
<h2 class="title">Correspondents</h2>
<p>For more information on how to become a Correspondent see our <a href="<!--% absolute_url(baseurl) %-->about.html#so_you_want_to_record_a_podcast">contribute</a></center> page. To add a logo here, either email one to admin at hpr or setup your email on <a href="https://en.gravatar.com/">Gravatar</a>. To protect your browsing privacy we gather the images every hour and serve them directly from HPR.<p />
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% host_cnt = 0 %-->
<table class="hosts">
<th >Avatar</th>

View File

@ -3,7 +3,7 @@
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-listen-now.tpl.html' %-->
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
<!--% PROCESS "queries-episode-${constants.database}.tpl.html" %-->
<!--% PROCESS "queries-episode.tpl.html" %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% query_episodes = DBI.prepare(query_episode_maxmin) %-->
<!--% episode_result = query_episodes.execute(id, id, id, id, id) %-->

View File

@ -1,5 +1,5 @@
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% PROCESS "queries-episodes-${constants.database}.tpl.html" %-->
<!--% PROCESS "queries-episodes.tpl.html" %-->
<article>
<header>
<h1>Complete Archive of Shows.</h1>
@ -7,7 +7,7 @@
All this information is available to the public. Scrape if you wish but if we can format the data for you then we're happy to help.
</p>
</header>
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% FOREACH episodes IN DBI.query(query_episodes)
%-->
<!--% show_summary(episodes) %-->

View File

@ -4,7 +4,7 @@
<!--% PROCESS 'shared-show-transcript.tpl.html' %-->
<!--% PROCESS 'shared-call_for_shows.tpl.html' %-->
<!--% INCLUDE 'content-index-announcement.tpl.html' %-->
<!--% PROCESS "queries-index-${constants.database}.tpl.html" %-->
<!--% PROCESS "queries-index.tpl.html" %-->
<!--% MACRO tidy_notes(all_lines) BLOCK %-->
<!--% lines = all_lines %-->
<!--% after_html = all_lines %-->
@ -29,7 +29,7 @@
<h3>Welcome to HPR, the Community Podcast</h3>
</header>
<!--% days_till_next_episode = 0 %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% USE date %-->
<!--% calc = date.calc %-->
<!--% episodes = DBI.query(query_next_available_episode).get_all() %-->
@ -62,7 +62,7 @@
<!--% listen_now(latest_episodes, "hpr", baseurl, media_baseurl) %-->
</p>
</header>
<!--% tidy_notes(latest_episodes.notes) %-->
<p>See <a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(latest_episodes.id) %-->/index.html">episode show notes</a> for more information.</p>
</article>
<!--% host_cnt = host_cnt + 1 %-->
<!--% END %-->

View File

@ -1,7 +1,7 @@
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS "queries-series-${constants.database}.tpl.html" %-->
<!--% PROCESS "queries-series.tpl.html" %-->
<article>
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<h1 class="title">In-Depth Series</h1>
<!--% FOREACH series IN DBI.query(query_episodes) %-->
<h2><a href="<!--% absolute_path(baseurl) %-->series/<!--% zero_pad_left(series.id) %-->.html"><!--% series.name %--></a></h2>

View File

@ -1,7 +1,7 @@
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% PROCESS 'shared-avatar.tpl.html' %-->
<!--% PROCESS "queries-series_episodes-${constants.database}.tpl.html" %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% PROCESS "queries-series_episodes.tpl.html" %-->
<!--% USE DBI(constants.driver) %-->
<!--% query_series = DBI.prepare(query_series_sql)
%-->
<!--% series_result = query_series.execute(id) %-->

View File

@ -1,6 +1,6 @@
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS "queries-tags-${constants.database}.tpl.html" %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% PROCESS "queries-tags.tpl.html" %-->
<!--% USE DBI(constants.driver) %-->
<!--% PERL %-->
$Template::Stash::PRIVATE = undef; # Allow . in tag
<!--% END %-->

View File

@ -2,7 +2,7 @@
<!--% PROCESS 'shared-avatar.tpl.html' %-->
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-listen-now.tpl.html' %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% query_episodes = DBI.prepare('
WITH episode_maxmin AS (
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'

View File

@ -1,4 +1,4 @@
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% FOREACH host IN DBI.query(
'select h.hostid from hosts as h'
) %-->

View File

@ -1,5 +1,5 @@
<!--% PROCESS "queries-ids-episode-${constants.database}.tpl.html" %-->
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% PROCESS "queries-ids-episode.tpl.html" %-->
<!--% USE DBI(constants.driver) %-->
<!--% FOREACH episode IN DBI.query(query_ids_episode) %-->
,<!--% episode.id %-->
<!--% END %-->

View File

@ -1,4 +1,4 @@
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% FOREACH episode IN DBI.query(
'select eps.id from twat_eps AS eps'
) %-->

View File

@ -81,7 +81,7 @@
<nav class="column">
<h2>Social</h2>
<ul>
<li><a href="<!--% absolute_url(baseurl,'/maillist') %-->" >Mailing list</a></li>
<li><a href="https://lists.hackerpublicradio.com/mailman/listinfo/hpr" >Mailing list</a></li>
<li><a rel="me" href="https://infosec.exchange/@hpr" >Mastodon</a></li>
<li><a href="https://matrix.to/#/#hpr:matrix.org" >Matrix</a></li>
<li><a href="mumble://chatter.skyehaven.net:64738/Hacker%20Public%20Radio?version=1.2.0" >Mumble</a></li>

View File

@ -1,6 +0,0 @@
<!--% query_call_for_shows = '
SELECT CASE WHEN COUNT(id) < 6 THEN True ELSE False END AS `request_for_shows`
FROM eps
WHERE eps.date > NOW() AND eps.date <= DATE_ADD(NOW(), INTERVAL 10 DAY)
'
%-->

View File

@ -1,24 +0,0 @@
<!--% query_hpr_shows = '
SELECT
eps.id,
eps.explicit,
eps.date, eps.license, eps.duration,
eps.title, eps.summary, eps.tags,
eps.notes,
hosts.local_image,
hosts.hostid,
hosts.host, hosts.email, hosts.profile,
miniseries.name AS series, miniseries.id AS seriesid
FROM eps
INNER JOIN hosts ON eps.hostid = hosts.hostid
INNER JOIN miniseries ON eps.series = miniseries.id
WHERE hosts.hostid = ? AND eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
ORDER BY eps.id DESC
'
%-->
<!--% query_hpr_show_count = '
SELECT id
FROM eps
WHERE eps.hostid = ? AND eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
'
%-->

View File

@ -1,51 +0,0 @@
<!--% query_episode_maxmin = '
WITH episode_maxmin AS (
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'
FROM eps
WHERE eps.date <= UTC_DATE()
),
episode_date AS (
SELECT eps.date
FROM eps
WHERE eps.id = ?
),
episode_previous AS (
SELECT MAX(id) AS \'previous\', ? AS \'id\'
FROM eps
INNER JOIN episode_date
ON eps.date < episode_date.date
WHERE eps.id > 1
),
episode_next AS (
SELECT MIN(id) AS \'next\', ? AS \'id\'
FROM eps
INNER JOIN episode_date
ON eps.date > episode_date.date
WHERE eps.date <= NOW()
),
comment_tallies AS (
SELECT
eps_id,
COUNT(eps_id) AS eps_tally
FROM comments
GROUP BY eps_id
)
SELECT eps.id, eps.date, eps.title, eps.duration,
eps.summary, eps.notes, eps.explicit, eps.license,
eps.tags, eps.version, eps.downloads, eps.valid,
episode_maxmin.latest, episode_maxmin.earliest,
episode_previous.previous, episode_next.next,
hosts.hostid, hosts.host,
miniseries.name AS \'series\', miniseries.id AS \'seriesid\',
miniseries.description AS \'series_description\',
COALESCE (comment_tallies.eps_tally, 0) AS eps_tally
FROM eps
INNER JOIN hosts ON eps.hostid = hosts.hostid
INNER JOIN miniseries ON eps.series = miniseries.id
INNER JOIN episode_maxmin ON eps.id = episode_maxmin.id
INNER JOIN episode_previous ON eps.id = episode_previous.id
INNER JOIN episode_next ON eps.id = episode_next.id
LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id
WHERE eps.id = ?
'
%-->

View File

@ -1,15 +0,0 @@
<!--% query_episodes = 'SELECT
eps.id,
eps.explicit,
eps.date, eps.license, eps.title, eps.summary,
eps.duration, eps.notes, eps.tags,
hosts.hostid,
hosts.host, hosts.email, hosts.local_image,
miniseries.name AS series, miniseries.id AS seriesid
FROM eps
INNER JOIN hosts ON eps.hostid = hosts.hostid
INNER JOIN miniseries ON eps.series = miniseries.id
WHERE eps.date <= UTC_DATE()
ORDER BY eps.id DESC'
%-->

View File

@ -1,2 +0,0 @@
<!--% query_ids_episode = 'select eps.id from eps order by eps.id' %-->

View File

@ -1,58 +0,0 @@
<!--% query_next_available_episode = '
SELECT id, date FROM eps e WHERE id = (
SELECT id + 1 FROM eps mo
WHERE NOT EXISTS (
SELECT NULL
FROM eps mi
WHERE mi.id = mo.id + 1
)
ORDER BY id
LIMIT 1) - 1
'
%-->
<!--% query_latest_episodes = '
WITH comment_tallies AS (
SELECT
eps_id,
COUNT(eps_id) AS eps_tally
FROM comments
GROUP BY eps_id
)
SELECT
eps.id,
eps.explicit,
eps.date, eps.license, eps.duration,
eps.title, eps.summary, eps.tags,
eps.notes,
hosts.local_image,
hosts.hostid,
hosts.host, hosts.email,
miniseries.name AS series, miniseries.id AS seriesid,
COALESCE (comment_tallies.eps_tally, 0) AS eps_tally
FROM eps
INNER JOIN hosts ON eps.hostid = hosts.hostid
INNER JOIN miniseries ON eps.series = miniseries.id
LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id
WHERE eps.date <= UTC_DATE()
ORDER BY eps.id DESC
LIMIT 10
'
%-->
<!--% query_last_5_weeks_episodes = '
SELECT
eps.id,
eps.explicit,
eps.date, eps.license, eps.title, eps.summary,
eps.duration, eps.notes, eps.tags,
hosts.hostid,
hosts.host, hosts.email, hosts.local_image,
miniseries.name AS series, miniseries.id AS seriesid
FROM eps
INNER JOIN hosts ON eps.hostid = hosts.hostid
INNER JOIN miniseries ON eps.series = miniseries.id
WHERE eps.date <= UTC_DATE()
ORDER BY eps.id DESC
LIMIT 30 OFFSET 10
'
%-->

View File

@ -1,15 +0,0 @@
<!--% query_episodes = 'SELECT miniseries.id, miniseries.name, miniseries.description,
miniseries.private, miniseries.image, miniseries.valid,
ep.number_of_episodes, ep.latest_show, ep.earliest_show
FROM miniseries
INNER JOIN
(SELECT series,
COUNT(eps.id) AS number_of_episodes,
MAX(eps.date) AS latest_show,
MIN(eps.date) AS earliest_show
FROM eps
WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
GROUP BY series) AS ep ON ep.series = miniseries.id
ORDER BY name'
%-->

View File

@ -1,29 +0,0 @@
<!--% query_series_sql = 'SELECT miniseries.id, miniseries.name,
miniseries.description,
miniseries.private, miniseries.image, miniseries.valid,
ep.number_of_episodes, ep.latest_show, ep.earliest_show
FROM miniseries
INNER JOIN
(SELECT series,
COUNT(eps.id) AS number_of_episodes,
MAX(eps.date) AS latest_show,
MIN(eps.date) AS earliest_show
FROM eps
WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
GROUP BY series) AS ep ON ep.series = miniseries.id
WHERE miniseries.id = ?
ORDER BY name'
%-->
<!--% query_shows_sql = 'SELECT
id, date, title,
duration, summary, notes,
explicit, eps.license, tags,
hosts.host, hosts.hostid
FROM eps
INNER JOIN hosts
ON eps.hostid = hosts.hostid
WHERE series = ? AND eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
ORDER BY eps.id DESC
'
%-->

View File

@ -1 +0,0 @@
<!--% query_tags = 'SELECT id, tags FROM eps' %-->

View File

@ -3,9 +3,10 @@
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS 'shared-episode-summary.tpl.html' %-->
<!--% USE date %-->
<!--% USE HTML.Strip emit_spaces = 0 %-->
<channel>
<title>Hacker Public Radio ~ Comment Feed</title>
<link><!--% baseurl %-->about.html</link>
<link><!--% absolute_url(http_baseurl) %-->about.html</link>
<description>Comments Feed: Hacker Public Radio is a podcast that releases shows every weekday Monday through Friday. Our shows are produced by the community (you) and can be on any topic that is of interest to hackers and hobbyists.</description>
<language>en-us</language>
<copyright>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License</copyright>
@ -15,15 +16,15 @@
<docs>https://www.rssboard.org/rss-specification</docs>
<ttl>600</ttl>
<image>
<url><!--% baseurl %-->images/hpr_feed_small.png</url>
<url><!--% absolute_url(http_baseurl) %-->images/hpr_feed_small.png</url>
<title>Hacker Public Radio ~ Comment Feed</title>
<link><!--% baseurl %-->about.html</link>
<link><!--% absolute_url(http_baseurl) %-->about.html</link>
<description>The Hacker Public Radio Old Microphone Logo</description>
<height>164</height>
<width>144</width>
</image>
<atom:link href="<!--% baseurl %-->comments.rss" rel="self" type="application/rss+xml" />
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<atom:link href="<!--% absolute_url(http_baseurl) %-->comments.rss" rel="self" type="application/rss+xml" />
<!--% USE DBI(constants.driver) %-->
<!--% FOREACH response IN DBI.query('SELECT max( comment_timestamp) AS latest_update FROM comments') %-->
<pubDate><!--% format_feed_date(response.latest_update) %--></pubDate>
@ -49,15 +50,15 @@
%-->
<item>
<title><!--% item.comment_author_name %--> says: <!--% item.comment_title %--></title>
<author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name %-->)</author>
<link><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
<title><!--% item.comment_author_name | html_strip | xml_entity %--> says: <!--% item.comment_title | html_strip | xml_entity %--></title>
<author>feedback.nospam@nospam.hackerpublicradio.org (<!--% item.comment_author_name | html_strip | xml_entity %-->)</author>
<link><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comments</link>
<description><![CDATA[<strong>
RE: hpr<!--% zero_pad_left(item.eps_id) %-->::<!--% item.episode_date %--> <em><!--% item.episode_title %--></em> by <a href="<!--% baseurl %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a></strong><!--% rss_show_series(item.series_name, item.series_id) %--><br />
RE: hpr<!--% zero_pad_left(item.eps_id) %-->::<!--% item.episode_date %--> <em><!--% item.episode_title | html_strip | xml_entity %--></em> by <a href="<!--% absolute_url(http_baseurl) %-->correspondents/<!--% zero_pad_left(item.host_id) %-->.html"><!--% item.host %--></a></strong><!--% rss_show_series(item.series_name, item.series_id) | html_strip | xml_entity %--><br />
<!--% display_episode_duration(item.episode_duration) %--><!--% display_listen_in(item.eps_id) %--><br /><!--% item.comment_text FILTER html_line_break %-->
]]></description>
<pubDate><!--% format_feed_date(item.comment_timestamp) %--></pubDate>
<guid isPermaLink="false"><!--% baseurl %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
<guid isPermaLink="false"><!--% absolute_url(http_baseurl) %-->eps/hpr<!--% zero_pad_left(item.eps_id) %-->/index.html#comment_<!--% item.id %--></guid>
</item>
<!--% END %-->
</channel>

View File

@ -1,5 +1,5 @@
<!--% PROCESS 'shared-item.tpl.xml' %-->
<!--% PROCESS "rss-query-hpr-${constants.database}.tpl.xml" %-->
<!--% PROCESS "rss-query-hpr.tpl.xml" %-->
<!--% FOREACH episode IN feed_result %-->
<!--% display_item(episode, media_file_extension, audio_mime_type) %-->
<!--% END %-->

View File

@ -1,5 +1,5 @@
<!--% PROCESS 'shared-item.tpl.xml' %-->
<!--% PROCESS "rss-query-hpr_total-${constants.database}.tpl.xml" %-->
<!--% PROCESS "rss-query-hpr_total.tpl.xml" %-->
<!--% FOREACH episode IN feed_result %-->
<!--% display_item(episode, media_file_extension, audio_mime_type) %-->
<!--% END %-->

View File

@ -1,26 +0,0 @@
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% query_hpr_feed = DBI.prepare('
SELECT
eps.id,
eps.explicit,
DATE_FORMAT(eps.date, \'%H:%i:%S %d:%m:%Y\') AS \'date\',
eps.license, eps.duration,
eps.title, eps.summary, eps.tags,
eps.notes,
hosts.local_image,
hosts.hostid,
hosts.host, hosts.email,
miniseries.name AS series, miniseries.id AS seriesid,
assets.size AS length
FROM eps
INNER JOIN hosts ON eps.hostid = hosts.hostid
INNER JOIN miniseries ON eps.series = miniseries.id
INNER JOIN assets ON eps.id = assets.episode_id
WHERE eps.date <= UTC_DATE()
AND assets.extension = ?
ORDER BY eps.date DESC
LIMIT 10
')
%-->
<!--% feed_result = query_hpr_feed.execute(media_file_extension) %-->

View File

@ -1,4 +1,4 @@
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% query_hpr_feed = DBI.prepare('
SELECT
eps.id,

View File

@ -1,25 +0,0 @@
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% query_hpr_feed = DBI.prepare('
SELECT
eps.id,
eps.explicit,
DATE_FORMAT(eps.date, \'%H:%i:%S %d:%m:%Y\') AS \'date\',
eps.license, eps.duration,
eps.title, eps.summary, eps.tags,
eps.notes,
hosts.local_image,
hosts.hostid,
hosts.host, hosts.email,
miniseries.name AS series, miniseries.id AS seriesid,
assets.size AS length
FROM eps
INNER JOIN hosts ON eps.hostid = hosts.hostid
INNER JOIN miniseries ON eps.series = miniseries.id
INNER JOIN assets ON eps.id = assets.episode_id
WHERE eps.date < UTC_DATE()
AND assets.extension = ?
ORDER BY eps.date DESC
')
%-->
<!--% feed_result = query_hpr_feed.execute(media_file_extension) %-->

View File

@ -1,4 +1,4 @@
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
<!--% USE DBI(constants.driver) %-->
<!--% query_hpr_feed = DBI.prepare('
SELECT
eps.id,

View File

@ -1,5 +1,5 @@
<!--% PROCESS 'shared-utils.tpl.html' %-->
<!--% PROCESS "queries-call_for_shows-${constants.database}.tpl.html" %-->
<!--% PROCESS "queries-call_for_shows.tpl.html" %-->
<!--% MACRO display_call_for_shows BLOCK %-->
<!--% result_call_for_shows = DBI.prepare(query_call_for_shows) %-->
<!--% results_call_for_shows = result_call_for_shows.execute().get_all() %-->