From 4861c5c1d904bb47305bfb2ca87cd272957388b3 Mon Sep 17 00:00:00 2001 From: Dave Morriss Date: Tue, 4 Jun 2024 16:48:09 +0100 Subject: [PATCH] Moved wiki files to an empty local repo --- Comment-System.md | 132 ++++++ Community-News.md | 109 +++++ Database.md | 23 ++ FAQ.md | 17 + HPR_collection_URLs | 60 +++ Home.md | 93 ++++- How-To-Do-Stuff.md | 233 +++++++++++ Internet-Archive-Workflow.md | 92 +++++ Internet-Archive.md | 24 ++ Working-with-the-Internet-Archive.md | 179 ++++++++ check_week.md | 38 ++ future_upload.md | 94 +++++ images/IA_history_hpr1462.png | Bin 0 -> 171098 bytes images/process_comments_1.png | Bin 0 -> 53712 bytes images/process_comments_2.png | Bin 0 -> 57076 bytes make_email.md | 277 +++++++++++++ make_metadata.md | 582 +++++++++++++++++++++++++++ make_shownotes.md | 566 ++++++++++++++++++++++++++ past_upload.md | 49 +++ process_comments.md | 444 ++++++++++++++++++++ reserve_cnews.md | 186 +++++++++ 21 files changed, 3197 insertions(+), 1 deletion(-) create mode 100644 Comment-System.md create mode 100644 Community-News.md create mode 100644 Database.md create mode 100644 FAQ.md create mode 100644 HPR_collection_URLs create mode 100644 How-To-Do-Stuff.md create mode 100644 Internet-Archive-Workflow.md create mode 100644 Internet-Archive.md create mode 100644 Working-with-the-Internet-Archive.md create mode 100644 check_week.md create mode 100644 future_upload.md create mode 100644 images/IA_history_hpr1462.png create mode 100644 images/process_comments_1.png create mode 100644 images/process_comments_2.png create mode 100644 make_email.md create mode 100644 make_metadata.md create mode 100644 make_shownotes.md create mode 100644 past_upload.md create mode 100644 process_comments.md create mode 100644 reserve_cnews.md diff --git a/Comment-System.md b/Comment-System.md new file mode 100644 index 0000000..5e5212d --- /dev/null +++ b/Comment-System.md @@ -0,0 +1,132 @@ +# Comment System + +The current comment system (2023-02-24) was written from scratch by HPR +volunteers. It replaced a proprietary (and rather unsatisfactory) system. + +It has been in use since 2017, has proved reliable and has needed very +little maintenance. + +## Overview + +There are three main components of the system: +1. A database table called `comments` which holds each comment with its + metadata. +2. PHP code which takes in each comment from the comment form (available on + every show page) and converts it to a JSON format which is available to + authorised people on the website and is emailed to the `admin` list and to + `comments@hackerpublicradio.org`. +3. The scripts stored in the `Comment_system` directory on the Gitea repo. + These are capable of decoding the email or or taking the JSON files and + offering them for approval. If approved the comment is added to the + database, otherwise it is not added. The incoming file is stored for future + access if needed. The scripts communicate the decision to the PHP code on + the server and the intermediate files are cleaned up there. + +## Database + +The `comments` table has the following structure: +``` ++---------------------+----------+------+-----+---------------------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++---------------------+----------+------+-----+---------------------+----------------+ +| id | int(5) | NO | PRI | NULL | auto_increment | +| eps_id | int(5) | NO | MUL | NULL | | +| comment_timestamp | datetime | NO | | NULL | | +| comment_author_name | text | YES | | NULL | | +| comment_title | text | YES | | NULL | | +| comment_text | text | YES | | NULL | | +| last_changed | datetime | NO | | current_timestamp() | | ++---------------------+----------+------+-----+---------------------+----------------+ +``` + +- `id` is an incrementing primary key +- `eps_id` is the primary key (show number) of the `eps` table to which the comment is linked +- `comment_timestamp` contains the time that the comment was submitted +- `comment_author_name` holds the name of the comment author as submitted (there are no checks against know hosts) +- `comment_title` holds the title submitted by the comment author +- `comment_text` contains the body of the comment +- `last_changed` contains the timestamp of the last change made to the comment (this is managed by a trigger called `before_comments_update`) + +**Note** It's possible to edit a comment in the database. There is a command-line tool under the [Database](Database) directory which enables this, +using Vim as the editor. It's not documented at the moment. + +## Server code + +TBA + +## Local processing + +The management of comments was designed to be a local command-line process using a Perl script. A connection with the HPR database is needed and this +is achieved using an SSH tunnel. The `Pdmenu` menu system is used used to streamline things, but that's just a personal preference (though the +`.pdmenurc` menu definition file can be made available if required). + +### Modes of working + +There are two modes of working: + +- An email is sent to `comments@hackerpublicradio.org` (a limited distribution address list). The email contains a JSON attachment with the comment + details. +- A copy of the JSON attachment file is stored in the directory `~hpr/comments` on the main server. + +A single script called `process_comments` can handle the two modes. It expects two spool areas, one for email messages and the other for JSON files. + +Email messages are written to the spool area (`CommentDrop`) by the Thunderbird MUA which has the ability to make message copies using a plugin. (More +details to follow.) +``` +/home/cendjm/HPR/CommentDrop/ +├── banned +├── processed +└── rejected +``` +The sub-directories are where `process_comments` places the messages after processing (explained later). + +JSON files are copied from the `comments` directory on the server into the JSON spool area (imaginatively) called `json`: +``` +json +├── banned +├── processed +└── rejected +``` +The sub-directories are used for the same purpose as in `CommentDrop` (explained later). + +The JSON mode is only used when there are mail problems. The files are collected using `Pdmenu` which uses `scp` to achieve this. + +**NOTE** These spool directory locations are "baked into" the `process_comments` script and should be in a configuration file. + +### The `process_comments` script + +This a Perl script which contains internal documentation (in POD format). Information about how to run the script can be obtained with the `-help` +option, or the full documentation can be viewed with the option `-doc`. A copy of the internal documentation is available in manual page format by +following [this documentation link](process_comments). + +TBA + +**NOTE** The script documentation is in need of updates. + +### Screenshots + +- Image 1: + - Running `process_comments` with three comments in the mail spool area. This example uses the `-verbose` option so a report of what messages have + been found is produced. The files have strange names generated from the mail subject, courtesy of the Thunderbird plugin. + - The first comment is offered for approval using a template to display the contents of the JSON attachment + - The options are `approve`, `ban`, `reject` and `ignore`. In this case choice `a` is selected to approve this comment. + + ![Image 1](images/process_comments_1.png) + +- Image 2: + - All three comments have been processed, with each one being approved. The script actions the choices at the end. + - The (`-verbose`) output lists the comments being added to the database (attached to the relevant shows). + - Each mail message is moved to the `processed` sub-directory. + - The script communicates with the server requesting the deletion of the original JSON files, and the success return (`200/OK`) shows that this + has been completed. + + ![Image 2](images/process_comments_2.png) + + + +--- +Back to [Home](Home) page + + diff --git a/Community-News.md b/Community-News.md new file mode 100644 index 0000000..720ef44 --- /dev/null +++ b/Community-News.md @@ -0,0 +1,109 @@ +# Community News + +## Overview + +This directory contains various tools for managing the Community News shows: + +- reserving Community News slots ahead of time +- making email to announce the upcoming Community News show recording +- managing the iCal calendar with Community News reservations in it +- making the show notes for the Community News shows (used for the recording and saved in the database) + +## Functions + +### Reserving Community News slots + +The script used is called `reserve_cnews` and is capable of reserving a number of shows from a given date. + +A copy of the internal documentation for this script (available through the `-help` option) is available in manual page format by following [this +documentation link](reserve_cnews). + +#### Usage summary + +``` +$HOME/HPR/Community_News/reserve_cnews -config=$HOME/HPR/.hpr_livedb.cfg -from -count=1 +``` +The script is normally run with the live database configuration file, so the tunnel to the server must be open. The `-from` option can be used without +the date part which causes the script to find the reservation with the latest date and add more reservations beyond it. It is advised to use +`-count=1` because the default behaviour is to add 12 reservations which may be excessive. + +At the time of writing (2023-04-10) 12 reservations are maintained, with one being added each month. This is done to help ensure hosts posting shows +into the future are less likely to clash with the first Monday of each month. + +### Announcing the next Community News show + +This function is managed by the script called `make_email`. + +This script was written in 2013 with the intention that it would send out email to the *HPR* mailing list. This functionality was never implemented, +though it could probably be made to work now. The script has always been used to write the email to a file which is then copied into a message in an +email client and sent to this list. + +A copy of the internal documentation for this script (available through the `-documentation` option) is available in manual page format by following +[this documentation link](make_email). + +#### Usage summary + +``` +> $HOME/HPR/Community_News/mailer.testfile # Empty the default file +$HOME/HPR/Community_News/make_email -dbconf=$HOME/HPR/.hpr_livedb.cfg +xclip -i $HOME/HPR/Community_News/mailer.testfile +``` +The first line empties the file `mailer.testfile` in the working directory (where the script exists). The `make_email` script is then run with the +live database configuration file (so the tunnel must be open) and every other option left in its default state. The `xclip` command can be used to +place the file in the clipboard so it can be pasted into the email. + +### Refreshing the iCal calendar + +TBA + +### Community News show notes + +The notes for the Community News shows released every month are built with a script, a `TT²` template and various files for inclusion. + +#### `make_shownotes` + +This is the main script and is written in Perl. It accesses the MySQL/MariaDB database to gather show, host and comment information. It writes the +notes for the selected show to the database. It needs the SSH tunnel to be set up before being run and to use this it requires the configuration file +set up for this purpose. + +It's possible to select the required template but the default name used by the script is `shownote_template.tpl`. For convenience this is a symbolic +link to another file, and at the moment the target file is `shownote_template11.tpl`. Thus allowing the script to default the template name means the +latest version is used. This template generates HTML and embeds some CSS definitions that affect the layout of the notes. + +TBA + +A copy of the internal documentation for this script is available in manual page format by following [this documentation link](make_shownotes). + +**NOTE** The script documentation is in need of updates. + + + +--- +Back to [Home](Home) page + + diff --git a/Database.md b/Database.md new file mode 100644 index 0000000..2a1d769 --- /dev/null +++ b/Database.md @@ -0,0 +1,23 @@ +# Database + +## Overview + +This directory contains tools for making a local snapshot of the MySQL/MariaDB database (used for testing and development), and for making database +edits from the command line on a remote system. + +## Tools + +### Database snapshots + +TBA + +### Database editing + +TBA + +--- +Back to [Home](Home) page + + diff --git a/FAQ.md b/FAQ.md new file mode 100644 index 0000000..62d6a84 --- /dev/null +++ b/FAQ.md @@ -0,0 +1,17 @@ +# FAQ + +## Overview + +This is a test document implementing the idea of a list of questions and answers of the sort often encountered on HPR. The idea was to place them in a +searchable document (perhaps using CSS to allow the answers to revealed on demand). The reasoning was that finding answers to questions was often +difficult; this page would provide links to the definitive answers, each with some sort of preamble. + +A draft document was produced in 2021 but the idea was not seen as desirable. The work undertaken to produce this document was retained in case it +ever became of interest in the future. + +--- +Back to [Home](Home) page + + diff --git a/HPR_collection_URLs b/HPR_collection_URLs new file mode 100644 index 0000000..dc6e48a --- /dev/null +++ b/HPR_collection_URLs @@ -0,0 +1,60 @@ +https://archive.org/details/Hackerpublicradio.org-archiveEp0001-Ep0010 +https://archive.org/details/Hackerpublicradio.org-archiveEp0011-Ep0020 +https://archive.org/details/Hackerpublicradio.org-archiveEp0041-Ep0050 +https://archive.org/details/Hackerpublicradio.org-archiveEp0051-Ep0060 +https://archive.org/details/Hackerpublicradio.org-archiveEp0061-Ep0070 +https://archive.org/details/Hackerpublicradio.org-archiveEp0071-Ep0080 +https://archive.org/details/Hackerpublicradio.org-archiveEp0081-Ep0090 +https://archive.org/details/Hackerpublicradio.org-archiveEp0091-Ep0100 +https://archive.org/details/Hackerpublicradio.org-archiveEp0101-Ep0110 +https://archive.org/details/Hackerpublicradio.org-archiveEp0111-Ep0120 +https://archive.org/details/Hackerpublicradio.org-archiveEp0121-Ep0130 +https://archive.org/details/Hackerpublicradio.org-archiveEp0131-Ep0140 +https://archive.org/details/Hackerpublicradio.org-archiveEp0141-Ep0150 +https://archive.org/details/Hackerpublicradio.org-archiveEp0151-Ep0160 +https://archive.org/details/Hackerpublicradio.org-archiveEp0161-Ep0170 +https://archive.org/details/Hackerpublicradio.org-archiveEp0171-Ep0180 +https://archive.org/details/Hackerpublicradio.org-archiveEp0181-Ep0190 +https://archive.org/details/Hackerpublicradio.org-archiveEp0191-Ep0200 +https://archive.org/details/Hackerpublicradio.org-archiveEp0201-Ep0210 +https://archive.org/details/Hackerpublicradio.org-archiveEp0211-Ep0220 +https://archive.org/details/Hackerpublicradio.org-archiveEp0221-Ep0230 +https://archive.org/details/Hackerpublicradio.org-archiveEp0231-Ep0240 +https://archive.org/details/Hackerpublicradio.org-archiveEp0241-Ep0250 +https://archive.org/details/Hackerpublicradio.org-archiveEp0251-Ep0260 +https://archive.org/details/Hackerpublicradio.org-archiveEp0261-Ep0270 +https://archive.org/details/Hackerpublicradio.org-archiveEp0271-Ep0280 +https://archive.org/details/Hackerpublicradio.org-archiveEp0281-Ep0290 +https://archive.org/details/Hackerpublicradio.org-archiveEp0291-Ep0300 +https://archive.org/details/Hackerpublicradio.org-archiveEp0301-Ep0310 +https://archive.org/details/Hackerpublicradio.org-archiveEp0311-Ep0320 +https://archive.org/details/Hackerpublicradio.org-archiveEp0321-Ep0330 +https://archive.org/details/Hackerpublicradio.org-archiveEp0331-Ep0340 +https://archive.org/details/Hackerpublicradio.org-archiveEp0341-Ep0350 +https://archive.org/details/Hackerpublicradio.org-archiveEp0351-Ep0360 +https://archive.org/details/Hackerpublicradio.org-archiveEp0361-Ep0370 +https://archive.org/details/Hackerpublicradio.org-archiveEp0371-Ep0380 +https://archive.org/details/Hackerpublicradio.org-archiveEp0381-Ep0390 +https://archive.org/details/Hackerpublicradio.org-archiveEp0391-Ep0400 +https://archive.org/details/Hackerpublicradio.org-archiveEp0401-Ep0410 +https://archive.org/details/Hackerpublicradio.org-archiveEp0411-Ep0420 +https://archive.org/details/Hackerpublicradio.org-archiveEp0421-Ep0430 +https://archive.org/details/Hackerpublicradio.org-archiveEp0431-Ep0440 +https://archive.org/details/Hackerpublicradio.org-archiveEp0441-Ep0450 +https://archive.org/details/Hackerpublicradio.org-archiveEp0451-Ep0460 +https://archive.org/details/Hackerpublicradio.org-archiveEp0461-Ep0470 +https://archive.org/details/Hackerpublicradio.org-archiveEp0471-Ep0480 +https://archive.org/details/Hackerpublicradio.org-archiveEp0481-Ep0490 +https://archive.org/details/Hackerpublicradio.org-archiveEp0491-Ep0500 +https://archive.org/details/Hackerpublicradio.org-archiveEp0501-Ep0510 +https://archive.org/details/Hackerpublicradio.org-archiveEp0511-Ep0520 +https://archive.org/details/Hackerpublicradio.org-archiveEp0521-Ep0530 +https://archive.org/details/Hackerpublicradio.org-archiveEp0531-Ep0540 +https://archive.org/details/Hackerpublicradio.org-archiveEp0541-Ep0550 +https://archive.org/details/Hackerpublicradio.org-archiveEp0551-Ep0560 +https://archive.org/details/Hackerpublicradio.org-archiveEp0561-Ep0570 +https://archive.org/details/Hackerpublicradio.org-archiveEp0571-Ep0580 +https://archive.org/details/Hackerpublicradio.org-archiveEp0581-Ep0590 +https://archive.org/details/Hackerpublicradio.org-archiveEp0591-Ep0600 +https://archive.org/details/Hackerpublicradio.org-archiveEp0601-Ep0610 +https://archive.org/details/Hackerpublicradio.org-archiveEp0611-Ep0620 diff --git a/Home.md b/Home.md index 5d08b7b..8c78f75 100644 --- a/Home.md +++ b/Home.md @@ -1 +1,92 @@ -Welcome to the Wiki. \ No newline at end of file +# Home page for hpr-admin wiki + +This is a central place for notes about tools in the hpr-admin repository on Gitea + +## List of projects under this heading: + +This is a list of the directories in this repository, with some explanation of +what each one contains. This list is intended to link to much more detailed +information about the directory contents on this Wiki. + +- [Comment_system](Comment-System): + - Two components: + - The PHP side which takes in each comment from the form (available on + every show page) and converts it to a JSON format which is available + to authorised people on the website and is emailed to the `admin` + list. + - The scripts stored in this directory on the Gitea repo. These are + capable of decoding the email or or taking the JSON files and + offering them for approval. If approved the comment is added to the + database, otherwise it is not added. The incoming file is stored for + future access if needed. The scripts communicate the decision to the + PHP code on the server and the intermediate files are cleaned up + there. + +- [Community_News](Community-News): + - Various tools for reserving Community News slots ahead of time, making + the show notes for the Community News shows (used for the recording). + +- [Database](Database): + - Tools for making a local snapshot of the MySQL/MariaDB database (used + for testing and development), and for making database edits from the + command line on a remote system. + +- [FAQ](FAQ): + - Test document implementing the idea of a list of questions and answers + of the sort often encountered on HPR. The idea was to place them in a + searchable document (perhaps using CSS to allow the answers to revealed + on demand). The reasoning was that finding answers to questions was + often difficult; this page would provide links to the definitive + answers, each with some sort of preamble. + - The idea was not seen as desirable. + +- hpr-website: + - A very old snapshot of the HPR site. Last updated in 2020 apparently. + It's not clear whether an equivalent exists elsewhere. + +- [InternetArchive](Internet-Archive): + - Tools for uploading HPR shows to the Internet Archive (IA). + +- Link_Checker: + - Rudiments of a project to scan HPR shows looking for links which have + vanished. The intention was to identify these and attempt to find the + latest copies on the *Wayback Machine* and replace the faulty URLs with + links to the saved copies. + +- PostgreSQL_Database: + - Work was done to design and build an alternative database to the + MySQL/MariaDB version incorporating improvements to the database design + (one-to-many and many-to-many linkages for hosts and shows, tags and + shows, etc), and to make use of the advanced features offered by + PostgreSQL. + - Abandoned because of: + - Problems finding a hosting site for this database system + - Concern that maintenance of a complex database like the one + envisaged would be difficult given the lack of DBA experience + amongst the volunteers. + +- Show_Submission: + - Tools for processing new shows arriving via the submission form. + - Brief overview: + - Shows arrive from the form as JSON data, audio file(s) and assets of + various sorts + - The note formats accepted are many, form plain text, through various + markup formats to HTML5. + - The tools here assist with the processing of the notes by making a + local copy of the JSON data and any assets (not usually the audio). + The notes are assembled locally and the end product - an HTML + fragment for addition to the database, and any assets like pictures + and scripts, are sent to the server. + - The final stages of audio preparation and posting of the complete + show are performed elsewhere. + + +## Miscellaneous + +### To be incorporated into the above structure at some point + +- [Working with the Internet Archive](Working-with-the-Internet-Archive) + + diff --git a/How-To-Do-Stuff.md b/How-To-Do-Stuff.md new file mode 100644 index 0000000..71234a9 --- /dev/null +++ b/How-To-Do-Stuff.md @@ -0,0 +1,233 @@ +# How To Do Stuff + +This is the TLDR part of the documentation + +## Upload future shows to the IA + +This task uses `future_upload`. It is best run in the morning in the UK/Europe +time zones since the IA servers are based on the west coast of the USA and it +will be the early hours of the morning there. + +Sometimes the servers can be overloaded and attempts to upload will be met +with error messages and the uploader will retry. It is possible to check +whether an overload is likely by running the `ia` command, and this will be +added later. + +Run the command: +``` +./future_upload -d0 +``` + +A lot of output will be generated because `make_metadata` is run in `verbose` +mode, and the `ia` command run to perform the uploads is naturally quite +verbose. + +This script is documented elsewhere, but in brief, it does the following: + +- Looks for all audio files in the holding area (`/data/IA/uploads`). These + will be called `hprDDDD.type` where `DDDD` is a four-digit number, and + `type` is an audio type such as `mp3` and `ogg`. +- Any shows found this way are checked to see if they are on the IA, and if + not they are queued for processing. +- Once the holding area has been scanned the queued shows are uploaded: + - Metadata is generated in the form of a CSV file by `make_metadata` with + instructions for uploading the show notes and audio files. + - A Bash script file is generated by `make_metadata` which contains + commands to upload non-audio files - if there are any. + - The CSV is fed to the `ia upload` command. + - The Bash script (if any) is run. +- It can take a few minutes to possibly hours for the shows to be fully loaded + and accessible on `archive.org`. + +## Check the status of an upload + +Once the upload has finished as far as the various scripts (like +`future_upload`) are concerned the IA software takes over on the various +servers. If you have the required authorisation (being an administrator of the +`HackerPublicRadio` collection) then it's possible to use the web page for a +given show to determine if all the IA tasks are complete. + +Here is an example of what can be seen when the `History` link is activated: + +![History for show hpr1462](images/IA_history_hpr1462.png) + +## Refresh the show notes on the IA + +If the notes in the database are changed on the HPR server it's necessary to +propagate the changes to the IA. At present this is done the *hard way* by +running `make_metadata` and then running `ia`. + +When running `make_metadata` the mode chosen is just to generate the metadata +without downloading files for upload. The example below shows this being done +to correct the notes for show 3523. Note that the CSV file created is called +`metadata_3523.csv`. + +The `ia` command just updates the IA metadata. It uses the bulk mode and reads +the CSV file created above, specified with `--spreadsheet` option. + +What the warning messages returned by `ia` mean is unknown. These are not +always shown and the process always seems to work quite reliably. + +``` +$ ./make_metadata -from=3523 -out -meta -noassets +Output file: metadata_3523.csv +$ ia metadata --spreadsheet=metadata_3523.csv +hpr3523 - success: https://catalogd.archive.org/log/3114823140 +hpr3523 - warning (400): no changes to _meta.xml +hpr3523 - warning (400): no changes to _meta.xml +hpr3523 - warning (400): no changes to _meta.xml +hpr3523 - warning (400): no changes to _meta.xml +hpr3523 - warning (400): no changes to _meta.xml +``` + +The `-noassets` option is important in case the item in question contains +*assets* - supplementary files such as photographs and examples. Without this +`make_metadata` will download any assets that there may be. + +The `-out` option causes output to be written to a file where the name if +generated by the script. The `-meta` option means *metadata only* since we are +only changing metadata here. + +To update multiple shows do as the following example which adds missing notes +to shows 3555 and 3568 (added on 2022-04-18): +``` +$ ./make_metadata -list=3555,3568 -out -meta -noassets +Output file: metadata_3555-3568.csv +$ metadata=metadata_3555-3568.csv +$ ia metadata --spreadsheet=$metadata +hpr3555 - success: https://catalogd.archive.org/log/3231074147 +hpr3568 - success: https://catalogd.archive.org/log/3231074213 +``` + +## Delete a show from the IA + +This occurs when a show needs to be removed from the HPR system and the IA. +Examples in the past have been: + +- failure to get approval from a person or organisation to release the + content - perhaps delayed realisation that this is needed. +- show content that generates complaints or which might be legally dubious or + outright illegal. + +The process described here is not true deletion, since when an IA identifier +(show in our case) has been created it cannot be deleted - except by IA +Administrators, who are usually very reluctant to do it. + +What is done to the IA item is that it has all files removed and all of the +metadata is either removed or replaced by `Reserved`. + +A script has been written to assist with this called `delete_ia_item` which +takes the episode identifier as an argument. By default it runs in *dry-run* +mode where no changes are made. The script checks that the item actually +exists on the IA, then it either reports what commands it will run (in +*dry-run* mode) or it performs the commands. + +As of 2022-05-09 the live mode does not actually perform the commands, it +simply echoes them. This is because the script has not yet been fully tested +in a live situation. Once that has been done the commands will be made active. + +The commands issued use the `ia` tool described elsewhere in the Wiki. It uses +`ia delete` to remove all the files then calls `ia metadata` a number of times +to change or remove metadata fields. In some cases the removal needs to know +what values to remove, so `ia metadata` is used to write all of the metadata +to a temporary file and the `jq` tool is used to parse out the required +values. + +### TBA + +- There is a way of hiding items on the IA, which it seems that an + administrator of a collection can implement. Not clear about this but it + warrants investigation. + +## Deal with shows that are in the wrong collection + +When a show is uploaded to the IA it should be assigned to the collection +called `'hackerpublicradio'`. Very rarely, it will be assigned to the default +collections: `'Community Audio'` and `'Community Collections'`, possibly +because the metadata (which specifies the collection) is faulty or isn't read +properly. This error has been quite rare over the history of uploading shows. + +It was discovered on 2022-06-15 that show 2234 was in the wrong collections. +Tests were performed to see if any other shows had been wrongly assigned +without being noticed. + +In case it ever happens again, here are the steps which were performed: + +1. All of the identifiers in the `'hackerpublicradio'` collection were + downloaded with the command:\ + `ia search "collection:hackerpublicradio" -f identifier -s 'identifier asc' > hackerpublicradio_collection.json` + +1. This generates a file with JSON objects that look like:\ + `{"identifier": "hpr3630"}`\ + The list also contains the batches of shows uploaded before 2014. + +1. An AWK script was written to find any gaps. The script is called + `check_IA_identifiers.awk`. See below for the script and how it was run. + +1. The script was run against the JSON file, which had been filtered with `jq` + and it showed that the only missing show was 2243. + +### AWK script `check_IA_identifiers.awk` + +```awk +# check_IA_identifiers.awk, Dave Morriss, 2022-06-15 +# +# Collect all 'hprxxxx' show identifiers into a hash +# +/^hpr/{ + id[$1] = 1 +} + +# +# Post process the hash. The range is 1..3630 because that's the minimum and +# maximum show numbers as of 2022-06-15 +# +END{ + min = 1 + max = 3630 + + # + # Make a x loop counting from min to max + # + for (i = min; i <= max; i++) { + # + # Make an HPR show identifier + # + show = sprintf("hpr%04d",i) + + # + # If the id is not in the hash report it. Note you can't do "(show not + # in id)" or "!(show in id)", which seems an AWK shortcoming. + # + if (show in id == 0) { + printf ">> %s\n",show + } + } +} + +# vim: syntax=awk:ts=8:sw=4:ai:et:tw=78: + +``` + +### Running the script `check_IA_identifiers.awk` + +The way to run this is as follows: +``` +$ awk -f check_IA_identifiers.awk < <(jq -r .identifier hackerpublicradio_collection.json | grep -E 'hpr[0-9]{4}') +>> hpr2243 +``` + +The `jq` filter (in raw mode `-r`) outputs the value of the `identifier` key. +The `grep` excludes the older IA items uploaded before 2014. + +The only show found was `hpr2243`. + +### Correcting the collection(s) for a show + +This can only be done by the IA staff. Send an email to `info@archive.org` +reporting the item and explaining the issue. The item should be in the +collections 'Hacker Public Radio' and 'Podcasts'. + + diff --git a/Internet-Archive-Workflow.md b/Internet-Archive-Workflow.md new file mode 100644 index 0000000..6acade4 --- /dev/null +++ b/Internet-Archive-Workflow.md @@ -0,0 +1,92 @@ +# Internet Archive Workflow + +## Overview + +This section describes the processes used to upload Hacker Public Radio +episodes to the Internet Archive (`archive.org`). + +**Note**: This text is taken from the Wiki built under GitLab several years +ago. It's in the process of being updated for the current practices developed +since then. + +## History + +We have been adding HPR shows to the Internet Archive since 2010 when shows +1-620 were uploaded as MP3 audio in blocks of 10. + +There was a delay of four years before the current project began in 2014. +Since then shows have been uploaded individually, with show notes. The normal +cycle has been to upload the previous weeks' shows each weekend, and gradually +work through the older shows going back in time. + +Originally in the current project, all that was uploaded was the WAV format +audio and the show notes. The WAV file was transcoded to other formats by the +Internet Archive software. + +Towards the end of 2017 auxiliary files were uploaded for shows that have +them: files like pictures, examples, supplementary notes and so forth. Also, +in December 2017 we started pointing our feeds at the Internet Archive instead +of the HPR server, and, since the audio files transcoded on the Internet +Archive machines do not include audio tags, we began generating all the +formats ourselves, with tags, and uploaded them too. We also needed to upload +shows for the week ahead rather than the week just gone. + +## Workflow + +**Obsolete, needs work** + +1. As part of the process of preparing a new show the audio is transcoded to a + variety of formats. The formats are: *flac*, *mp3*, *ogg*, *opus*, *spx* + and *wav*. + +2. The audio files are copied to the Raspberry Pi `borg` in Ken's house from + the HPR server, and named `hpr.` as appropriate for the show + number and audio format (e.g. `hpr2481.wav`). They are stored in the + directory `/var/IA/uploads/`. + +3. The upload process itself, uses the + [*internetarchive*](https://internetarchive.readthedocs.io/en/latest/installation.html) + tool. This provides the + [`ia`](https://internetarchive.readthedocs.io/en/latest/cli.html) command. + There is a bulk mode which the `ia` command offers, and this is what is + used. This takes a *comma separated variable* (CSV) file, which is + generated by an HPR tool called `make_metadata` which is currently run + under the account `perloid`. + +4. The shows to be uploaded are checked for HTML errors. A script called + `clean_notes` is used which uses a Perl module called `HTML::Tidy` to check + for errors. Errors are corrected manually at this point. (TODO: explain in + more detail) + +5. The `make_metadata` script generates data for a block of shows. It collects + any associated files and saves them in the `/var/IA/uploads/` directory. It + generates a CSV file which points to the various audio formats for each + show, as well as any associated files. Further details of what this tool + can do are provided in its [documentation](make_metadata). + +6. During metadata creation the `make_metadata` script will halt if it finds + that a given show does not have a summary (extremely rare for new shows) or + tags (sadly fairly common). It is possible to override this step, but it is + preferable to supply the missing elements because they are of great use on + `archive.org`. + +7. Having created the metadata in a CSV file this is processed with the `ia` + tool. This is run in *bulk upload* mode, it reads the CSV file and creates + an item on archive.org. It uploads any audio files listed in the CSV file + as well as any associated files. (TODO: add an example) + +8. Once all uploads have completed the script + [`delete_uploaded`](delete_uploaded) is run to delete files in + `/var/IA/uploads` which have been uploaded. The VPS does not have much disk + space so deleting unnecessary files is important. + +*To be continued* + +## Example commands + +--- +Back to [home](home) page + + diff --git a/Internet-Archive.md b/Internet-Archive.md new file mode 100644 index 0000000..da2df19 --- /dev/null +++ b/Internet-Archive.md @@ -0,0 +1,24 @@ +# InternetArchive + +## Overview + +We upload all HPR shows to the Internet Archive (referred to as the *IA* here). + +Each show is an IA *item* with an URL such as: `https://archive.org/details/hpr0144`. Here the number `0144` is the show number using 4 digits with +leading zeroes. + +A show consists of a front page built from the HTML copied from the HPR database. Attached to the item are all the files associated with the show; +always the audio files and any other *assets* such as photographs, added text, scripts, etc. The intention is to make the copy of the show on the IA +stand-alone. For historical reasons, there were some shows where not all associated files had been uploaded. However, a project which ended in +December 2022 uploaded all of the missing assets. + +In 2023 text transcripts of the audio of hpr shows are being generated. All of the older shows had their transcripts generated and placed on the HPR +server. At the time of writing (2023-02-26) the uploading of the transcripts to the IA has not taken place. New show transcripts are being added to IA +items, but this is not the case for the backlog of old shows. + +--- +Back to [Home](Home) page + + diff --git a/Working-with-the-Internet-Archive.md b/Working-with-the-Internet-Archive.md new file mode 100644 index 0000000..e2b6eea --- /dev/null +++ b/Working-with-the-Internet-Archive.md @@ -0,0 +1,179 @@ +## Overview + +We upload all HPR shows to the Internet Archive (referred to as the *IA* +here). + +Each show is an IA *item* with an URL such as: +`https://archive.org/details/hpr0144`. Here the number `0144` is the show +number using 4 digits with leading zeroes. + +A show consists of a front page built from the HTML copied from the HPR +database. Attached to the item are all the files associated with the show; +always the audio files and any other *assets* such as photographs, added text, +scripts, etc. The intention is to make the copy of the show on the IA +stand-alone. For historical reasons, there are some shows where not all +associated files have yet been uploaded. There should be a record of these, +but nothing has yet been done to add missing files. + +### Status + +- At the time of writing, 2022-03-05, most of the older shows in the range + 1-870 have been uploaded (in reverse numerical order) but the last three + (1-3) have not, due to a naming clash. + +- Update 2022-08-04: the naming clash mentioned above was cleared and all + shows have now been uploaded. The project to re-upload certain shows is + ongoing. This will ensure all *assets* are on the IA and that any metadata + is up to date. + +## History + +We have been adding HPR shows to the Internet Archive since 2010 when shows +1-620 were uploaded as MP3 audio in batches of 10. For example, the audio for +shows 121-130 exist as the batch: + + +There was a delay of four years before the current project began in 2014. +Since then shows have been uploaded individually, with show notes. The original +cycle was to upload the previous weeks' shows each weekend, and gradually +work through the older shows going back in time. + +The main tools used are [`make_metadata`](make_metadata) (a locally-developed +Perl script) and `ia` (a Python script created by IA programmers). + +Originally in the current project, all that was uploaded was the WAV format +audio and the show notes. The WAV file was transcoded to other formats by the +Internet Archive software. + +Towards the end of 2017 auxiliary files were uploaded for shows that have +them: files like pictures, examples, supplementary notes and so forth. Also, +in December 2017 we started pointing our RSS feeds at the Internet Archive instead +of the HPR server, and, since the audio files transcoded on the Internet +Archive machines do not include audio tags, we began generating all the +formats ourselves, with tags, and uploaded them too. We also needed to upload +shows for the week ahead rather than the week just gone. A script called +`weekly_upload` performed the necessary steps top preload shows. This is not +currently used. + +In early 2021 the upload strategy was changed. A script called +[`future_upload`](future_upload) was written which determines if there are +shows to upload from the cacheing area on `borg`. It does this by consulting a +history file and by querying the IA itself. If shows are found they are +uploaded. + +At around the same time, a script called [`past_upload`](past_upload) was +written to upload shows in the range 1-870. This collects the show audio from +the HPR server - which is just MP3 format - transcodes it into all of the +formats required on the IA, and uploads the results. This is run on a regular +basis from `borg`, processing five shows a day so as not to overload the IA +servers. + +A SQLite database exists (called `ia.db`) which is used to hold information +about shows uploaded to the IA. This is useful to keep track of what has been +done, it is used when generating the monthly Community News show notes, and is +intended to be incorporated into the planned new HPR database design. + +## Software and other components + +This is an alphabetic list of scripts, for reference: + +### archive_metadata + +This Bash script adds metadata files (produced by `make_metadata` - see below) +to a compressed `tar` file (called `meta.tar.bz2`) and deletes the originals. +There is currently no mechanism for purging the oldest files stored in this +way. + +### check_week + +This Bash script is used to check what shows exist in the HPR database for a +particular week (by week number) and whether these shows have been uploaded to +the IA. It was created to prevent gaps from appearing in the sequence of shows +on the IA, caused by too infrequent runs of `future_upload`. + +Documentation may be found [here](check_week). + +### collect_show_data + +This Bash script is used to collect data from the IA in JSON format for adding +to the SQLite database (`ia.db`). This is being done on a local workstation +rather than on `borg`, but the database is being kept on Gitea and a copy +stored on `borg:~perloid/InternetArchive/ia.db` which is synchronised daily. + +### future_upload + +This Bash script runs on `borg` where it performs show uploads by looking at +the cache of show files (`/var/IA/uploads`) and determining which have not yet +been uploaded to the IA. Since the checks interrogate the IA and are +expensive, the script maintains a history file in `.future_upload.dat` which +lists the shows that have been uploaded. + +Documentation may be found [here](future_upload). + +### make_metadata + +This Perl script generates CSV metadata for driving the upload of HPR shows to +the Internet Archive. The script is mainly called from other scripts, because +its use is rather complex. The script itself contains its own documentation, a +copy of which is included [here](make_metadata). + +### past_upload + +A Bash script for uploading older shows to the IA on `borg`. Downloads the +audio (always `mp3` for older shows) and transcodes it to the formats used for +newer shows, maintaining id3 tags and so forth along the way. Generates CSV +metadata with `make_metadata` and uploads the shows with the `ia` tool. + +Documentation may be found [here](past_upload). + +## Dependencies + +Aside from Perl modules (which are documented in the relevant POD sections in +the scripts), the various Bash scripts perform checks on pre-requisite files +and tools. + +This is a list of these pre-requisites, starting with Bash and Perl scripts: + +### ~/bin/close_tunnel + +A Bash script to close down the SSH tunnel opened by `open_tunnel` + +### ~/bin/function_lib.sh + +A file of shared Bash functions. + +### ~/bin/open_tunnel + +A Bash script used to open an SSH tunnel to the HPR server so that scripts can +easily access the MariaDB database there. + +### ~/bin/transfer_tags + +A Perl script which transfers `id3` tags from a main file to a number of +subsidiary files. + +### ~/bin/tunnel_is_open + +A Bash script that tests whether the SSH tunnel is open. + +### ia + +A Python script from the Internet Archive used to interact with the IA +servers. This is used to interrogate the state of the collection on the IA and +to upload files. + +The tool can be installed as described here: [installing +*internetarchive*](https://archive.org/services/docs/api/internetarchive/installation.html) +This provides the `ia` command. + +### jq + +The JSON parser used to manipulate JSON files imported from the IA. + +## Links + +- [How To Do Stuff](How-To-Do-Stuff) + + diff --git a/check_week.md b/check_week.md new file mode 100644 index 0000000..c96abfe --- /dev/null +++ b/check_week.md @@ -0,0 +1,38 @@ +``` +check_week - version: 0.0.2 + +Usage: ./check_week [-h] [week_no] + +Checks a future week to ensure all the shows are on the Internet Archive. + +Options: + -h Print this help + -i Ignore shows missing from the database during the + chosen week. Normally the script does not proceed if + there are fewer than 5 shows in a week. + +Arguments: + week_no (optional, default current week) the week number to be + examined. This is a number in the range 1..52. + Anything else is illegal. + +Environment variables + check_week_DEBUG If set to a non-zero value then the debugging + statements in the script are executed. Otherwise if + set to zero, or if the variable is absent no debug + information is produced. The variable can be set + using the 'export' command or on the same line as the + command calling the script. See the example below. + +Examples + ./check_week # Check the current week + ./check_week -i # Check the current week ignoring missing shows + ./check_week 6 # Check week 6 of the current year + + check_week_DEBUG=1 ./check_week # Run with debugging enabled + +``` + + diff --git a/future_upload.md b/future_upload.md new file mode 100644 index 0000000..7341848 --- /dev/null +++ b/future_upload.md @@ -0,0 +1,94 @@ +## `future_upload` + +### Description + +This is a Bash script which uploads **all** shows which have not yet been +uploaded. It is not possible to skip any shows which are in the pending state. +It is possible to limit the number of shows uploaded in a run however - see +below. + +The script can be found on `borg` at `~perloid/InternetArchive`. It examines +the directory `/data/IA/uploads`. It scans all the files it finds there which +conform to the (POSIX extended) regular expression `'hpr[0-9]4.*'`. It uses +these to recognise shows (every time the file name changes from `hpraaaa.*` to +`hprbbbb.*` it performs checks on show `hpraaaa`). + +The script determines whether the show is already on the IA. Shows on the IA +have names (identifiers in IA terms) which conform to the pattern +`hpr`. Because these searches of the IA are expensive, only newly +discovered shows are checked in this way. If a show is already on the IA the +identifier is stored in a cache file called `.future_upload.dat`. + +The assumption is made that any show not already on the IA is eligible for +upload. With the advent of show state information available through a CMS +query, it is now possible to ignore shows which do not have the status +`MEDIA_TRANSCODED`. This addition has not been made as yet (dated 2022-05-11). + +The script collects a list of all shows ready for upload up to a limit of 20. +The IA servers can become saturated by requests that are over a certain size, +so we limit the number of shows per run to help with this. There is currently +no way to change this upper limit without editing the script, but it is +possible to request a lower limit with the `-l` option. + +A check is made on each show eligible for uploading to ensure that all of the +expected files are available. All of the transcoded audio formats are looked +for, and if any are missing the script aborts. + +Next the script runs `make_metadata` - if it is in live mode. In dry-run mode +it simply reports what would have happened. It determines the names of the +output files itself; it uses the same algorithm as `make_metadata` to ensure +the calling script uses the correct names. + +Note: It may be desirable to add a means whereby `make_metadata` could return +the file names it uses in a future release. + +Calling `make_metadata` will cause the generation of a CSV file and a Bash +script. It the run is successful the CSV "spreadsheet" is passed to the +command `ia upload --spreadsheet=` and if this is successful the Bash +script (if any) will be run. + +Any errors will result in the upload process being aborted. + +If the uploads are successful the IA identities (shows) are written to the +cache file. + +## Help output + +This is what is output when the command `./future_upload -h` is run. + +``` +future_upload - version: 0.0.5 + +Usage: ./future_upload [-h] [-v] [-D] [-d {0|1}] [-r] [-l cp] + +Uploads HPR shows to the Internet Archive that haven't yet been uploaded. This +is as an alternative to uploading the next 5 shows each week for the coming +week. + +Options: + -h Print this help + -v Run in verbose mode where more information is reported + -D Run in debug mode where a lot more information is + reported + -d 0|1 Dry run: -d 1 (the default) runs the script in dry-run + mode where nothing is uploaded but the actions that + will be taken are reported; -d 0 turns off dry-run + mode and the actions will be carried out. + -r Run in 'remote' mode, using the live database over an + (already established) SSH tunnel. Default is to run + against the local database. + -l N Control the number of shows that can be uploaded at + once. The range is 1 to 20. + +Notes: + +1. When running on 'borg' the method used is to run in faux 'local' mode. + This means we have an open tunnel to the HPR server (mostly left open) and + the default file .hpr_db.cfg points to the live database via this tunnel. + So we do not use the -r option here. This is a bit of a hack! Sorry! +``` + + + diff --git a/images/IA_history_hpr1462.png b/images/IA_history_hpr1462.png new file mode 100644 index 0000000000000000000000000000000000000000..0768f0883dedec444093b7c86ad4abe6fea1d64d GIT binary patch literal 171098 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 z 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

