forked from rho_n/hpr_generator
		
	Integrate twat episodes
Add twat shows to the full episodes index, the host pages. Add individule twat episodes.
This commit is contained in:
		
							
								
								
									
										6
									
								
								site.cfg
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								site.cfg
									
									
									
									
									
								
							| @@ -132,6 +132,12 @@ content: content-promote.tpl.html | ||||
| navigation: navigation-about.tpl.html | ||||
| content: content-sitemap.tpl.html | ||||
|  | ||||
| [twat_episode] | ||||
| navigation: navigation-get-shows.tpl.html | ||||
| content: content-twat_episode.tpl.html | ||||
| multipage: true | ||||
| filename: eps/twat[id]/index.html | ||||
|  | ||||
| [hpr_ogg] | ||||
| root_template: rss.tpl.xml | ||||
| content: rss-hpr.tpl.xml | ||||
|   | ||||
| @@ -2,12 +2,12 @@ | ||||
| <!--% PROCESS 'shared-avatar.tpl.html' %--> | ||||
| <!--% PROCESS 'shared-utils.tpl.html' %--> | ||||
| <!--% USE DBI(constants.driver, constants.user, constants.password) %--> | ||||
| <!--% query_show_count = DBI.prepare(' | ||||
| <!--% query_hpr_show_count = DBI.prepare(' | ||||
| 		SELECT id | ||||
| 		FROM eps | ||||
| 		WHERE eps.hostid = ? ') | ||||
| %--> | ||||
| <!--% query_shows = DBI.prepare(' | ||||
| <!--% query_hpr_shows = DBI.prepare(' | ||||
| 		SELECT  | ||||
| 		eps.id,  | ||||
| 		CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,  | ||||
| @@ -24,12 +24,43 @@ | ||||
| 	WHERE hosts.hostid = ? AND eps.date < date(\'now\', \'+1 days\')  | ||||
| 	ORDER BY date DESC	') | ||||
| %--> | ||||
| <!--% shows_to_count = query_show_count.execute(id); %--> | ||||
| <!--% shows = query_shows.execute(id); %--> | ||||
| <!--% show_count = 0 %--> | ||||
| <!--% FOREACH show IN shows_to_count %--> | ||||
| <!--% show_count = show_count +1; %--> | ||||
| <!--% hpr_shows_to_count = query_hpr_show_count.execute(id); %--> | ||||
| <!--% hpr_shows = query_hpr_shows.execute(id); %--> | ||||
| <!--% hpr_show_count = 0 %--> | ||||
| <!--% FOREACH show IN hpr_shows_to_count %--> | ||||
| <!--% hpr_show_count = hpr_show_count +1; %--> | ||||
| <!--% END %--> | ||||
|  | ||||
| <!--% query_twat_show_count = DBI.prepare(' | ||||
| 		SELECT id | ||||
| 		FROM twat_eps AS \'eps\' | ||||
| 		WHERE eps.hostid = ? ') | ||||
| %--> | ||||
| <!--% query_twat_shows = DBI.prepare(' | ||||
| 		SELECT  | ||||
| 		eps.id,  | ||||
| 		CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS 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 | ||||
| 	FROM twat_eps AS eps | ||||
| 	INNER JOIN hosts ON eps.hostid = hosts.hostid  | ||||
| 	INNER JOIN miniseries ON eps.series = miniseries.id | ||||
| 	WHERE hosts.hostid = ? | ||||
| 	ORDER BY date DESC | ||||
| 	') | ||||
| %--> | ||||
| <!--% twat_shows_to_count = query_twat_show_count.execute(id); %--> | ||||
| <!--% twat_shows = query_twat_shows.execute(id); %--> | ||||
| <!--% twat_show_count = 0 %--> | ||||
| <!--% FOREACH show IN twat_shows_to_count %--> | ||||
| <!--% twat_show_count = twat_show_count +1; %--> | ||||
| <!--% END %--> | ||||
|  | ||||
| <!--% hosts = DBI.tie('hosts', 'hostid') %--> | ||||
|  | ||||
| 	<article> | ||||
| @@ -40,11 +71,15 @@ | ||||
| 				height="80" alt="Host Image" /><br> | ||||
| 		<label>Host ID</label>: <!--% this_host.hostid %--><br><br> | ||||
| 		<label>email:</label> <u><!--% this_host.email %--></u><br> | ||||
| 		<label>episodes:</label> <strong><!--% show_count %--></strong> | ||||
| 		<label>episodes:</label> <strong><!--% hpr_show_count + twat_show_count %--></strong> | ||||
| 		</p> | ||||
| 	<!--% FOREACH show IN shows; %--> | ||||
| 	<!--% FOREACH hpr_show IN hpr_shows; %--> | ||||
|  | ||||
| 		<!--% show_summary(show, 'hide_host') %--> | ||||
| 		<!--% show_summary(hpr_show, 'hide_host') %--> | ||||
|     <!--% END %--> | ||||
| 	<!--% FOREACH twat_show IN twat_shows; %--> | ||||
|  | ||||
| 		<!--% twat_show_summary(twat_show, 'hide_host') %--> | ||||
|     <!--% END %--> | ||||
| 	</article> | ||||
| 	<p><a href="contribute.html">Become a Correspondent</a></p> | ||||
|   | ||||
| @@ -25,4 +25,28 @@ | ||||
| %--> | ||||
| 	<!--% show_summary(episodes) %--> | ||||
| <!--% END %--> | ||||
| <h2 id="twat_episodes">Today With a Techie Archived Shows</h2> | ||||
| 	<p> | ||||
| 		<!-- Creative Commons License --> | ||||
| 		<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png" width="88" height="31" /></a><br>The following work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/2.5/">Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License</a>.</p> | ||||
| 	<p>T.W.A.T. Radio was brought to you by <a href="https://en.wikipedia.org/wiki/Infonomicon">The Infonomicon Computer Club</a></p> | ||||
| <!--% FOREACH twat_episode IN DBI.query(' | ||||
| 	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 twat_eps as eps | ||||
| 	INNER JOIN hosts ON eps.hostid = hosts.hostid  | ||||
| 	INNER JOIN miniseries ON eps.series = miniseries.id | ||||
| 	ORDER BY date DESC | ||||
| 	')  | ||||
| %--> | ||||
| 	<!--% twat_show_summary(twat_episode) %--> | ||||
| <!--% END %--> | ||||
|  | ||||
| </article> | ||||
|  | ||||
|   | ||||
| @@ -28,7 +28,7 @@ | ||||
| 	<!--% END %--> | ||||
| 	<!--% USE date %-->   | ||||
| 	<!--% 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="https://www.hackerpublicradio.org/twat.php"><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_path(baseurl) %-->contribute.html">record</a> your show now it could be <a href="https://www.hackerpublicradio.org/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">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_path(baseurl) %-->contribute.html">record</a> your show now it could be <a href="https://www.hackerpublicradio.org/calendar.php">released</a> in <strong><!--% days_till_next_episode %--></strong> days.</p> | ||||
|     <h4>Meet the team</h4> | ||||
|     <p> | ||||
|     <audio controls preload="none">"; | ||||
|   | ||||
							
								
								
									
										83
									
								
								templates/content-twat_episode.tpl.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								templates/content-twat_episode.tpl.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| <!--% PROCESS 'shared-episode-summary.tpl.html' %--> | ||||
| <!--% PROCESS 'shared-avatar.tpl.html' %--> | ||||
| <!--% PROCESS 'shared-utils.tpl.html' %--> | ||||
| <!--% USE DBI(constants.driver, constants.user, constants.password) %--> | ||||
| <!--% query_episodes = DBI.prepare(' | ||||
| 		WITH episode_maxmin AS ( | ||||
| 					SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'  | ||||
| 					FROM twat_eps AS eps | ||||
| 					WHERE eps.date < date (\'now\', \'+1 days\') | ||||
| 		), | ||||
| 		episode_date AS ( | ||||
| 			SELECT eps.date  | ||||
| 			FROM twat_eps AS eps | ||||
| 			WHERE eps.id = ? | ||||
| 		), | ||||
| 		episode_previous AS ( | ||||
| 			SELECT MAX(id) AS \'previous\', ? AS \'id\' | ||||
| 			FROM twat_eps AS 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 twat_eps AS eps | ||||
| 			INNER JOIN episode_date | ||||
| 				ON eps.date > episode_date.date | ||||
| 			WHERE eps.date < date (\'now\') | ||||
| 		) | ||||
| 		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\' | ||||
| 		FROM twat_eps AS 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 | ||||
| 		WHERE eps.id = ? | ||||
| 	') | ||||
| %--> | ||||
| <!--% episode_result = query_episodes.execute(id, id, id, id, id) %--> | ||||
| <!--% FOREACH episode IN episode_result %--> | ||||
| <!--% episode_navigation = step_navigation(baseurl,episode,"twat") %--> | ||||
| <article> | ||||
| 	<header> | ||||
| 		<h1><!--% episode.id %--> :: <!--% episode.title %--></h1> | ||||
| 		<h3><!--% episode.summary %--></h3> | ||||
| 		<p class="meta"><!--% episode_navigation %--> | ||||
| 		</p> | ||||
| <p><!--% IF get_avatar(episode.hostid) != 'hpr_logo.png' %--> | ||||
| <img src="<!--% absolute_path(baseurl) %-->images/<!--% get_avatar(episode.hostid) %-->" height="80" width="80" alt="" /></a><br><!--% END %--> | ||||
| Hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(episode.hostid) %-->.html"><!--% episode.host %--></a> on <span><!--% episode.date %--></span> is flagged as <span><!--% display_explicit(episode.explicit) %--></span> and is released under a <span><!--% episode.license %--> license</span>. <br> | ||||
| <!--% display_tags(episode.tags) %--> <br> | ||||
| <!--% display_listen_in(episode.id) %-->   | ||||
| </p> | ||||
| <h3><!--% show_series(episode.series, episode.seriesid, "Part of the series") %--></h3>  | ||||
| <p><em><!--% episode.series_description %--></em></p> | ||||
| 	</header> | ||||
| 	<div><!--% episode.notes %--></div> | ||||
| <footer> | ||||
| <h2>Listen Now</h2> | ||||
| <p>Duration: <!--% display_episode_duration(episode.duration) %--></p> | ||||
| <audio controls preload="none"> | ||||
| 	<source src="<!--% absolute_path(baseurl) %-->local/twat<!--% episode.id %-->.ogg" type="audio/ogg" > | ||||
| 	<source src="<!--% absolute_path(baseurl) %-->local/twat<!--% episode.id %-->.mp3" type="audio/mpeg" > | ||||
| </audio> | ||||
| <ul> | ||||
| <li>ogg: <a href="<!--% absolute_path(baseurl) %-->local/twat<!--% episode.id %-->.ogg">https://www.hackerpublicradio.org/local/hpr<!--% episode.id %-->.ogg</a></li> | ||||
| <li>spx: <a href="<!--% absolute_path(baseurl) %-->local/twat<!--% episode.id %-->.spx">https://www.hackerpublicradio.org/local/hpr<!--% episode.id %-->.spx</a></li> | ||||
| <li>mp3: <a href="<!--% absolute_path(baseurl) %-->local/twat<!--% episode.id %-->.mp3">https://www.hackerpublicradio.org/local/hpr<!--% episode.id %-->.mp3</a></li> | ||||
| </ul> | ||||
| <p> | ||||
| <!--% episode_navigation %--> | ||||
| </p> | ||||
|     </footer></article> | ||||
| <!--% END %--> | ||||
|  | ||||
| @@ -19,9 +19,9 @@ Listen in <a href="<!--% absolute_path(baseurl) %-->local/hpr<!--% eps_id %-->.o | ||||
| <a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(eps_id) %-->/index.html#comments">Comments (<!--% tally %-->)</a>. | ||||
| <!--% END %--> | ||||
|  | ||||
| <!--% MACRO show_meta(show) BLOCK %--> | ||||
| <!--% MACRO show_meta(show, hide_tags) BLOCK %--> | ||||
| 	<span><label>Released:</label> <!--% show.date %-->.</span> <span><label>Duration:</label> <!--% display_episode_duration(show.duration) %-->.</span> <span><label>Flag:</label> <!--% display_explicit(show.explicit) %-->.</span> <span><!--% show_series(show.series, show.seriesid) %--></span>  <br> | ||||
| 	<!--% display_tags(tags) %--> | ||||
| 	<!--% IF hide_tags == "" %--><!--% display_tags(tags) %--><!--% END %--> | ||||
| <!--% END %--> | ||||
|  | ||||
| <!--% MACRO show_summary(show, hide_host) BLOCK %--> | ||||
| @@ -34,3 +34,15 @@ Listen in <a href="<!--% absolute_path(baseurl) %-->local/hpr<!--% eps_id %-->.o | ||||
|     <!--% show.summary %--> | ||||
| 	</p> | ||||
| <!--% END %--> | ||||
|  | ||||
| <!--% MACRO twat_show_summary(show, hide_host) BLOCK %--> | ||||
|  | ||||
| 	<h3 class="title"><a href="<!--% absolute_path(baseurl) %-->eps/twat<!--% zero_pad_left(show.id) %-->/index.html">twat<!--% show.id %--> :: <!--% show.title %--></a> <!--% IF hide_host == "" %-->  | ||||
| 		hosted by <a href="<!--% absolute_path(baseurl) %-->correspondents/<!--% zero_pad_left(show.hostid) %-->.html"><!--% show.host %--></a> | ||||
| 	<!--% END %--> | ||||
| 	</h3> | ||||
| 	<p class="meta"><!--% show_meta(show) %--><br> | ||||
|     <!--% show.summary %--> | ||||
| 	</p> | ||||
| <!--% END %--> | ||||
|  | ||||
|   | ||||
| @@ -39,17 +39,20 @@ | ||||
| <!--% IF baseurl %-->./<!--% ELSE %-->/<!--% END %--> | ||||
| <!--% END %--> | ||||
|  | ||||
| <!--% MACRO step_navigation(baseurl, links) BLOCK %--> | ||||
| <small><a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(links.earliest) %-->/index.html" rel="first"><< First</a>,  | ||||
| <!--% MACRO step_navigation(baseurl, links, folder) BLOCK %--> | ||||
| <!--% IF folder == "" %--> | ||||
| <!--% folder = hpr %--> | ||||
| <!--% END %--> | ||||
| <small><a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.earliest) %-->/index.html" rel="first"><< First</a>,  | ||||
| 	<!--% IF links.previous %--> | ||||
| 	<a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(links.previous) %-->/index.html" rel="previous">< Previous</a>, | ||||
| 	<a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.previous) %-->/index.html" rel="previous">< Previous</a>, | ||||
| 	<!--% ELSE %--> | ||||
| 	<span><</span> Previous, | ||||
| 	<!--% END %--> | ||||
| 	<!--% IF links.next %--> | ||||
| 	<a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(links.next) %-->/index.html" rel="next">Next ></a>, | ||||
| 	<a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.next) %-->/index.html" rel="next">Next ></a>, | ||||
| 	<!--% ELSE %--> | ||||
| 	Next <span>></span> | ||||
| 	<!--% END %--> | ||||
| 	<a href="<!--% absolute_path(baseurl) %-->eps/hpr<!--% zero_pad_left(links.latest) %-->/index.html" rel="last">Latest >></a></small> | ||||
| 	<a href="<!--% absolute_path(baseurl) %-->eps/<!--% folder %--><!--% zero_pad_left(links.latest) %-->/index.html" rel="last">Latest >></a></small> | ||||
| <!--% END %--> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user