Compare commits
5 Commits
5612eeed42
...
0b99483f0d
Author | SHA1 | Date | |
---|---|---|---|
0b99483f0d | |||
8c3874ad8b | |||
6f95a33e67 | |||
979c8b43e5 | |||
e3abe5fd68 |
13
README.md
13
README.md
@ -3,12 +3,22 @@ Static web page generator for the Hacker Public Radio website.
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
* Clone or download this repository
|
* Clone or download this repository
|
||||||
|
* With SQLite
|
||||||
* Create the sqlite3 database from the files in the _sql directory. The default name for the database file is "hpr.db" and should be located in the root of the project directory. The name and location can be set in the site.cfg file.
|
* Create the sqlite3 database from the files in the _sql directory. The default name for the database file is "hpr.db" and should be located in the root of the project directory. The name and location can be set in the site.cfg file.
|
||||||
* Two sql helper scripts are available to generate an empty database or a database filled with test data.
|
* Two sql helper scripts are available to generate an empty database or a database filled with test data.
|
||||||
- For an empty database: `cat Create_Database_Empty.sql | sqlite3 hpr.db`
|
- For an empty database: `cat Create_Database_Empty.sql | sqlite3 hpr.db`
|
||||||
- For a database with test data: `cat Create_Database_Test.sql | sqlite3 hpr.db`
|
- For a database with test data: `cat Create_Database_Test.sql | sqlite3 hpr.db`
|
||||||
* SQLite v3.8.3 or greater is recommended. CTE WITH clauses are used in some template queries. Must convert WITH
|
* SQLite v3.8.3 or greater is recommended. CTE WITH clauses are used in some template queries. Must convert WITH
|
||||||
clauses to sub-queries when using earlier versions of SQLite.
|
clauses to sub-queries when using earlier versions of SQLite.
|
||||||
|
* With MySQL
|
||||||
|
* Create database hpr_hpr in the MySQL server from HPR dump file.
|
||||||
|
- ``sudo mysql --host=localhost < hpr.sql``
|
||||||
|
* Create a user that will be used by the site-generator.
|
||||||
|
- Suggested username: hpr-generator
|
||||||
|
- ``CREATE USER 'hpr-generator'@'localhost' IDENTIFIED BY '<password>';``
|
||||||
|
* Limit the user's privileges to EXECUTE and SELECT
|
||||||
|
- ``GRANT SELECT ON hpr_hpr.* TO 'hpr-generator'@'localhost';``
|
||||||
|
- ``GRANT EXECUTE ON `hpr_hpr`.* TO 'hpr-generator'@'localhost';``
|
||||||
* Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.)
|
* Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.)
|
||||||
* GetOpt
|
* GetOpt
|
||||||
* Pod::Usage
|
* Pod::Usage
|
||||||
@ -18,7 +28,7 @@ Static web page generator for the Hacker Public Radio website.
|
|||||||
* Template::Plugin::DBI
|
* Template::Plugin::DBI
|
||||||
* DBI
|
* DBI
|
||||||
* Tie::DBI
|
* Tie::DBI
|
||||||
* DBD::SQLite
|
* DBD::SQLite or DBD:mysql
|
||||||
* Date::Calc
|
* Date::Calc
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -50,4 +60,3 @@ and add the label "**Feature Request**".
|
|||||||
|
|
||||||
## Authors and acknowledgment
|
## Authors and acknowledgment
|
||||||
* Roan "Rho`n" Horning
|
* Roan "Rho`n" Horning
|
||||||
|
|
||||||
|
@ -35,15 +35,27 @@ This is a site generator for the Hacker Public Radio website based upon the Perl
|
|||||||
|
|
||||||
=head1 INSTALLATION
|
=head1 INSTALLATION
|
||||||
|
|
||||||
|
With SQLite
|
||||||
* Create the sqlite3 database from the files in the _sql directory. The default name for the
|
* Create the sqlite3 database from the files in the _sql directory. The default name for the
|
||||||
database file is "hpr.db" and should be located in the root of the project directory. The
|
database file is "hpr.db" and should be located in the root of the project directory. The
|
||||||
name and location can be set in the site.cfg file.
|
name and location can be set in the site.cfg file.
|
||||||
* Two sql helper scripts are available to generate an empty database or a database filled with test data.
|
* Two sql helper scripts are available to generate an empty database or a database filled with test data.
|
||||||
- For an empty database: `cat Create_Database_Empty.sql | sqlite3 hpr.db`
|
- For an empty database: cat Create_Database_Empty.sql | sqlite3 hpr.db
|
||||||
- For a database with test data: `cat Create_Database_Test.sql | sqlite3 hpr.db`
|
- For a database with test data: cat Create_Database_Test.sql | sqlite3 hpr.db
|
||||||
* SQLite v3.8.3 or greater is recommended. CTE WITH clauses are used in some template queries. Must convert WITH
|
* SQLite v3.8.3 or greater is recommended. CTE WITH clauses are used in some template queries.
|
||||||
clauses to sub-queries when using earlier versions of SQLite.
|
Must convert WITH clauses to sub-queries when using earlier versions of SQLite.
|
||||||
* Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.)
|
|
||||||
|
With MySQL
|
||||||
|
* Create database hpr_hpr in the MySQL server from HPR dump file.
|
||||||
|
- sudo mysql --host=localhost < hpr.sql
|
||||||
|
* Create a user that will be used by the site-generator.
|
||||||
|
- Suggested username: hpr-generator
|
||||||
|
- CREATE USER 'hpr-generator'@'localhost' IDENTIFIED BY '<password>';
|
||||||
|
* Limit the user's privileges to EXECUTE and SELECT
|
||||||
|
- GRANT SELECT ON hpr_hpr.* TO 'hpr-generator'@'localhost';
|
||||||
|
- GRANT EXECUTE ON `hpr_hpr`.* TO 'hpr-generator'@'localhost';
|
||||||
|
|
||||||
|
Install the needed Perl modules using preferred method (distribution packages, CPAN, etc.)
|
||||||
* GetOpt
|
* GetOpt
|
||||||
* Pod::Usage
|
* Pod::Usage
|
||||||
* Config::Std
|
* Config::Std
|
||||||
@ -52,7 +64,7 @@ This is a site generator for the Hacker Public Radio website based upon the Perl
|
|||||||
* Template::Plugin::DBI
|
* Template::Plugin::DBI
|
||||||
* DBI
|
* DBI
|
||||||
* Tie::DBI
|
* Tie::DBI
|
||||||
* DBD::SQLite
|
* DBD::SQLite or DBD:mysql
|
||||||
* Date::Calc
|
* Date::Calc
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
INNER JOIN hosts
|
INNER JOIN hosts
|
||||||
ON eps.hostid = hosts.hostid
|
ON eps.hostid = hosts.hostid
|
||||||
WHERE series = ?
|
WHERE series = ?
|
||||||
ORDER BY eps.id + 0 DESC
|
ORDER BY eps.id DESC
|
||||||
')
|
')
|
||||||
%-->
|
%-->
|
||||||
<!--% show_results = query_shows.execute(id) %-->
|
<!--% show_results = query_shows.execute(id) %-->
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
WITH episode_maxmin AS (
|
WITH episode_maxmin AS (
|
||||||
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'
|
SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'
|
||||||
FROM twat_eps AS eps
|
FROM twat_eps AS eps
|
||||||
WHERE eps.date < date (\'now\', \'+1 days\')
|
WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
|
||||||
),
|
),
|
||||||
episode_date AS (
|
episode_date AS (
|
||||||
SELECT eps.date
|
SELECT eps.date
|
||||||
@ -26,7 +26,7 @@
|
|||||||
FROM twat_eps AS eps
|
FROM twat_eps AS eps
|
||||||
INNER JOIN episode_date
|
INNER JOIN episode_date
|
||||||
ON eps.date > episode_date.date
|
ON eps.date > episode_date.date
|
||||||
WHERE eps.date < date (\'now\')
|
WHERE eps.date < NOW()
|
||||||
)
|
)
|
||||||
SELECT eps.id, eps.date, eps.title, eps.duration,
|
SELECT eps.id, eps.date, eps.title, eps.duration,
|
||||||
eps.summary, eps.notes, eps.explicit, eps.license,
|
eps.summary, eps.notes, eps.explicit, eps.license,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
<!--% USE DBI(constants.driver, constants.user, constants.password) %-->
|
||||||
<!--% FOREACH episode IN DBI.query(
|
<!--% FOREACH episode IN DBI.query(
|
||||||
'select eps.id from twat_eps AS \'eps\'
|
'select eps.id from twat_eps AS eps
|
||||||
where eps.date < date (\'now\', \'+1 days\') '
|
where eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY) '
|
||||||
) %-->
|
) %-->
|
||||||
,<!--% episode.id %-->
|
,<!--% episode.id %-->
|
||||||
<!--% END %-->
|
<!--% END %-->
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
SELECT
|
SELECT
|
||||||
eps.id,
|
eps.id,
|
||||||
eps.explicit,
|
eps.explicit,
|
||||||
strftime(\'%H:%M:%S %d:%m:%Y\', date(eps.date)) AS date,
|
DATE_FORMAT(eps.date, \'%H:%i:%S %d:%m:%Y\') AS \'date\',
|
||||||
eps.license, eps.duration,
|
eps.license, eps.duration,
|
||||||
eps.title, eps.summary, eps.tags,
|
eps.title, eps.summary, eps.tags,
|
||||||
eps.notes,
|
eps.notes,
|
||||||
@ -14,7 +14,7 @@
|
|||||||
FROM eps
|
FROM eps
|
||||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
WHERE eps.date < date(\'now\', \'+1 days\')
|
WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
|
||||||
ORDER BY eps.date DESC
|
ORDER BY eps.date DESC
|
||||||
LIMIT 10
|
LIMIT 10
|
||||||
')
|
')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
SELECT
|
SELECT
|
||||||
eps.id,
|
eps.id,
|
||||||
eps.explicit,
|
eps.explicit,
|
||||||
strftime(\'%H:%M:%S %d:%m:%Y\', date(eps.date)) AS date,
|
DATE_FORMAT(eps.date, \'%H:%i:%S %d:%m:%Y\') AS \'date\',
|
||||||
eps.license, eps.duration,
|
eps.license, eps.duration,
|
||||||
eps.title, eps.summary, eps.tags,
|
eps.title, eps.summary, eps.tags,
|
||||||
eps.notes,
|
eps.notes,
|
||||||
@ -14,7 +14,7 @@
|
|||||||
FROM eps
|
FROM eps
|
||||||
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
INNER JOIN hosts ON eps.hostid = hosts.hostid
|
||||||
INNER JOIN miniseries ON eps.series = miniseries.id
|
INNER JOIN miniseries ON eps.series = miniseries.id
|
||||||
WHERE eps.date < date(\'now\', \'+1 days\')
|
WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY)
|
||||||
ORDER BY eps.date DESC
|
ORDER BY eps.date DESC
|
||||||
')
|
')
|
||||||
%-->
|
%-->
|
||||||
|
Reference in New Issue
Block a user