Sj6O8f+4=-Q}gIQEM!G z+(6XP*tlO2#?7ts4Onzv1Mhs(tW@d5%bTz23W|1F~e_nD%BiZh9Ot2mx>a^VSXccxgHsHNchh zjLvUq@D8BHNYLngbT&bDqyY-Oyms>BPiomng!br7L%w>|oVv_b(IZ#?Tt>q?a|k>h znv!lVt+8!4c(hM9ymFRT-mECV!gTcu^Tp;P2|1N5mz~06ose1o;8|y` z@bAJsYCpGb>mKo$?>k=A)8G*))9->_4P>~l$M4~G5D!lxw7635Cc_@YuCym$k#r*~ zuAL^a_?>xQaru6mx%qLyMxAHer;QqP+_z)~nUS@9i>je@2~N>9JN^ul8x~SdPUN0+KSZA@52re(T;Ght$)z00{1|1zoSIG>P zmyrA8U9nF!#-}Rv!F&88K-n?a$#B^hovxl_!Xux}3}y-wjgKq4R_czE%unx8HOh2q zSDM0a=qwoaR-E`cL#OlO-*Qxgty(71NKW5}p2Cx41Zbd}H!+>2ngHWHFa66*EQiNf zdB?-?67TECiR{{4t9yq0NW_3)T;oQq`X=w*`+-^|&%WUN!F~38>O;|cH77_p-S7B` zk#pX835L?NZ`Q0+k+7{$x|N{hFOQD?m@fOW>?CSnr1fsbwrn&9VG1VxEROR#Q8Z<~RzXsHfmuE;Q_u^N3{d|MoMa0R!omr1Kr zH*=4rVYn{0N7K1Nk@#GmthYCGT>tkrqp&x2sqjPTWbuDxF1MWaw=cH@;pEjkW(AvL zB?(aNR zT#hfZ=-ZVc@9rX8E-rxq20CWHJ^3_?Qj{}Lz^W)ywyd*Fbesi?sLkGg%FdoeKmX5^ z!w=GD=Olctc1Qt)>%I0oP^kTjp?^h1rcO?5+=~^_hT%Q!U*is$$P1JDaqc zyyip_PmmE45Bc!xW}Ku;E8)FTDl?N%!w}hc%yZ{_)ITSwqBv;zz0{gGN`TkabcI~z zLs{md5nG0)ie0Rj<|pxH$wQ`nWOIqihAPQjCTaSuhO7n`u=Ox7y?X*J)x_o0V_pe~ z%|7-XXJnGhQ+gamgB*+04mw`Sm-(oA7NI|*C=nYOYRrGvzIzYFe%RCk!%G>Nq&Vy( zy+e+jSP>lczDHtF{LlUcmX;H+RceW_wqRo;tv!jdHt%9{9r^LHlHlmLdfaUrH*uGT zp`DblyUjS1(uu2D=1yT z9c`pLv2!yM^q!wG6kVOev8SIz&x1Soq>r|AinEP{=sc(C#jcb$jekF5p1)cQ-Ad)i zdRBtr_x+v8-85%g$=eN``4H?&n<{tTuWp)y2TT|iXeBD0wVp7Ix4R$nOZoT`{KY@0 zXx^@Mnam^YO0Roov;)bdC+FQ!=m+y!I*z5&SDjTCg#MO=1Wma0Wvr!}aoI(-sx5u3 zF>~p=_hsK-xS_g4=%f`fjW9D!s^_1zkxBu@Fx(eLe3v*Gu%}kI8LMqb8J}eu#5ef2 z`RxS}r$Hep)}UcX_-^|>1H*gijsA|{ZR0A1&vx{c73YTOcdfv^w05E+MvCggVFUL{ zdkd8WyOR&q*+iClej4Yy!(Mfu6BnO{5{j#D>%OV>0=Dj{xo9Hq=L6OL)f)MvJ8p7X zk!5-eZ4XJA1N$*<(l4nq;*ZLj@U`eNFD$Hy*h*dn6 zvJGt}3klcL4<L!gT^y0nWLR?y;#YD7}m276R(=wxWe(unRXxkC}uEg(Rsj9xG ztP+wNiWJP@*8UrV>k0BpZn!;-Mp)yy&?2g)oq|-QR5e2u{ zmyXzstq(0ixlBstL5B@1cspZ`zWQdT)eho2l{aDa7F#Lrlhg5H0zqd5vt{MyrGu9| z*)6O7hro(^N%Ka=M!ki|wX3#|2<_CgHes;NmK=y<3{7A*4^; z%+&Ru-0dTF{_>s|q4p3o&Nz4y>E&+VTyqk`Dt|#Ob0DHLZS<}P@02rZ^TB1s>Jwt% z)ccevz8_~EP4@a{A%Q`6lTlNY^}=_0(2{8ru~4X#)nXR1y?faX3iwySt~0XA?FR%U zV!*F4Lw3Qcj@?xQyxfPvLzWEdedFiBC^zHwxHK<;CWG`K{Z1jKM0L%3;S4gWAn<<< zVF^5YDC_!*%nsac^cY*%VR%_0wAy3WOx%A89KLU9-Od+=d4U7N+XZ&f(m`ijsEY=I zNSAU{VX*j1oaHig?9IzR#$qA04vn=QQPp$kfghGSV0`(0T}i-F%&!z^k=?vZrQbHW z7&q>q)|5Aj>AYtv=aaT_GGdT?^+~*Q{l94|&t4{LJJaL@4W?Abgp{fza5^0-WSpZB zy57T&aSTLqAP8F8Co>7UN`EC~#`$248VOSCvV`Di;8+2Hb**Op>-VWXrXm=|+;jce zx`GRN#hLO{Tqy0F1$RXRjdUOPb$ttN%vzdA%lrh96P%aFa13?ovd7$le)H$oCvNb$ z?-t9KVpjy^byE~140>&N^0AHN-1UD)>g{SQe13V&&?deg;FveF)*g^K8gg0&?T{;P z9k6mXXTg68R1u`qSn_U^Psjan7V@qQNhYex*P6NiU?){6-RSqB{Kg(K$-8SKj13rp zn|zm^HA2JXvTbW9I@~$jD^d^3R`|8W$z{_9Pr$2g;l>AAc2PpkMCIxiDq@^$r^`=% za@!;|-}TA49K1NjAaBJ#KNT;cXwm}VtVhBxJs~y*Q8q(kBsN&)k?SOE9OY@{$)6{v zWA#fgE%xb}9PQ9A{8N*ZT1!+d&M}^$xg0OjdP%wUdki%ImBvTdZeF)PZm#!-o22Ms zaM~Mh0W_QDVe8&yJzo78p4_}#JPagoHvkQ6dBFB#`xkGqj=J9B|qD0g>06!o=y8b|J6Lz=B` zPig01ckz2U6ZLIq64&~TiCdp^y}-Iayp(v_>aw4DvZA~j$CuC)gG|510oyt`Q&5$! zmC0K~ymC#%GTfm3eT|Z}MV~@)smM*Z3&on7`|&S-*3WZ(x5RyMvdZm z=YP&b^xTDVk(FOuy>0$Nd-#2aQJIq#5r&H6|LrK<)QgAP5EVf<#?u6g7hm$O%ngEko ze)RUnde6}|V0 zfP|e53&(xGP%_ItsmLbBc*#gy^ab-+q%lmm3A;??(-V11O&#gIRw+nuR7ko;nP7x3 zk)s_3GBP%>W8E&`yojg7H6)5$W{Z*p>g3~fY*?Zk1EZMZl&p0 zM&O^=v0aqG8PRac9J4Rvi}B(TPqM|T-*^b~xcs2E+NN4!)GIRn;5P*W&m5aDTy@{ehF9#TTtsz1fyJ<>O&=1IWq-z_ zb1~ElEjM1ZO?(LM-!G^DI%ccTRjk^vYP}1nL;ciTR!f+=Rs{`M0JqvSbEoHIT{Hbl zq2?BDt2A`Y>?ATrEx#2PPH}3V^V=YkR zo$iL@`m6TX(DQn-BG?pj*h$S%dhty=C9?j8dW(Gu{sGyo8!1^6k5>v=>T)o_g}9S+ zHR}Ua%be!}gQ$hvHJ&<@Be!ij=YVSxe{`qwjl`t>MPUJr=Vzuo>qC80WO9Kkc_=xI z$p!1Y{d~BeA!0aOYM)~Uy6Ze*WF%Jk@OeVL#rb9g(H8OxX4_ ztk6tYy_r2pQ8w2bY5sgk+iNrpdG?`Vef9mKcBzXSIKqxNtnr5})ns6E%JFzTUGf_e z0iibMi$C1mUd%XK5UgGQvIMmjrxF*c{K^NW@~CYmL6={U>RYQxZ368~oPyFL2on>o z-4ff;&=_6K#v?i4<(ph6OFjBZ#-~$dF&-CQU8?4`E6kKz882n{K!K@=>O}&D z>C_t$@layrqhb!z&)!YeIVGX#2DQ+}Nx$TViS1rMG^IzpL;WmOJyy=LGkv-|Z2F>VC z0{x;M-2TWg0V8lOm+!BYHaxhPnlM=|nQ)6kx=u?M1*mk&${jo z!~{lk&Mv~7LM(C}PPf9)4|pXM9BP8*LbQb_x{YS32*xL2uZPxGT5wXLz)>%mKykW% zmt1jweI=NjYP<4w>A_I*#u`8AW*fz54FYEPj111^G-0}WjJ4K|wy2WXF5vDjRnP@-YG)}GnB3=n?4_;Y#DyDup z_zSJNrDKIav2qFQA z+6vD5^a0Cf2mRPC5g6W#hyBX6t)~pP@jqts zSkf-b(+`0IboJMPXGQw3kdrF$8Y&F318_+^y6|de7+H0PRfUr^< zK;G@sEKNQ;SBdqM*0xrlCz;v>_1BO|R?qEfwqr9?WBBmq`fA8H?R=?o89lH<|x!{mV-So05qd&82~c)9-hMPy z@N+%^;sGvjju@LgX^Dyf>fFgsC*dhL{mhhC>zaJF#{$iRB#zubVWO_C_soZhBXT>> zY2{EX-X99PlgGs>^IYP{88&AfPY%IMS~-cd8~_ov9A6?C|AxFA8morbYNbrNxF`z>cwC`M?R6kohvnYpOUe3E}enZoc3#B zNlXbUo`vVMviUawT@9qq^9-_I8Ny&)fbXHW(Uyh$%GB3RnjtuH;QsKpa(>XaJ3_bD zCL%b@F&xu;%2x3Y2L;=XJdZC~CR$enSQqfJ^A}~4IuSsZR&V0?zO#H@x&j64iSEFg zQ!WZJZ?n#|aZiPEy2I>`Q-bfnl~cx}>mAz4R-<_M?;vuERDLU1R9n8l<<{0RDR35A zk^5(4%YQPt7?c<&n^jcJJr~%#($dI8e@!-rZ~8vo{ZqV`i3!yJ zB8>Yf>KC2vJ|fq1@9(rPHH6E<&Hbd=rjaz8H_nUco%{IGAKO@4*{%2m9W_X92LsG( zoGS{76n1iNSz!6bDFN1nHR@s;@km-gXPKYGcVxb2-$5Q^&Aip}}83P$ZfwfU(t z*#jP;97{!2>sm!y^~u#Bv#w2Wq#C-5@WN5xr^QPTG!z}>QBfyx;m~k3Td8;i5-pzk ztL~aepnm#}GQ(%9mv*n!mqYuarib}7HA}TmcKf^pgFMY{J>M;#ezMC#Uk>!Sy;t7< z6)_kaPz#mb0Xpu8z#XDv=?7d}6uT9+0-WuRzBwdk8|n+JP*6KI+ql&C{IwEgUHzB}EIp^*D0SX#Maf+5m{5+4!7&HwX#4{I`;o7gh`DP4`$ZiyBsuqoyf~U;CNOl_< zA)kZy7*_W$x4XmL-%>b5>atGUE`6ivQzJ-z=0$_AGK5n-!$oweW7p1?xeNGV?Q=iY zWjL`hCXt++dYmXdvQ}$VE!SuAqH&SNC2$<~RzvJcz|E#lGyQTeETh{3<@xe0qiC1N z#1zzZ6+Qi8Q8i_RgsYqJz{Fe2?%uBB$(1#Y%T|E3ms8%F4eQNw6sN2Ah=c2mWo*C) zCobIj2in2FuM2_eskgR0K%GtGSahq@T2CRiWqqpf2NfA3*2njW z8OVEr4Q(VSGj4HGIQaHza_NNJT5ysdG6APCu7;aFdFMu`_ue@Oe_{f{0^pLvRu$*q zfBkm*RO$)W2xj3XV+YF@VL9;aNvXy4dIx+Id2{-)cq23SASu#m|4UakcWA zHwE(5&#%rPznRomAh3fjybhl#4^J3p7)AGiqm&)<;wP)R?a=hJ3UvH3Z9v}mT-iT0 zm)Qv)zh@_GlZ^(65BUr37)66E)^ir)tp(J5(uc9ZLBZHq{V3|5J#c?V9B z6#SzzV|7)B`gn!S=<%WXcult&aj>jwBeSt>Q)Fi_BY*Kfj?es)jNP-`JYzv3sx)s! zSm%`~6)3rTiGh@(>MgwOZuwLa5Zo!ns9FlKTBc`2(o7R_#@;h{(f;QDufI6F@e{%2wo< z6fs}0T4jw?*}s3e%KT`fuZ#MgM2E0UsX9^CPJSJw6f?EJ2 zIyrY}l|>-#_AOb(#!TY8)pqZGqot*DR~Dj>L7Py`_?h~*cWm8gTo2-3(gV^(@84n` ziLN!RX&HW$pi9TFgi6y(DX>Z&%W+q=43xUDcO&$3E(9Nq`~y$2R5O7jlb0{#HqKlnvRXmlZEk@1c9^)ZoQ=b3fFR^rCUia$9hEge3+l4@%6DBT7tJMVc8%NPOy5ozdogElU z?umMLW4zzX7h2Z~oQ?V`;IVLu*6yz=j_UJX1ts@uWaGVX=S1G=H5yM{GZ)h?U&uhcGOwJ{i zuZ<|SKkPuGhqg|*>Lu2zXHo2%XWgn79U027E9r$&L$8Syq+}Dz!^fuNRR@4tA`L^V z!+J6CZD>$YSfp~Y2o6jjbRTJqE9-~K5yp;lBy%%a2yu0FYkn0zLCu(N@5M`w?rB6& zJ~+3O5m#4MhX!mV5}u({dR&v~6)tn4H%2D%|Xej;HN~XHv&pd(GERtYMD+TvMkC@2)psy1h}|kR@^1I8l$y)e9+k z+?YX<8Pc_D|0GjNslW&sAehqMQt$}&@5&~>g;qikc&ZWK&8Md}B>VM4KQw!81n#Q6 z-fp@%PTV^CaXx@lZ%oBYto7#LBU?z8O5rFyA|p$aabId?i5D-!?uQKngzBaCr!#5q z2{<-_14q*GuSS9pD>E^boK5E~9H76%jEm@*o8 zPA?!*6KB4uxtBXmC$NqGjDO&b9d#atk@!6P2G|?J(3UQPu({;NF#! zM#gkP7dIbqkS;yl%U*EK#MNT6$-1j=Q*R31vAKxsh7W?yB&?r_`!eJ+K%A!pKDr-H zDQ6Fqeo{@&3vadSzUAA8umKN~1&6fW!QG>%8R3Q4(pqM2Tj^4-gtNKsSk~@{r43`mpwLWz4q8_!VdlJ^~E@SWIb48|MAu5h08O+ z@R8H~{{yL=%u+g@OSb2uf>KQ?sk+F_0-xZ zC#~He13r0LNpcNsP-;Rp^QwLjiPV#y5)6Mo@8YDO6seY1i47sWS=}W2d;p+9ca!vo zjn0^Bd0_{m@#!tD>h?-of6gZ>4Df>G>lxkxgH%aEvrW=uh6F5lNJ#(jdqYs9?A-ta z+Mz>R?`MmA_7Ta|;o+iL0WxQIdh=g78HrxaZPL)JBpHuU8zM-6qz>VOws6D#A-MZ> zw9~LVy+vMx5;1XcI91Wwf(X4gHt)YTw5iOa z9ExeD=wK23%KEN_Ks7wkB%lBFCJ?tQ9|H|lRLQ|4!AQC)9BybI5-?I~PN{;FgDWyw z-oK_GkaeQp9b%t$ZO-=^D2`;BMWvVk0g-cBBChsg%%6(o5#B9CWTb z7vE5SerI)8^6TF4d(#&w6wS?Qy0fAfaA21(I+bh_v5%y+%Je21oT8WB0Z!xVZ<*Vq z4GJB~`;RDc59Yac#Rv*_64N+++R3l|R5u`VVjkBu&Do8gIlk~B@U&qow<@gK9WHt7 zJoJi~SnR?v=`nd8%w$Jkl9(lr`cH!bR(N-rP!J(93`p`-xV0W&jGC}jtbR2Nt+Jwb z8A)$}7D?jD82D3nat9Xnh9pqSBCVo0zXcU~2PP2hQN5$n))M2a+y9vVL~@~Clj?(V zXSk}((@B5_4&J3h`TCz5uRq7y_Amb3N1E{-yPW+DCV8yZ^B=4Dz7oE1)L}ovR@yVt zvb7iRbqVzs-@T&b&{yB+!mr zlbWBsEBg^Qw!~YG-!qV33m|#+%7v3LvPereh_6KgOSf_gOyMI-fAib?_ALJ`%FCum zh!}98$6}obUyP0w*iz*!)nO2p7OlfVZzLwyiK!sg2DtUaNx?wU?L#as-x6ISbnn)F zaw!@-@{Z{J@vTzoZDPLsQ?!xBqoZxcAlHsW7J1J|odDB8B553)XjxcCw;&B&7>vCek6K)kG0!RfM#tz=#xmII`>e9>J+RGs!PzQ?#-NJrEubIH0m5_>~h4p4bN-A^i`T zDU4UVST`f2SBt5cZur4^zn@=Zv2D>;dbo*hU0iW6r>Kq9BsVr6sNWr8x!2_C49dXN z)}=F~ClbEaiI9a$#+EmA`@o20qa>HG){mEUqFi^jE-|CVP>ck_^<-+nvy1wNh(3B=cbi@%98W^5BDWNXzmwGb&6G-shR+UR^W`zi9rV5VXe z5f|Py`r8Ch;n5B%d+?;HK@zdBeoyVQmd1~X{NNn&g>QKbM2_HjI0i4z;-&6aW%V?D zT`A0VFMTk3tLf%3s5m&;cg7SRCPkFVF!fU9pN0y~E1vB8Xge>YHZh)w(Jj{@u4|y& zrXzI=Tf+2WqCGBE$I!2`Lw=LWN^G9seCUb8qhz>8V*PRyqPiUS74!db0qjQt%15OZ zZOmTzKG60oTr9ccQwp-BeixLNanuiy&qFolP8 zg-~TvUtL*t1$S~g@lA`INa=VQKStZmd{p}@PBUYtK#q~Z-N&F$Gch|Z6}7&r1DT>L zbtrDZ=swZ7nCP;t`Y?*KAI+uhhwVmoVesk5V(Cq#7;}&IE-|0_SgRTZje2ToLbUo! z&Oy@4n3K7vYg0VO0G8ahOclH~Iyv#2oy2`tKj~4(&5gp&b>I8SV2I%-JXK^25v&NS zskmlu4L54%q_<7YXpxegT7SmqP!rWlVWq7l#e7`&WZxx)&P~lZ%};gde4C6T zJp^772gc!#_8ft{^q!!zRR%`=R+frk52h4#`ibk4bQ@CE* z3rwicEQabPdqGQr-1p_?@@N%)5@L@a5qd zL8CmBdzRv7|6&^Ah0lcbLDd$41tH+;eBwzG(5v56byY$kvk-^gOPcBndAY@&N!iaM`tl+^ZNe#5on(GNaVM&o}?b2N-}TvIu&5MO3{GP;)g% zFkH4yJ(JN?m+?k}cr5oe@^6C#ufgkGalKQ;m#_~`jb^-kAq)ENZKXwr=KtbN z6`mbA*uvyBl@kU$H^dttU+8a3umkxjDG|Cj603^%)c!_o0FX81B#N5hGw?^Rraa*X z-boDH5PXuG5NI96Y=uVR{^sYI(8RynCK1hoqYpvxf0-d%IJ+Tfi&XG*w8LsK>g@fa z^o}RnWSwlLf^d5MuDdakzlBs!m*@8|?jkam&ra(#=QoOZPkCs!Mvx}vpirC1D@ica z^0+vYc6R3{a(!CFX%M*h$iM$Jyl}LlqO3|sVI0EDk79;9Y;WgXi^HqEf;9Xy2KUK+ ztBkoJ@ie4XmEsxk3z5zC1x z^H|@FgX18TU%!_Rj91psceucMj-z6HSWLw6|qU)Y^^yEF#AAHb#pWffcKvb$ia{BPYHQ_>QV9)tMwXz|l@xp4;evucBNRLaOsm?| zy>|TSW6Z7{!^y5$s==h+-&@vvCKx6thJjDGM8+9+b_A!s3c z_Lsdzi@Syc09z|XMl;KTR{6;rk}YV|1ORX>nK7VicAx{Y2%Z8G4QAOIZV_THBn>Lb z{tdLH<_&8~IOBkS@8Qnj8%Y*0WeP+svZj?S{Xd+YV{~Rgqoq&WvC&D#w#|-hCvR-q z>U7YtZKFHr*tTtTY@3tsu65VUo%uIE&sueSs_Ildwf6=Cib;Qk?WgZ78ZLVhblDm$ znxZLXoJS{;PQAnHblXocQOZ8 zWqj6k3uV=a?focYCMGVCVqIbjLeoWTy}>AEAffx-M%WYNKk)1?oC>F@hkO!0fV3?D zSlZdq)LfV&30W8|NYfsc)2czdiNgV@-h3AwZ<52!A#iw&4ydrdeE42+6x}MqFa8;4 zIJQL+%%!`pPy7F?_Z(wHXwbUlv6 z`4;g$fYQwC5Kl{n@`JZ)wHG7cObEWHP)viMRo)q1Tf2hoFDDFe6ZbvNHf%f24}vqZ zc_Na{-kFCp`}H12Pp4^EVaee-^s$0+UE|SBHNS|+_i3x*_?VwC697utOHIMSi^u3% z6El4CTAo*2i0E3dXzhiqa1m0d z{{E+B&W|SLLRGJ6fU5xl`YQy=ub^@(%&wo$BXNBZ-!|PtU0aLCuw$-Spos1r_iZ}! zY-c)=zPZORlb}^!U$I5d#{CkmuT+&;PNH!4H#Y|E{b~LEt_yeoD#^ zF`dV2Zx@pZpp?QXTUq-MsDAJ*B_8bNrEQhdej~TzZ_rlx(Pk8JCJQ({GjXYhKmg7I z_`(}9O@Mm_s68YuhH^3bWKO;Nd^zmEQi$!U;?6xMnJN;VQUk$KXWw`ODTQ2T;3_}(>_a*a9e{H z9iv`Qn`mhha`=D&7VWyH2>}C{rt7bt)KZ&G&%`;vU=fMAX-KfwD-^vL=2`mDAT&CQjwksIF?Xt#CCIr%#-inxk*t> z;{ERxVc4hO;yhk2@P%S2s{M%i*<-$KMSwYGjM!zqnRCAJY=$zLKtl{*U6 zu0oE`Zq|-zfRO9v??OEoewywyh`avW>*A899^J06o1W4XP-Ea;Cpx7uq@mvUw1874 zJ4|Tt=MNRnG!s)-0ck#≫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 z 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

p+5Cdn<{)zIw{8X8 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 0 (zero is the default, no debugging output). + The levels are: + + Values are: + + 1. Reports all of the settings taken from the configuration file, the provided + command line options or their default values. The report is generated early on + in the processing of these values. Use **-debug=2** for information about the + next stages. + 2. Reports the following (as well as the data for level 1): + - . + + Details of the start date chosen + + - . + + Details of the year, name of month, readable date, and recording start and end + times. + + - . + + The subject line chosen for the email. + + - . + + The date of the show being searched for in the database. + + - . + + The number of the show found in the database. + +- **-month=DATE** + + Defines the month for which the email will be generated using a date in that + month. Normally (without this option) the current month is chosen and the date + of recording computed with in it. The month specified here is provided as + a ISO8601 date such as 2014-03-08 (meaning March 2014) or 1-Jan-2017 (meaning + January 2017). Only the year and month parts are used but a valid day must be + present. + +- **-\[no\]mail** + + \*\* NOTE \*\* The sending of mail does not work at present, and **-nomail** should + always be used. + + Causes mail to be sent (**-mail**) or not sent (**-nomail**). If the mail is + sent then it is sent via the local MTA (in the assumption that there is one). + If this option is omitted, the default is **-nomail**, in which case the + message is appended to the file **mailer.testfile** in the current directory. + +- **-from=FROM\_ADDRESS** + + \*\* NOTE \*\* The sending of mail does not work at present. + + This option defines the address from which the message is to be sent. This + address is used in the message header; the message envelope will contain the + _real_ sender. + +- **-to=TO\_ADDRESS** + + \*\* NOTE \*\* The sending of mail does not work at present. + + This option defines the address to which the message is to be sent. + +- **-date=DATE** + + This is an option provides a non-default date for the recording. Normally the + script computes the next scheduled date based on the algorithm "Saturday + before the first Monday of the next month" starting from the current date or + the start of the month given in the **-month=DATE** option. If for any reason + a different date is required then this may be specified via this option. + + The recording date should be given as an ISO8601 date (such as 2014-03-08). + +- **-start=START\_TIME** + + The default start time is defined in the configuration file, but if it is + necessary to change it, this option can be used to do it. The **START\_TIME** + value must be a valid **HH:MM** time specification. + +- **-end=END\_TIME** + + The default end time is defined in the configuration file, but if it is + necessary to change it, this option can be used to do it. The **END\_TIME** + value must be a valid **HH:MM** time specification. + +- **-config=FILE** + + This option defines a configuration file other than the default + **.make\_email.cfg**. The file must be formatted as described below in the + section _CONFIGURATION AND ENVIRONMENT_. + +- **-dbconfig=FILE** + + This option defines a database configuration file other than the default + **.hpr\_db.cfg**. The file must be formatted as described below in the section + _CONFIGURATION AND ENVIRONMENT_. + + The default file is configured to open a local copy of the HPR database. An + alternative is **.hpr\_livedb.cfg** which assumes an SSH tunnel to the live + database and attempts to connect to it. Use the script _open\_tunnel_ to open + the SSH tunnel. + +# DESCRIPTION + +Makes and sends(\*) an invitation email for the next Community News with times per +timezone. The message is structured by a Template Toolkit template, so its +content can be adjusted without changing this script. + +In normal operation the script computes the date of the next recording using +the algorithm "Saturday before the first Monday of the next month" starting +from the current date or the start of the month (and year) given in the +**-month=DATE** option. + +It uses the recording date (**-date=DATE** option) to access the MySQL database +to find the date on which the show will be released. It does that so the notes +on that show can be viewed by the volunteers recording the show. These notes +are expanded to be usable during the recording, with comments relating to +earlier shows being displayed in full, and any comments missed in the last +recording highlighted. Comments made to shows during the past month can be +seen as the shows are visited and discussed. + +The email generated by the script is sent to the HPR mailing list, usually on +the Monday prior to the weekend of the recording. + +Notes: +\* Mail sending does not work at present. + +# DIAGNOSTICS + +- **Unable to find ...** + + The configuration file specified in **-config=FILE** (or the default file) + could not be found. + +- **Use only one of -month=MONTH or -date=DATE** + + These options are mutually exclusive. See their specifications earlier in this + document. + +- **Missing start/end time(s)** + + One or both of the start and end times is missing, either from the configuration file or + from the command line options. + +- **Missing template file ...** + + The template file specified in the configuration file could not be found. + +- **Various database messages** + + The program can generate warning messages from the database. + +- **Invalid -date=DATE option '...'** + + An invalid date has been supplied via this option. + +- **Date is in the past '...'** + + The date specified in **-date=DATE** is in the past. + +- **Invalid -month=DATE option '...'** + + An invalid date has been supplied via this option. + +- **Date is in the past '...'** + + The month specified in **-month=DATE** is in the past. + +- **Various Template Toolkit messages** + + The program can generate warning messages from the Template. + +- **Couldn't send message: ...** + + The email mesage has been constructed but could not be sent. See the error + returned by the mail subsystem for more information. + +# CONFIGURATION AND ENVIRONMENT + +## EMAIL CONFIGURATION + +The program obtains the settings it requires for preparing the email from +a configuration file, which by default is called **.make\_email.cfg**. This file +needs to contain the following data: + + + server = MUMBLE_SERVER_NAME + port = MUMBLE_PORT + room = NAME_OF_ROOM + starttime = 18:00:00 + endtime = 20:00:00 + template = NAME_OF_TEMPLATE + + +## DATABASE CONFIGURATION + +The program obtains the credentials it requires for connecting to the HPR +database by loading them from a configuration file. The default file is called +**.hpr\_db.cfg** and should contain the following data: + + + host = 127.0.0.1 + port = PORT + name = DBNAME + user = USER + password = PASSWORD + + +The file **.hpr\_livedb.cfg** should be available to allow access to the +database over an SSH tunnel which has been previously opened. + +# DEPENDENCIES + + DBI + Date::Calc + Date::Parse + DateTime + DateTime::Format::Duration + DateTime::TimeZone + Getopt::Long + Mail::Mailer + Pod::Usage + Template + +# BUGS AND LIMITATIONS + +There are no known bugs in this script. +Please report problems to Dave Morriss (Dave.Morriss@gmail.com) +Patches are welcome. + +# AUTHOR + +Dave Morriss (Dave.Morriss@gmail.com) 2013 - 2023 + +# LICENCE AND COPYRIGHT + +Copyright (c) Dave Morriss (Dave.Morriss@gmail.com). All rights reserved. + +This program is free software. You can redistribute it and/or modify it under +the same terms as perl itself. + +--- +Back to [Community_News](Community-News) page + diff --git a/make_metadata.md b/make_metadata.md new file mode 100644 index 0000000..bbf17da --- /dev/null +++ b/make_metadata.md @@ -0,0 +1,582 @@ +# NAME + +make\_metadata - Generate metadata from the HPR database for Archive.org + +# VERSION + +This documentation refers to make\_metadata version 0.4.11 + +# USAGE + + make_metadata [-help] [-documentation] + + make_metadata -from=FROM [-to=TO] [-count=COUNT] [-output[=FILE]] + [-script[=FILE]] [-[no]meta_only] [-[no]fetch] + [-[no]assets] [-[no]silent] [-[no]verbose] [-[no]test] + [-[no]ignore_missing] [-config=FILE] [-dbconfig=FILE] [-debug=N] + + make_metadata -list=LIST [-output[=FILE]] [-script[=FILE]] + [-[no]meta_only] [-[no]fetch] [-[no]assets] [-[no]silent] + [-[no]verbose] [-[no]test] [-[no]ignore_missing] [-config=FILE] + [-dbconfig=FILE] [-debug=N] + + Examples: + + make_metadata -from=1234 -nofetch + + make_metadata -from=1234 -to=1235 + + make_metadata -from=1234 -count=10 + + make_metadata -from=1 -to=3 -output=metadata_1-3.csv + + make_metadata -from=1500 -to=1510 -out=metadata_1500-1510.csv -verbose + + make_metadata -from=1500 -to=1510 -out=metadata_%d-%d.csv -verbose + + make_metadata -from=500 -to=510 -out=metadata_%04d-%04d.csv -verbose + + make_metadata -from=1500 -to=1510 -out -verbose + + make_metadata -from=1500 -to=1510 -out + + make_metadata -from=1675 -to=1680 -out=metadata_%d-%d.csv -meta_only + + make_metadata -from=1450 -test + + make_metadata -list='1234,2134,2314' -out -meta_only + + make_metadata -list="931,932,933,935,938,939,940" -out -meta -ignore + + make_metadata -dbconf=.hpr_livedb.cfg -from=1234 -to=1235 + + make_metadata -from=3004 -out -meta_only -noassets + +# OPTIONS + +- **-help** + + Reports brief information about how to use the script and exits. To see the + full documentation use the option **-documentation** or **-man**. Alternatively, + to generate a PDF version use the _pod2pdf_ tool from + _http://search.cpan.org/~jonallen/pod2pdf-0.42/bin/pod2pdf_. This can be + installed with the cpan tool as App::pod2pdf. + +- **-documentation** or **-man** + + Reports full information about how to use the script and exits. Alternatively, + to generate a PDF version use the _pod2pdf_ tool from + _http://search.cpan.org/~jonallen/pod2pdf-0.42/bin/pod2pdf_. This can be + installed with the cpan tool as App::pod2pdf. + +- **-debug=N** + + Run in debug mode at the level specified by _N_. Possible values are: + + - **0** + + No debugging (the default). + + - **1** + + TBA + + - **2** + + TBA + + - **3** + + TBA + + - **4 and above** + + The metadata hash is dumped. + + Each call of the function _find\_links\_in\_notes_ is reported. On finding an + <a> or <img> tag the _uri_ value is shown, as is any fragment and the related + link. The original file is reported here. + + Each call of the function _find\_links\_in\_file_ is reported. On finding an + <a> or <img> tag the _uri_ value is shown, as is any fragment and the related + link. The original file is reported here, and if a link is to be ignored this + is reported. + +- **-from=NUMBER** + + This option defines the starting episode number of a group. It is mandatory to + provide either the **-from=NUMBER** option or the **-list=LIST** option (see + below). + +- **-to=NUMBER** + + This option specifies the final episode number of a group. If not given the + script generates metadata for the single episode indicated by **-from**. + + The value given here must be greater than or equal to that given in the + **-from** option. The option must not be present with the **-count** option. + + The difference between the episode numbers given by the **-from** and **-to** + options must not be greater than 20. + +- **-count=NUMBER** + + This option specifies the number of episodes to process (starting from the + episode number specified by the **-from**) option. The option must not be + present with the **-to** option. + + The number of episodes specified must not be greater than 20. + +- **-list=LIST** + + This option is an alternative to **-from=NUMBER** and its associated modifying + options. The **LIST** is a comma-separated list of not necessarily consecutive + episode numbers, and must consist of at least one and no more than 20 numbers. + + This option is useful for the case when non-sequential episode numbers are to + be uploaded, and is particularly useful when repairing elements of particular + episodes (such as adding summary fields and tags) where they have already + been uploaded. + + For example, the following shows have no summary and/or tags, but the shows + are already in the IA. The missing items have been provided, so we wish to + update the HTML part of the upload: + + $ ./make_metadata -list='2022,2027,2028,2029,2030,2033' -out -meta + Output file: metadata_2022-2033.csv + +- **-output\[=FILE\]** + + This option specifies the file to receive the generated CSV data. If omitted + the output is written to **metadata.csv** in the current directory. + + The file name may contain one or two instances of the characters '%d', with + a leading width specification if desired (such as '%04d'). These will be + substituted by the **-from=NUMBER** and **-to=NUMBER** values or if + **-from=NUMBER** and **-count=NUMBER** are used, the second number will be the + appropriate endpoint (adding the count to the starting number). If neither of + the **-to=NUMBER** and **-count=NUMBER** options are used then there should only + be one instance of '%d' or the script will abort. + + If no value is provided to **-output** then a suitable template will be + generated. It will be 'metadata\_%04d.csv' if one episode is being processed, and + 'metadata\_%04d-%04d.csv' if a range has been specified. + + Example: + + ./make_metadata -from=1430 -out=metadata_%04d.csv + + the output file name will be **metadata\_1430.csv**. The same effect can be + achieved with: + + ./make_metadata -from=1430 -out= + + or + + ./make_metadata -from=1430 -out + +- **-script\[=FILE\]** + + This option specifies the file to receive commands required to upload certain + files relating to a show. If omitted the commands are written to **script.sh** + in the current directory. + + The file name may contain one or two instances of the characters '%d', with + a leading width specification if desired (such as '%04d'). These will be + substituted by the **-from=NUMBER** and **-to=NUMBER** values or if + **-from=NUMBER** and **-count=NUMBER** are used, the second number will be the + appropriate endpoint (adding the count to the starting number). If neither of + the **-to=NUMBER** and **-count=NUMBER** options are used then there should only + be one instance of '%d' or the script will abort. + + If no value is provided to **-script** then a suitable template will be + generated. It will be 'script\_%04d.sh' if one episode is being processed, and + 'script\_%04d-%04d.sh' if a range has been specified. + + Example: + + ./make_metadata -from=1430 -script=script_%04d.sh + + the output file name will be **script\_1430.sh**. The same effect can be + achieved with: + + ./make_metadata -from=1430 -script= + + or + + ./make_metadata -from=1430 -script + +- **-\[no\]fetch** + + This option controls whether the script attempts to fetch the MP3 audio file + from the HPR website should there be no WAV file in the upload area. The + default setting is **-fetch**. + + Normally the script is run as part of the workflow to upload the metadata and + audio to archive.org. The audio is expected to be a WAV file and to be in the + location referenced in the configuration file under the 'uploads' label. + However, not all of the WAV files exist for older shows. + + When the WAV file is missing and **-fetch** is selected or defaulted, the + script will attempt to download the MP3 version of the audio and will store it + in the 'uploads' area for the upload script (**ias3upload.pl** or **ia**) to + send to archive.org. If the MP3 file is not found then the script will abort. + + If **-fetch** is specified (or defaulted) as well as **-nometa\_only** (see + below) then the audio file fetching process will not be carried out. This is + because it makes no sense to fetch this file if it's not going to be + referenced in the metadata. + +- **-\[no\]assets** + + This option controls the downloading of any assets that may be associated with + a show. Assets are the files held on the HPR server which are referenced by + the show. Examples might be photographs, scripts, and supplementary notes. + Normally all such assets are collected and stored in the upload area and are + then sent to the archive via the script. The notes sent to the archive are + adjusted to refer to these notes on archive.org, making the HPR episode + completely self-contained. + +- **-\[no\]meta\_only** (alias **-\[no\]noaudio**) + + This option controls whether the output file will contain a reference to the + audio file(s) or only the metadata. The default is **-nometa\_only** meaning that + the file reference(s) and the metadata are present. + + Omitting the file(s) allows the metadata to be regenerated, perhaps due to + edits and corrections in the database, and the changes to be propagated to + archive.org. If the file reference(s) exist(s) in the metadata file then the + file(s) must be available at the time the uploader is run. + + Note that making changes this way is highly preferable to editing the entry on + archive.org using the web-based editor. This is because there is a problem + with the way HTML entities are treated and this can cause the HTML to be + corrupted. + +- **-\[no\]silent** + + The option enables (**-silent**) and disables (**-nosilent**) _silent mode_. + When enabled the script reports nothing on STDOUT. If the script cannot find + the audio files and downloads the MP3 version from the HPR site for upload to + archive.org then the downloads are reported on STDERR. This cannot be + disabled, though the STDERR output could be redirected to a file or to + /dev/null. + + If **-silent** is specified with **-verbose** then the latter "wins". + + The script runs with silent mode disabled by default. When **-nosilent** is + used with **-noverbose** the script reports the output file name and nothing + else. + +- **-\[no\]verbose** + + This option enables (**-verbose**) and disables (**-noverbose**) + _verbose mode_. When enabled the script reports the metadata it has collected + from the database before writing it to the output file. The data is reported + in a more readable mode than examining the CSV file, although another script + **show\_metadata** is also available to help with this. + + If **-verbose** is specified with **-silent** then the former "wins". + + The script runs with verbose mode disabled by default. + +- **-\[no\]ignore\_missing** + + The script checks each episode to ensure it has a summary and tags. If either + of these fields is missing then a warning message is printed for that episode + (unless **-silent** has been chosen), and if any episodes are lacking this + information the script aborts without producing metadata. If the option + **-ignore\_missing** is selected then the warnings are produced (dependent on + **-silent**) but the script runs to completion. + + The default setting is **-noignore\_missing**; the script checks and aborts if + any summaries or tags are missing. + +- **-\[no\]test** + + DO NOT USE! + + This option enables (**-test**) and disables (**-notest**) + _test mode_. When enabled the script generates metadata containing various + test values. + + In test mode the following changes are made: + + - . + + The item names, which normally contain 'hprnnnn', built from the episode + number, have 'test\_' prepended to them. + + - . + + The collection, which is normally a list containing 'hackerpublicradio' and + 'podcasts', is changed to 'test\_collection'. Items in this collection are + normally deleted by Archive.org after 30 days. + + - . + + The contributor, which is normally 'HackerPublicRadio' is changed to + 'perlist'. + + **NOTE** The test mode only works for the author! + +- **-config=FILE** + + This option allows an alternative script configuration file to be used. This + file defines various settings relating to the running of the script - things + like the place to look for the files to be uploaded. It is rare to need to use + any other file than the default since these are specific to the environmewnt + in which the script runs. However, this has been added at the same time as an + alternative database configuration option was added. + + See the CONFIGURATION AND ENVIRONMENT section below for the file format. + + If the option is omitted the default file is used: **.make\_metadata.cfg** + +- **-dbconfig=FILE** + + This option allows an alternative database configuration file to be used. This + file defines the location of the database, its port, its name and the username + and password to be used to access it. This feature was added to allow the + script to access alternative databases or the live database over an SSH + tunnel. + + See the CONFIGURATION AND ENVIRONMENT section below for the file format. + + If the option is omitted the default file is used: **.hpr\_db.cfg** + +# DESCRIPTION + +This script generates metadata suitable for uploading Hacker Public Radio +episodes to the Internet Archive (archive.org). + +The metadata is in comma-separated variable (CSV) format suitable for +processing with an upload script. The original upload script was called +**ias3upload.pl**, and could be obtained from +_https://github.com/kngenie/ias3upload_. This script is no longer supported +and **make\_metadata** no longer generates output suitable for it (though it is +simple to make it compatible if necessary). The replacement script is called +**internetarchive** which is a Python tool which can also be run from the +command line. It can be found at _https://github.com/jjjake/internetarchive_. + +The **make\_metadata** script generates CSV from the HPR database. It looks up +details for each episode selected by the options, and performs various +conversions and concatenations. The goal is to prepare items for the Internet +Archive with as much detail as the format can support. + +The resulting CSV file contains a header line listing the field names required +by archive.org followed by as many CSV lines of episode data as requested (up +to a limit of 20). + +Since the upload method uses the HTTP protocol with fields stored in headers, +there are restrictions on the way HTML can be formatted in the **Details** +field. The script converts newlines, which are not allowed into _<br/_> tags +where necessary. + +HPR shows often have associated files, such as pictures, examples, long-form +notes and so forth. The script finds these and downloads them to the cache +area where the audio is kept and writes the necessary lines to the CSV file to +ensure they are uploaded with the show. It modifies any HTML which links to +these files to link to the archive.org copies in order to make the complete +show self-contained. + +# DIAGNOSTICS + +- **Configuration file ... not found** + + One or more of the configuration files has not been found. + +- **Path ... not found** + + The path specified in the **uploads** definition in the configuration file + **.make\_metadata.cfg** does not exist. Check the configuration file. + +- **Configuration data missing** + + While checking the configuration file(s) the script has detected that settings + are missing. Check the details specified below and provide the missing + elements. + +- **Mis-match between @fields and %dispatch!** + + An internal error in the script has been detected where the elements of the + @fields array do not match the keys of the %dispatch hash. This is probably the + result of a failed attempt to edit either of these components. + + Correct the error and run the script again. + +- **Invalid list; no elements** + + There are no list elements in the **-list=LIST** option. + +- **Invalid list; too many elements** + + There are more than the allowed 20 elements in the list specified by the + **-list=LIST** option. + +- **Failed to parse -list=...** + + A list was specified that did not contain a CSV list of numbers. + +- **Invalid starting episode number (...)** + + The value used in the **-from** option must be greater than 0. + +- **Do not combine -to and -count** + + Using both the **-to** and **-count** is not permitted (and makes no sense). + +- **Invalid range; ... is greater than ...** + + The **-from** episode number must be less than or equal to the **-to** number. + +- **Invalid range; range is too big (>20)** + + The difference between the starting and ending episode number is greater than + 20. + +- **Invalid - too many '%d' sequences in '...'** + + There were more than two '%d' sequences in the the name of the output file if + a range of episodes is being processed, or more than one if a single episode + has been specified. + +- **Invalid - too few '%d' sequences in '...'** + + There were fewer than two '%d' sequences in the the name of the output file + when a range of episodes was being processed. + +- **Unable to open ... for output: ...** + + The script was unable to open the requested output file. + +- **Unable to find or download ...** + + The script has not found a _.WAV_ file in the cache area so has attempted to + download the _MP3_ copy of the audio from the HPR website. This process has + failed. + +- **Failed to find requested episode** + + An episode number could not be found in the database. This error is not fatal. + +- **Nothing to do** + + After processing the range of episodes specified the script could not find + anything to do. This is most often caused by all of the episodes in the range + being invalid. + +- **Aborted due to missing summaries and/or tags** + + One or more of the shows being processed does not have a summary or tags. The + script has been told not to ignore this so has aborted before generating + metadata. + +- **HTML::TreeBuilder failed to parse notes: ...** + + The script failed to parse the HTML in the notes of one of the episodes. This + indicates a serious problem with these notes and is fatal since these notes + need to be corrected before the episode is uploaded to the Internet Archive. + +- **HTML::TreeBuilder failed to process ...: ...** + + While parsing the HTML in a related file the parse has failed. The file being + parsed is reported as well as the error that was encountered. This is likely + due to bad HTML. + +- **Unable to open ... for writing: ...** + + The script is attempting to open an HTML file which it has downloaded to + write back edited HTML, yet the open has failed. The filename is in the error + message as is the cause of the error. + +# CONFIGURATION AND ENVIRONMENT + +This script reads two configuration files in **Config::General** format +(similar to Apache configuration files) for the path to the files to be +uploaded and for credentials to access the HPR database. Two files are used +because the database configuration file is used by several other scripts. + +The general configuration file is **.make\_metadata.cfg** (although this can be +overridden through the **-config=FILE** option) and contains the following +lines: + + uploads = "" + filetemplate = "hpr%04d.%s" + baseURL = "http://hackerpublicradio.org" + URLtemplate = "http://hackerpublicradio.org/local/%s" + IAURLtemplate = "http://archive.org/download/%s/%s" + +The _uploads_ line defines where the WAV files are to be found (currently +_/var/IA/uploads_ on the VPS). The same area is used to store downloaded MP3 +files and any supplementary files associated with the episode. + +The _filetemplate_ line defines the format of an audio file such as +_hpr1234.wav_. This should not be changed. + +The _baseURL_ line defines the common base for download URLs. It is used when +parsing and standardising URLs relating to files on the HPR server. + +The _URLtemplate_ line defines the format of the URL required to download the +MP3 audio. This should not be changed except in the unlikely event that the +location of audio files on the server changes. + +The _IAURLtemplate_ line defines the format of URLs on archive.org which is +used when generating new links in HTML notes or supplementary files. + +The database configuration file is **.hpr\_db.cfg** (although this can be +overridden through the **-dbconfig=FILE** option). + +The layout of the file should be as follows: + + + host = 127.0.0.1 + port = PORT + name = DATABASE + user = USERNAME + password = PASSWORD + + +# DEPENDENCIES + + Carp + Config::General + DBI + Data::Dumper + File::Find::Rule + File::Path + Getopt::Long + HTML::Entities + HTML::TreeBuilder + IO::HTML + LWP::Simple + List::MoreUtils + List::Util + Pod::Usage + Text::CSV_XS + +# BUGS AND LIMITATIONS + +There are no known bugs in this module. +Please report problems to Dave Morriss (Dave.Morriss@gmail.com) +Patches are welcome. + +# AUTHOR + +Dave Morriss (Dave.Morriss@gmail.com) + +# LICENCE AND COPYRIGHT + +Copyright (c) 2014-2019 Dave Morriss (Dave.Morriss@gmail.com). +All rights reserved. + +This module is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. See perldoc perlartistic. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + diff --git a/make_shownotes.md b/make_shownotes.md new file mode 100644 index 0000000..9102108 --- /dev/null +++ b/make_shownotes.md @@ -0,0 +1,566 @@ +# NAME + +make\_shownotes - Make HTML show notes for the Hacker Public Radio Community News show + +# VERSION + +This documentation refers to **make\_shownotes** version 0.1.3 + +# USAGE + + make_shownotes [-help] [-doc] [-from=DATE] [-[no]comments] + [-[no]markcomments] [-[no]ctext] [-lastrecording=DATETIME] + [-[no]silent] [-out=FILE] [-episode=[N|auto]] [-[no]overwrite] + [-mailnotes[=FILE]] [-anyotherbusiness=FILE] [-template=FILE] + [-config=FILE] [-interlock=PASSWORD] + +# OPTIONS + +- **-help** + + Displays a brief help message describing the usage of the program, and then exits. + +- **-doc** + + Displays the entirety of the documentation (using a pager), and then exits. To + generate a PDF version use: + + pod2pdf make_shownotes --out=make_shownotes.pdf + +- **-from=DATE** + + This option is used to indicate the month for which the shownotes are to be + generated. The script is able to parse a variety of date formats, but it is + recommended that ISO8601 YYYY-MM-DD format be used (for example 2014-06-30). + + The day part of the date is ignored and only the month and year parts are + used. + + If this option is omitted the current month is used. + +- **-\[no\]comments** + + This option controls whether the comments pertaining to the selected month are + included in the output. If the option is omitted then no comments are included + (**-nocomments**). + +- **-\[no\]markcomments** or **-\[no\]mc** + + This option controls whether certain comments are marked in the HTML. The + default is **-nomarkcomments**. The option can be abbreviated to **-mc** and + **-nomc**. + + The scenario is that we want to use the notes the script is generating while + making a Community News recording and we also want them to be the show notes + in the database once the show has been released. + + Certain comments relating to shows earlier than this month were already + discussed last month because they were made before that show was recorded. We + don't want to read them again during this show, so a means of marking them is + needed. + + The script determines the date of the last recording (or it can be specified + with the **-lastrecording=DATETIME** option, or its abbreviation + **-lr=DATETIME**) and passes it to the template. The template can then compare + this date with the dates of the relevant comments and take action to highlight + those we don't want to re-read. It is up to the template to do what is + necessary to highlight them. + + The idea is that we will turn off the marking before the notes are released + \- they are just for use by the people recording the episode. + + Another action is taken during the processing of comments when this option is + on. On some months of the year the recording is made during the month itself + because the first Monday of the next month is in the first few days of that + month. For example, in March 2019 the date of recording is the 30th, and the + show is released on April 1st. Between the recording and the release of the + show there is time during which more comments could be submitted. + + Such comments should be in the notes for March (and these can be regenerated + to make sure this is so) but they will not have been read on the March + recording. The **make\_shownotes** script detects this problem and, if + **-markcomments** is set (and comments enabled) will show a list of any + eligible comments in a red highlighted box. This is so that the volunteers + recording the show can ensure they read comments that have slipped through + this loophole. The display shows the entire comment including the contents, + but disappears when the notes are refreshed with **-nomarkcomments** (the + default). + + In this mode the preamble warning about comments to be ignored used to be + included, but now it is skipped if there are no such comments. This means one + switch can serve two purposes. + +- **-lastrecording=DATETIME** or **-lr=DATETIME** + + As mentioned for **-markcomments**, the date of the last recording can be + computed in the assumption that it's on the Saturday before the first Monday + of the month at 18:00. However, on rare occasions it may be necessary to + record on an earlier date and time, which cannot be computed. This value can + be defined with this option. + + The format can be an ISO 8601 date followed by a 24-hour time, such as + '2020-01-25 18:00'. If the time is omitted it defaults to 18:00. + +- **-\[no\]ctext** + + This option controls whether the comment text itself is listed with comments. + This is controlled by the template, but the current default template only + shows the text in the **Past shows** section of the output. The default + state is **-noctext** in which the comment texts are not written. + +- **-\[no\]silent** + + This option controls whether the script reports details of its progress + to STDERR. If the option is omitted the report is generated (**-nosilent**). + + The script reports: the month it is working on, the name of the output file + (if appropriate) and details of the process of writing notes to the database + (if the **-episode=\[N|auto\]** option is selected). + +- **-mailnotes\[=FILE\]** + + If desired, the show notes may include a section about recent discussions on + the HPR mailing list. Obviously, this text will change every month, so this + option provides a way in which an external file can be included in the show + notes. + + The filename may be omitted which is a way in which a **BLOCK** directive can + be placed in the template and used rather than the file. The **BLOCK** must be + named **default\_mail** because this is the name the script uses in this + circumstance. See **shownote\_template8.tpl** for an example of its use. + + The template must contain instructions to include the file or block. The file + name is stored in a variable '**includefile**' in the template. Directives of + the following form may be added to achive this: + + [%- IF includefile.defined %] + Constant header, preamble, etc + [%- INCLUDE $includefile %] + Other constant text or tags + [%- END %] + + The first directive causes the whole block to be ignored if there is no + **-mailnotes** option. The use of the **INCLUDE** directive means that the + included file may contain Template directives itself if desired. + + See existing templates for examples of how this is done. + +- **-anyotherbusiness=FILE** or **-aob=FILE** + + If desired the shownotes may contain an 'Any other business' section. This is + implemented in a template thus: + + [% IF aob == 1 -%] +

Any other business

+ [% INCLUDE $aobfile -%] + [%- END %] + + The template variable **aob** is set to 1 if a (valid) file has been provided, + and the name of the file is in **aobfile**. + + The included file is assumed to be HTML. + +- **-out=FILE** + + This option defines an output file to receive the show notes. If the option is + omitted the notes are written to STDOUT, allowing them to be redirected if + required. + + The output file name may contain the characters '**%s**'. This denotes the point + at which the year and month in the format **YYYY-MM** are inserted. For example + if the script is being run for July 2014 the option: + + -out=shownotes_%s.html + + will cause the generation of the file: + + shownotes_2014-07.html + +- **-episode=\[N|auto\]** + + This option provides a means of specifying an episode number in the database to + receive the show notes. + + It either takes a number, or it takes the string '**auto**' which makes the + script find the correct show number. + + First the episode number has to have been reserved in the database. This is + done by running the script '**reserve\_cnews**'. This makes a reservation with + the title "HPR Community News for <monthname> <year>". Normally Community News + slots are reserved several months in advance. + + Close to the date of the Community News show recording this script can be run + to write show notes to the database. For example: + + ./make_shownotes -from=1-Dec-2014 -out=/dev/null \ + -comm -tem=shownote_template5.tpl -ep=auto + + This will search for the episode with the title "HPR Community News for + December 2014" and will add notes if the field is empty. Note that it is + necessary to direct the output to /dev/null since the script needs to write + a copy of the notes to STDOUT or to a file. In this case we request comments + to be added to the notes, and we use the template file + **shownote\_template5.tpl** which generates an HTML snippet suitable for the + database. + + The writing of the notes to the database will fail if the field is not empty. + See the **-overwrite** option for how to force the notes to be written. + + If the **-episode=\[N|auto\]** option is omitted no attempt is made to write to + the database. + +- **-\[no\]overwrite** + + This option is only relevant in conjunction with the **-episode=\[N|auto\]** + option. If **-overwrite** is chosen the new show notes will overwrite any notes + already in the database. If **-nooverwrite** is selected, or the option is + omitted, no over writing will take place - it will only be possible to write + notes to the database if the field is empty. + +- **-template=FILE** + + This option defines the template used to generate the notes. The template is + written using the **Template** toolkit language. + + If the option is omitted then the script uses the file + **shownote\_template.tpl** in the same directory as the script. If this file + does not exist then the script will exit with an error message. + + For convenience **shownote\_template.tpl** is a soft link which points to the + file which is the current default. This allows the development of versions + without changing the usual way this script is run. + +- **-config=FILE** + + This option allows an alternative configuration file to be used. This file + defines the location of the database, its port, its name and the username and + password to be used to access it. This feature was added to allow the script + to access alternative databases or the live database over an SSH tunnel. + + See the CONFIGURATION AND ENVIRONMENT section below for the file format. + + If the option is omitted the default file is used: **.hpr\_db.cfg** + +- **-interlock=PASSWORD** + + This option was added to handle the case where the notes for a Community News + episode have been posted after the show was recorded, but, since the recording + date was not the last day of the month further comments could be added after + upload. Logically these comments belong in the previous month's shownotes, so + we'd need to add them retrospecively. + + Up until the addition of this option the script would not allow the + regeneration of the notes. This option requires a password to enable the + feature, but the password is in a constant inside the script. This means that + it's difficult to run in this mode by accident, but not particulary difficult + if it's really needed. + + Take care not to run in this mode if the notes have been edited after they + were generated! + +# DESCRIPTION + +## Overview + +This script generates notes for the next Hacker Public Radio _Community News_ +show. It does this by collecting various details of activity from the HPR +database and passing them to a template. The default template is called +**shownote\_template.tpl** and this generates HTML, but any suitable textual +format could be generated if required, by using a different template. + +## Data Gathering + +Four types of information are collected by the script: + +- - + + Details of new hosts who have released new shows in the selected month + +- - + + Details of shows which have been released in the selected month + +- - + + Details of topics on the mailing list in the past month can be included. This + is only done if the **-mailnotes=FILE** option is used. This option must + reference a file of HTML, which may contain Template directives if required. + +- - + + Comments which have been submitted to the HPR website in the selected month. + These need to be related to shows in the current period or in the past. + Comments made about shows which have not yet been released (but are visible on + the website) are not included even though they are made in the current month. + + Comments are only gathered if the **-comments** option is selected. + +## Report Generation + +The four components listed above are formatted in the following way by the +default template. + +- **New Hosts** + + These are formatted as a list of links to the hostid with the host's name. + +- **Shows** + + These are formatted into an HTML table containing the show number, title and + host name. The show title is a link to the show page on the HPR website. The + host name is a link to the host page on the website. + +- **Mailing list discussions** + + If there have been significant topics on the mailing list in the month in + question then these can be summarised in this section. This is done by + preparing an external HTML file and referring to it with the + **-mailnotes=FILE** option. If this is done then the file is included into the + template. + + See the explanation of the **-mailnotes** option for more details. + +- **Comments** + + These are formatted with <article> tags separated by horizontal lines. + A <header> shows the author name and title and a <footer> displays a link to + the show and the show's host and the show title is also included. The body of + the article contains the comment text with line breaks. + +## Variable, Field and Hash names + +If you wish to write your own template refer to the following lists for the +names of items. Also refer to the default template **shownote\_template.tpl** +for the techniques used there. (Note that **shownote\_template.tpl** is a link +to the current default template, such as **shownote\_template8.tpl**). + +The hash and field names available to the template are as follows + +- **Global variables** + + Variable Name Details + ------------- ------- + review_month The month name of the report date + review_year The year of the report date + comment_count The number of comments in total + past_count The number of comments on old shows + skip_comments Set when -comments is omitted + mark_comments Set when -markcomments is used + ctext Set when the comment bodies in the 'Past shows' + section are to be shown + last_recording The date the last recording was made + (computed if -markcomments is selected) in + Unixtime format + last_month The month prior to the month for which the notes are + being generated (computed if -markcomments is + selected) in 'YYYY-MM' format + +- **New Hosts** + + The name of the hash in the template is **hosts**. The hash might be empty if + there are no new hosts in the month. See the default template for how to + handle this. + + Field Name Details + ---------- ------- + host Name of host + hostid Host id number + +- **Show Details** + + The name of the hash in the template is **shows**. Note that there are more + fields available than are used in the default template. Note also that certain + field names are aliases to avoid clashes (e.g. eps\_hostid and ho\_hostid). + + Field Name Details + ---------- ------- + eps_id Episode number + date Episode date + title Episode title + length Episode duration + summary Episode summary + notes Episode show notes + eps_hostid The numerical host id from the 'eps' table + series The series number from the 'eps' table + explicit The explicit marker for the show + eps_license The license for the show + tags The show's tags as a comma-delimited string + version ?Obsolete? + eps_valid The valid value from the 'eps' table + ho_hostid The host id number form the 'hosts' table + ho_host The host name + email The hosts's email address (true address - caution) + profile The host's profile + ho_license The default license for the host + ho_valid The valid value from the 'hosts' table + +- **Mailing List Notes** + + The variable **includefile** contains the path to the file (which may only be + located in the same directory as the script). + +- **Comment Details** + + Two hashes are created for comments. The hash named **past** contains comments + to shows before the current month, and **current** contains comments to this + month's shows. Note that these hashes are only populated if the **-comments** + option is provided. Both hashes have the same structure. + + Field Name Details + ---------- ------- + episode Episode number + identifier_url Full show URL + title Episode title + date Episode date + host Host name + hostid Host id number + timestamp Comment timestamp in ISO8601 format + comment_author_name Name of the commenter + comment_title Title of comment + comment_text Text of the comment + comment_timestamp_ut Comment timestamp in Unixtime format + in_range Boolean (0/1) denoting whether the comment was made + in the target month + index The numerical index of the comment for a given show + + The purpose of the **in\_range** value is to denote whether a comment was made + in the target month. This is used in the script to split the comments into the + **past** and **current** hashes. It is therefore of little use in the template, + but is retained in case it might be useful. The **index** value can be used in + the template to refer to the comment, make linking URLs etc. It is generated + by the script (unfortunately it couldn't be done in the SQL). + +## Filters + +A filter called **decode\_entities** is available to the template. The reason +for creating this was when the HTML of a comment is being listed as text +(Unicode actually). Since comment text is stored in the database as HTML with +entities when appropriate this is needed to prevent the plain text showing +_&amp;_ and the like verbatim. It is currently used in **comments\_only.tpl**. + +# DIAGNOSTICS + +- **Unable to find configuration file ...** + + The nominated configuration file in **-config=FILE** (or the default file) + cannot be found. + +- **Episode number must be greater than zero** + + The **-episode=N** option must use a positive number. + +- **Episode must be a number or 'auto'** + + The **-episode=** option must be followed by a number or the word 'auto' + +- **Error: Unable to find includefile ...** + + The include file referred to in the error message is missing. + +- **Error: Unable to find template ...** + + The template file referred to in the error message is missing. + +- **Invalid -from=DATE option '...'** + + The date provided through the **-from=DATE** option is invalid. Use an ISO8601 + date in the format YYYY-MM-DD. + +- **Unable to open ... for writing: ...** + + The file specified in the **-out=FILE** option cannot be written to. This may + be because you do not have permission to write to the file or directory. + Further information about why this failed should be included in the message. + +- **Unable to initialise for writing: ...** + + The script was unable to open STDOUT for writing the report. Further + information about why this failed should be included in the message. + +- **Error: wrong show selected** + + The **-episode=N** option has been selected and the script is checking the + numbered show but has not found a Community News title. + +- **Error: show ... has a date in the past** + + The **-episode=** option has been selected and a Community News show entry has + been found in the database. However, this entry is for today's show or is in + the past, which is not permitted. It is possible to override this restriction + by using the **-interlock=PASSWORD** option. See the relevant documentation for + details. + +- **Error: show ... already has notes** + + The **-episode=** option has been selected and a Community News show entry has + been found in the database. However, this entry already has notes associated + with it and the **-overwrite** option has not been specified. + +- **Error: episode ... does not exist in the database** + + The **-episode=N** option has been selected but the script cannot find this + episode number in the database. + +- **Error: Unable to find an episode for this month's notes** + + The **-episode=auto** option has been selected but the script cannot find the + episode for the month being processed. + + Possible reasons for this are that the show has not been reserved in the + database or that the title is not as expected. Use **reserve\_cnews** to reserve + the slot. The title should be "HPR Community News for <monthname> <year>". + +# CONFIGURATION AND ENVIRONMENT + +The script obtains the credentials it requires to open the HPR database from +a configuration file. The name of the file it expects is **.hpr\_db.cfg** in the +directory holding the script. To change this will require changing the script. + +The configuration file format is as follows: + + + host = 127.0.0.1 + port = PORT + name = DATABASE + user = USERNAME + password = PASSWORD + + +# DEPENDENCIES + + Carp + Config::General + Date::Calc + Date::Parse + DateTime + DateTime::Duration + DBI + Getopt::Long + Pod::Usage + Template + Template::Filters + +# BUGS AND LIMITATIONS + +There are no known bugs in this module. +Please report problems to Dave Morriss (Dave.Morriss@gmail.com) +Patches are welcome. + +# AUTHOR + +Dave Morriss (Dave.Morriss@gmail.com) + +# LICENCE AND COPYRIGHT + +Copyright (c) 2014-2019 Dave Morriss (Dave.Morriss@gmail.com). All rights reserved. + +This module is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. See perldoc perlartistic. + +This program is distributed in the hope that it will be useful +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +--- +Back to [Community_News](Community-News) page + diff --git a/past_upload.md b/past_upload.md new file mode 100644 index 0000000..b97365f --- /dev/null +++ b/past_upload.md @@ -0,0 +1,49 @@ +``` +past_upload - version: 0.0.6 + +Usage: ./past_upload [-h] [-r] [-v] [-d {0|1}] start [count] + +Generates the necessary metadata and script and uses them to upload HPR audio +and other show-related files held on the VPS to the Internet Archive. This +script is similar to 'weekly_upload' but it's for dealing with older shows +where we only have the MP3 audio. + +Options: + -h Print this help + -v Run in verbose mode where more information is reported + -d 0|1 Dry run: -d 1 (the default) runs the script in dry-run + mode where nothing is changed but the actions that + will be taken are reported; -d 0 turns off dry-run + mode and the actions will be carried out. + -r Run in 'remote' mode, using the live database over an + (already established) SSH tunnel. Default is to run + against the local database. + -Y Answer 'Y' to the confirmation question (really don't + ask at all) + +Arguments: + start the starting show number to be uploaded + count (optional, default 1) the number of shows to be + uploaded; cannot exceed 20 + +Notes: + +1. When running on 'borg' the method used is to run in faux 'local' mode. + This means we have an open tunnel to the HPR server (mostly left open) and + the default file .hpr_db.cfg points to the live database via this tunnel. + So we do not use the -r option here. This is a bit of a hack! Sorry! + +TODO: Needs fix! + +2. There are potential problems when a show has no tags which haven't been + fully resolved. The make_metadata script fails in default mode when it + finds such a show, but this (weekly_upload) script can continue on and run + the generated script which uploads the source audio files. This can mean + the IA items end up as books! In this mode the description is not stored + and so there are no show notes. +``` + + + diff --git a/process_comments.md b/process_comments.md new file mode 100644 index 0000000..b9a666e --- /dev/null +++ b/process_comments.md @@ -0,0 +1,444 @@ +# NAME + +process\_comments + +> Process incoming comment files as email messages or JSON files + +# VERSION + +This documentation refers to process\_comments version 0.2.6 + +# USAGE + + ./process_comments [-help] [-doc] [-debug=N] [-[no]dry-run] + [-verbose ...] [-[no]live] [-[no]json] [-config=FILE] + + ./process_comments -dry-run + ./process_comments -debug=3 -dry-run + ./process_comments -verbose + ./process_comments -help + ./process_comments -json + ./process_comments -config=.hpr_livedb.cfg + +# OPTIONS + +- **-help** + + Prints a brief help message describing the usage of the program, and then exits. + +- **-doc** + + Prints the entire embedded documentation for the program, then exits. + +- **-debug=N** + + Enables debugging mode when N > 0 (zero is the default). The levels are: + + - **1** + + N/A + + - **2** + + N/A + + - **3** + + Prints all of the information described at the previous levels. + + Prints the files found in the mail spool area. + + Prints the internal details of the email, listing the MIME parts (if there are any). + + Prints the length of the MIME part matching the desired type, in lines. + + Prints the entirety of the internal structure holding details of the mail file + and the comment it contains. This follows the moderation pass. + + Prints the SQL that has been constructed to update the database. + +- **-\[no\]dry-run** + + Controls the program's _dry-run_ mode. It is off by default. In dry-run mode + the program reports what it would do but makes no changes. When off the + program makes all the changes it is designed to perform. + +- **-verbose** + + This option may be repeated. For each repetition the level of verbosity is + increased. By default no verbosity is in effect and the program prints out the + minimal amount of information. + + Verbosity levels: + + - **1** + + Prints the name of each mail (or JSON) file as it's processed. + + Prints any error messages during message validation, which are also being + logged (unless in dry-run mode) and saved for reporting later. + + Prints a notification if the comment is added to the database (or that this + would have happened in dry-run mode). + + Prints messages about the moving of each mail (or JSON) file from the + processing area, along with any errors accumulated for that file. In dry-run + mode simply indicates what would have happened. + + Prints the response code received from the server when invoking the interface + for updating comment files there. If in dry-run mode the message produced + merely indicates what would have happened. + + If validation failed earlier on then further information is produced about the + final actions taken on these files. + + - **2** + + Prints the addresses each mail message is being sent to (unless in JSON mode). + + - **3** + + Prints the JSON contents of each mail message (or of each JSON file). + +- **-\[no\]delay** + + This option controls whether the script imposes a delay on comments. The idea + is that if comments are used to rant on a subject or to pass misinformation + delaying them will help to defuse the situation. + + The default state is **-nodelay**; a delay is not imposed. Selecting **-delay** + means that comments have to be at least 24 hours old before they are + processed. The length of the delay cannot currently be changed without + altering the script. + +- **-\[no\]live** + + This option determines whether the program runs in live mode or not. The + default varies depending on which system it is being run on. + + IT SHOULD NOT USUALLY BE NECESSARY TO USE THIS! + + In live mode the program makes changes to the live database and sends messages + to the live web interface when a comment has been processed. With live mode + off the program assumes it is writing to a clone of the database and it does + not inform the webserver that a comment has been processed. + + The default for the copy of the program on the VPS is that live mode is ON. + Otherwise the default is that live mode is OFF. The setting is determined by + the sed script called **fixup.sed** on the VPS. This needs to be run whenever + a new version of the program is released. This is done as follows: + + sed -i -f fixup.sed process_comments + +- **-\[no\]json** + + This option selects JSON mode, which makes the script behave in a different + way from the default mode (**-nojson** or MAIL mode) where it processes email + containing comments. + + In JSON mode the script looks in a sub-directory called _json/_ where it + expects to find JSON files. The normal way in which these files arrive in this + directory is by using _scp_ to copy them from the HPR server (the directory + is _/home/hpr/comments_). This is a provision in case the normal route of + sending out email messages has failed for some reason. It also saves the user + from setting up the mail handling infrastructure that would otherwise be + needed. + + In JSON mode the mail handling logic is not invoked, files are searched for in + the _json/_ directory and each file is processed, moderation is requested and + the comment is added to the database. In \`**-live**\` mode the server is informed + that the comment has been processed. + + The _json/_ directory needs to have three sub-directories: _processed_, + _banned_ and _rejected_. The script will place the processed files into + these sub-directories according to the moderation choice made. This makes it + easier to see what actions were taken and helps avoid repeated processing of + the same comment. + +- **-config=FILE** + + This option defines a configuration file other than the default + _.hpr\_db.cfg_. The file must be formatted as described below in the section + _CONFIGURATION AND ENVIRONMENT_. + +# DESCRIPTION + +A script to process new comments, moderate them and add them to the HPR +database. + +In the new HPR comment system (released September 2017) a new web form is +presented in association with each show. The form can be used to submit +a comment on the show in question and takes some standard fields: the name of +the commenter, the title of the comment and the body of the comment itself. + +Once the comment has been submitted its contents are formatted as a JSON +object and are sent as a mail attachment to the address +_comments@hackerpublicradio.org_. + +Recipients of these mail messages can then perform actions on these comments +to cause them to be added to the HPR database. These actions are: approve the +comment, block it (because it is inappropriate or some form of Spam and we +want to prevent any further messages from the associated IP address), or +reject it (delete it). There is also an ignore option which skips the current +comment in this run of the script. + +This script can process an entire email message which has been saved to a file +or a file containing the JSON object (as in the email attachment). When +processing email it is expected that it will be found in a maildrop directory, +and when finished the messages will be placed in sub-directories according to +what actions were carried out. A similar logic is used for JSON files; they +are expected to be in a drop area and are moved to sub-directroies after +processing. + +## MAIL HANDLING + +One way of handling incoming mail is to use a mail client which is capable of +saving messages sent to the above address in the spool area mentioned earlier. +For example, Thunderbird can do this by use of a filter and a plugin. Other +MUA's will have similar capabilities. + +When this script is run on the mail spool area it will process all of the +files it finds. For each file it will check its validity in various ways, +display the comment then offer a moderation menu. The moderation options are +described below. + +### APPROVE + +If a comment is approved then it will be added to the database, the associated +mail file will be moved to a sub-directory (by default called '_processed_'), +and the HPR server will be notified of this action. + +### BAN + +If a comment is banned then it will not be added to the database. The mail +file will be moved to the sub-directory '_banned_' and the HPR server will be +informed that the IP address associated with the comment should be placed on +a black list. + +### REJECT + +If a comment is rejected it is not written to the database, the mail file is +moved to the sub-directory '_rejected_' and the HPR server informed that the +comment can be deleted. + +### IGNORE + +If a comment is ignored it is simply left in the mail spool and no further +processing done on it. It will be eligible for processing again when the +script is next run. + +## JSON FILE HANDLING + +As described under the description of the **-\[no\]json** option, the script +allows the processing of a multiple JSON files each containing a single +comment. The JSON is checked and all of the comment fields are verified, then +the moderation process is begun. + +Moderation in this case consists of the same steps as described above except +that no mail file actions are taken and the JSON file is moved to +a sub-directory after processing. + +# DIAGNOSTICS + +- **Unable to find configuration file ...** + + Type: fatal + + The nominated configuration file referenced in **-config=FILE** was not found. + +- **No mail found; nothing to do** + + Type: fatal + + No mail files were found in the mail spool area requiring processing. + +- **No JSON files found; nothing to do** + + Type: fatal + + No JSON files were found in the JSON spool area requiring processing. + +- **Failed to read JSON file '...' ...** + + Type: fatal + + A JSON file in the spool area could not be read with a JSON parser. + +- **Failed to parse comment timestamp ...** + + Type: fatal + + The timestamp must be converted to a format compatible with MySQL/MariaDB but + during this process the parse failed. + +- **Failed to open input file '...' ...** + + Type: fatal + + A mail file in the spool area could not be opened. + +- **Failed to move ...** + + Type: warning + + A mail file could not be moved to the relevant sub-directory. + +- **Failed to close input file '...' ...** + + Type: warning + + A mail file in the spool area could not be closed. + +- **Various error messages from the database subsystem** + + Type: fatal, warning + + An action on the database has been flagged as an error. + +- **Various error messages from the Template toolkit** + + Type: fatal + + An action relating to the template used for the display of the comment has + been flagged as an error. + +- **Invalid call to 'call\_back' subroutine; missing key** + + Type: warning + + The routine 'call\_back' was called incorrectly. The key was missing. + +- **Invalid call to 'call\_back' subroutine; invalid action** + + Type: warning + + The routine 'call\_back' was called incorrectly. The action was invalid. + +- **Error from remote server indicating failure** + + Type: warning + + While attempting to send an action to the remote server with the 'call\_back' + subroutine an error message was received. + +# CONFIGURATION AND ENVIRONMENT + +## CONFIGURATION + +The script obtains the credentials it requires to open the HPR database from +a configuration file. The name of the file it expects is **.hpr\_db.cfg** in the +directory holding the script. This can be changed through the **-config=FILE** +option if required, though the alternative file must conform to the format +below. + +The configuration file format is as follows: + + + host = 127.0.0.1 + port = PORT + name = DATABASE + user = USERNAME + password = PASSWORD + + +These settings can be used to connect to an SSH tunnel which has been +connected from a remote system (like the VPS) to the live database. Assuming +the port chosen for this is 3307 something like the following could be used: + + + host = 127.0.0.1 + port = 3307 + name = hpr_hpr + user = hpr_hpr + password = "**censored**" + + +A typical Bash script for opening a tunnel might be: + + #!/bin/bash + SSHPORT=22 + LOCALPORT=3307 + REMOTEPORT=3306 + ssh -p ${SSHPORT} -f -N -L localhost:${LOCALPORT}:localhost:${REMOTEPORT} hpr@hackerpublicradio.org + +## TEMPLATE + +The program displays the comment that is currently being processed for +moderation. It uses a template along with the Perl **Template** module to do +this. By default this template is called **process\_comments.tpl**. This can +currently be changed only by changing the program itself. + +The template is provided with the following data: + + file a scalar containing the name of the file being processed + + db a hash containing the details of the show to which the + comment relates, returned from a database query: + id the episode number + date the date of the episode + title the episode title + host the host name + + comment a hash containing the fields from the comment: + eps_id the episode number + comment_timestamp date and time of the comment + comment_author_name comment author + comment_title comment title + comment_text comment text + justification justification for posting (if + relevant) + key unique comment key + +# DEPENDENCIES + + Carp + Config::General + DBI + Data::Dumper + DateTime::Format::ISO8601 + Encode + File::Copy + File::Find::Rule + File::Slurper + Getopt::Long + HTML::Entities + HTML::Restrict + IO::Prompter + JSON + LWP::UserAgent + List::Util + Log::Handler + MIME::Parser + Mail::Address + Mail::Field + Mail::Internet + Pod::Usage + SQL::Abstract + Template + TryCatch + +# BUGS AND LIMITATIONS + +There are no known bugs in this module. +Please report problems to Dave Morriss (Dave.Morriss@gmail.com) +Patches are welcome. + +# AUTHOR + +Dave Morriss (Dave.Morriss@gmail.com) + +# LICENCE AND COPYRIGHT + +Copyright (c) 2017, 2018 Dave Morriss (Dave.Morriss@gmail.com). All rights +reserved. + +This module is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. See perldoc perlartistic. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +--- +Back to [Comment_system](Comment-System) page + diff --git a/reserve_cnews.md b/reserve_cnews.md new file mode 100644 index 0000000..0c1ebf3 --- /dev/null +++ b/reserve_cnews.md @@ -0,0 +1,186 @@ +# NAME + +reserve\_cnews - reserve Community News shows in the HPR database + +# VERSION + +This documentation refers to **reserve\_cnews** version 0.0.14 + +# USAGE + + ./reserve_cnews [-help] [-from[=DATE]] [-count=COUNT] + [-[no]dry-run] [-[no]silent] [-config=FILE] [-debug=N] + + Examples: + + ./reserve_cnews -help + ./reserve_cnews + ./reserve_cnews -from=1-June-2014 -dry-run + ./reserve_cnews -from=15-Aug-2015 -count=6 + ./reserve_cnews -from=2015-12-06 -count=1 -silent + ./reserve_cnews -from -count=1 + ./reserve_cnews -from -count=2 -debug=4 + ./reserve_cnews -config=.hpr_livedb.cfg -from=1-March-2019 -dry-run + +# OPTIONS + +- **-help** + + Prints a brief help message describing the usage of the program, and then exits. + +- **-from=DATE** or **-from** + + This option defines the starting date from which reservations are to be + created. The program ignores the day part, though it must be provided, and + replaces it with the first day of the month. + + The date format should be **DD-Mon-YYYY** (e.g. 12-Jun-2014), **DD-MM-YYYY** + (e.g. 12-06-2014) or **YYYY-MM-DD** (e.g. 2014-06-12). + + If this option is omitted the current date is used. + + If the **DATE** part is omitted the script will search the database for the + reservation with the latest date and will use it as the starting point to + generate **-count=COUNT** (or the default 12) reservations. + +- **-count=COUNT** + + This option defines the number of slots to reserve. + + If this option is omitted then 12 slots are reserved. + +- **-\[no\]dry-run** + + This option in the form **-dry-run** causes the program omit the step of adding + reservations to the database. In the form **-nodry-run** or if omitted, the + program will perform the update(s). + +- **-\[no\]silent** + + This option in the form **-silent** causes the program omit the reporting of + what it has done. In the form **-nosilent** or if omitted, the program will + report what it is doing. + +- **-config=FILE** + + This option defines a configuration file other than the default + _.hpr\_db.cfg_. The file must be formatted as described below in the section + _CONFIGURATION AND ENVIRONMENT_. + +- **-debug=N** + + Sets the level of debugging. The default is 0: no debugging. + + Values are: + + 1. Produces details of some of the built-in values used. + 2. Produces any output defined for lower levels as well as details of the values + taken from the database for use when reserving the show(s). + 3. Produces any output defined for lower levels as well as: + - . + + Details of how the \`-from\` date is being interpreted: default, computed from + the database or explicit. The actual date being used is reported. + + - . + + Details of all dates chosen and their associated sho numbers using the + algorithm "first Monday of the month". + + - . + + The show title chosen for each reservation is displayed as well as the summary. + +# DESCRIPTION + +Hacker Public Radio produces a Community News show every month. The show is +recorded on the Saturday before the first Monday of the month, and should be +released as soon as possible afterwards. + +This program reserves future slots in the database for upcoming shows. It +computes the date of the first Monday of all of the months in the requested +sequence then determines which show number matches that date. It writes rows +into the _reservations_ table containing the episode number, the host +identifier ('HPR Admins') and the reason for the reservation. + +It is possible that an HPR host has already requested the slot that this +program determines it should reserve. When this happens the program increments +the episode number and checks again, and repeats this process until a free +slot is discovered. + +It is also possible that a reservation has previously been made in the +_reservations_ table. When this case occurs the program ignores this +particular reservation. + +# DIAGNOSTICS + +- **Invalid date ...** + + The date element of the **-from=DATE** option is not valid. See the description + of this option for details of what formats are acceptable. + +- **Various database messages** + + The program can generate warning messages from the database. + +- **Unable to find host '...' - cannot continue** + + The script needs to find the id number relating to the host that will be used + for Community News episodes. It does this by looking in the hosts table for + the name "HPR Volunteers". If this cannot be found, perhaps because it has + been changed, then the script cannot continue. The remedy is to change the + variable $hostname to match the new name. + +- **Unable to find series '...' - cannot continue** + + The script needs to find the id number relating to the series that will be + used for Community News episodes. It does this by looking in the miniseries + table for the name "HPR Community News". If this cannot be found, perhaps + because it has been changed, then the script cannot continue. The remedy is to + change the variable $seriesname to match the new name. + +# CONFIGURATION AND ENVIRONMENT + +The program obtains the credentials it requires for connecting to the HPR +database by loading them from a configuration file. The file is called +**.hpr\_db.cfg** and should contain the following data: + + + host = 127.0.0.1 + port = PORT + name = DBNAME + user = USER + password = PASSWORD + + +# DEPENDENCIES + + Config::General + Data::Dumper + Date::Calc + Date::Parse + DBI + Getopt::Long + Pod::Usage + +# BUGS AND LIMITATIONS + +There are no known bugs in this module. +Please report problems to Dave Morriss (Dave.Morriss@gmail.com) +Patches are welcome. + +# AUTHOR + +Dave Morriss (Dave.Morriss@gmail.com) + +# LICENCE AND COPYRIGHT + +Copyright (c) 2014 - 2023 Dave Morriss (Dave.Morriss@gmail.com). All +rights reserved. + +This module is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. See perldoc perlartistic. + +--- +Back to [Community_News](Community-News) page +