From 01ec2cf92f40e3f6aadda13d154ed451955d9512 Mon Sep 17 00:00:00 2001 From: Dave Morriss Date: Wed, 11 Jan 2023 09:45:38 +0000 Subject: [PATCH] Feed updates --- feedWatcher | 96 ++++++++++++++++++++++++++++++++++++----------- feedWatcher.db | Bin 2977792 -> 2994176 bytes feedWatcher.html | 8 ++++ feedWatcher.json | 38 +++++++++++++++++++ feedWatcher.mkd | 5 +++ feedWatcher.opml | 5 ++- feedWatcher.pdf | Bin 108996 -> 109039 bytes 7 files changed, 128 insertions(+), 24 deletions(-) diff --git a/feedWatcher b/feedWatcher index db00742..4cb5f77 100755 --- a/feedWatcher +++ b/feedWatcher @@ -21,14 +21,17 @@ # (created with Pandoc) in the same directory as this script for # details of what has been done to develop the original design. # +# Further development is taking place in 2022/2023, again for +# FOSDEM. +# # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Dave Morriss (djm), Dave.Morriss@gmail.com -# VERSION: 0.1.1 +# VERSION: 0.1.2 # CREATED: 2013-12-25 12:40:33 -# REVISION: 2023-01-09 15:28:13 +# REVISION: 2023-01-10 22:44:38 # #------------------------------------------------------------------------------- # Released under the terms of the GNU Affero General Public License (AGPLv3) @@ -44,6 +47,10 @@ use utf8; use feature qw{ postderef say signatures state }; no warnings qw{ experimental::postderef experimental::signatures } ; +# +# There's an issue in XML::RSS, so we're using a loocal version with a hack. +# It's in ./lib/ and FiindBin::libs looks there to find it. +# use FindBin::libs; use XML::RSS; @@ -85,7 +92,7 @@ use Data::Dumper; # # Version number (manually incremented) # -our $VERSION = '0.1.1'; +our $VERSION = '0.1.2'; # # Script name @@ -2538,7 +2545,7 @@ feedWatcher - watch a collection of podcast feeds =head1 VERSION -This documentation refers to I version 0.1.1 +This documentation refers to I version 0.1.2 =head1 USAGE @@ -2547,10 +2554,12 @@ This documentation refers to I version 0.1.1 [-check[=mode]] [-out=FILE] [-json[=FILE]] [-opml[=FILE]] [-template=FILE] [-[no]silent] [-config=FILE] [-debug=N] [URL ...] - # Load URLs from a file, perform checks and redirect output to standard - # output and a named file - ./feedWatcher -load=feedWatcher_dumped_URLs.txt -check=auto | \ - tee load_$(date +'%Y%m%d_%H%M%S') + # Load URLs from a file, perform checks, save the rejects and redirect output + # to a named file. Uses an alias: + # alias isostamp='date +"%Y%m%d_%H%M%S"' + # + ./feedWatcher -load=feedWatcher_dumped_URLs.txt -check=auto \ + -rej=output/rejects_$(isostamp).out > output/load_$(isostamp).out 2>&1 # Generate Markdown output with a template writing to a named file ./feedWatcher -tem=feedWatcher_3.tpl -out=feedWatcher.mkd @@ -2607,26 +2616,69 @@ script, (B<-noscan>) omits the scan. NOTE: This function is not implemented yet. +=item B<-[no]silent> + +This option controls the amount of output written by the script. In +B mode the script reports on the processing of each URL it receives, +which can be fairly verbose. This can be turned off with this option, though +it is often wiser to redirect the output for later review rather than to +suppress it. + =item B<-out=FILE> -This option defines an output file to receive outputi from reporting +This option defines an output file to receive output from the reporting functions. If the option is omitted the data is written to STDOUT, allowing it -to be redirected if required. This option does not cause transactional -listings to be captured. +to be redirected if required. See the 'Usage' section above for an example of +how transactional output can be redirected. -=item B<-[no]check> +=item B<-check[=MODE]> -This option (B<-check>) causes each feed which is being to be checked against -the script user to check that it's OK to add it. The script reports the -I field and requests a I or I response. +This option (B<-check[=MODE]>) controls the mode used to check +the copyright setting of the current feed and deciide whether to add it. -=item B<-[no]report> +Possible settings are: B, B and B. -This option (B<-report>) causes a report of the contents of the database to be -generated. The negated form, which is also the default behaviour of the -script, (B<-noreport>) omits the report. +=over 4 -NOTE: The report is currently very simple. +=item B<-check=auto> or B<-check> + +An automatic check is made against a series of regular expressions looking for +something in the I field which signifies that the feed is under +a Creative Commons licence. A blank field is currently considered to denote +this type of licence. + +The option may be written as B<-check> when it is interpreted as B<-check=auto> + +=item B<-check=manual> + +In this mode the script pauses after processing each feed to ask the script +user to check that it's OK to add it. The script reports the I +field and requests a I or I response. + +=item B<-check=manual> + +In this mode no checks are performed. + +=back + +=item B<-report[=title]> + +This option (B<-report[=title]>) causes a fairly simplistic report to be +generated to enable the database contents to be examined. The I +argument specifies a case-sensitive feed title or component of such a title. +So, for instance B<-report=Hacker> currently reports on the batabase data +relating to the "Hacker Public Radio" feed. + +If the argument is omitted the entire database is reported. + +Reports consist of the details of the RSS (or Atom) channel with other +information about the site hosting the feed such as the IP address. The latest +episode in the feed is also reported. + +Note that the feed information in the database is a snapshot made when the +feed details were last loaded. This is static information and does not get +updatedunless the feed is deleted and reloaded, or the B<-scan> function is run +(not currently available). =item B<-json[=FILE]> @@ -2650,10 +2702,10 @@ file. If the B<=FILE> portion is omitted a default name of 'feedWatcher.opml' is used. -=item B<-template=FILE> +=item B<-template[=FILE]> This option defines the template used to generate a form of the feed data. The -template is written using the B<Template> toolkit language. +template is written using the B<Template Toolkit> language. If the file name is omitted then the script uses the file B<feedWatcher.tpl> in the same directory as the script. If this file does not exist then the diff --git a/feedWatcher.db b/feedWatcher.db index 9767fac018287c7589a0dfd9bb8242b2efdbdbe4..d5ffef2ad85165ca4f8d1f443166d9fb1b003283 100644 GIT binary patch delta 21225 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 D3{}F- delta 1351 zcma)4Yitx%6rOu`X70SVg>842w#v3V`j|s^A*8$tG>v^hp#>sH0=*>?@JD&YN1_Q( z^cq7jkw-YON^B(tqXH|Hju8cn0iz^R1gZMR;_HV|Y^bPI1n;onznR=K=ka~_oO{mM zIXpmi4xc116}fv9g$~K{rJ^WgZ+Q*b)6E4Zf>XgGf~$gSg6o1a!41Jp!7agU!5zU} z!9BsFg69dIFZejY#|s`4yg=|m!Q+A_1WyV+LGU8Miv=$c`~krq6nvuKDZxtxFB5!{ z;FATPBKTCn%LT6xyz(Tk>g%x09uhNm$)e~`;P9#ndNNhIloivfCyJ!+%896ymrsQ8 z!FM;ypROoD?_*V+2V<t8=#k@!S7{%%fpw_2BF7^^DqGqU39e}VBbq8XlY`7znxX;N z{?H_nMlJ1Ua8}x%PL0RIP>kXB8h<0H+n>tTsu1ZQ*gfjUg9Wqvb8(}HoemR!g-)A4 zT{RSTI^=9;lwQK$b(kM!xPWVq`L#jaD*uy4QiEErzs>cPU)^urm)&-yk0gTUdi_C% zw1m_K5~8Q#sZ)L|xO&X5YTrQ{lnUjHVyrew*iY;=wu<HHpXoxMq218l(K@xH`MJ5< zY*EhGW%fq<ZTq?d&Q@o@8FLr9&%5V6(`)v2d*`EC^r7gp(T|mX$sF<wIYpKK_m$;f z+CJ?Iy+B`~@6|7{Lbie(U_(ZsvC=ZF4Hl+`ON(*KK1ahpbf_FZbM~z2N4Kr-?3&iK zWk%ATr;?{IV?h;0E5Okce=StWj+|qp0`h3$Pt2H*#&0UYqlue%)|SR$1_d}`No@^- zLe=P@m%|2Kq&RI|xgI?1!CM5c9r4R?xXUjIzNXMlP+#TGjaa6F-MsuLru$?k4<-FL zUUZ>b&Voz`uP7v8h72xnA%<;KX86Z}@j31NP}^!kHGVf6JeFkj8tIONwfgw!9LT3h zJtRMgM{Nm|<xR()S{O%@k<e%e-yx|M<mawCWI;XNNr9&)?%sd2kHuj;Yr?!R(}Iw* zFx-}E?3w~DO^oG?)~TU!E5xL+x;!-g4l>!&?MA={wO#Dsh^`({C&I+eYU(J_528;; zYrIh}>uvF7xTEfS?i21z=Z0K_%}&}LwfpT&cG?=Tj#`^6Fn`hK>#yo#a+wB<n7PNC zW(*qJB5je^)h6{7^}1H49f;hd4qZc!(YqR^(go-Dr?c14yHTbiT_i_&d>NS7+XQi~ zO}3~6$s*aJ`_4S<Xo7b1Lh(@}FudIY%P`vvi`mS3J5drEjd-UCR$^ZZtiYu$upDnU zOVpdqu-wRG?!n?%+$a<uPmdmOxoft6U8!>{$Y}ShNJz;D@cS7S~E~P@dq0MKGV_ zy8qkHem>4!3g>cTY5l>E2J7pgj%W?CWHYyc7jF9nH1T6Nk7}%^(3S(o$0T^23NO-u jHc<1%G1jkm-@9)(i|q;Kbz_M22knE}Ar|y+fL7x_aS4qg diff --git a/feedWatcher.html b/feedWatcher.html index 294bf8a..e266532 100644 --- a/feedWatcher.html +++ b/feedWatcher.html @@ -406,6 +406,14 @@ + <dt><a href="https://www.eff.org/how-to-fix-the-internet-podcast">How to Fix the Internet</a> (<a href="https://feeds.eff.org/howtofixtheinternet">feed</a>)</dt> + + + <dd>The internet is broken—but it doesn’t have to be. If you’re concerned about how surveillance, online advertising, and automated content moderation are hurting us online and offline, the Electronic Frontier Foundation’s How to Fix the Internet podcast offers a better way forward. EFF has been defending your rights online for over thirty years and is behind many of the biggest digital rights protections since the invention of the internet. Through curious conversations with some of the leading minds in law and technology, this podcast explores creative solutions to some of today’s biggest tech challenges. Hosted by EFF Executive Director Cindy Cohn and EFF Associate Director of Digital Strategy Jason Kelley, How to Fix the Internet will help you become deeply informed on vital technology issues as we work to build a better technological future together.</dd> + + + + <dt><a href="http://internationalopenmagazine.org/category/podcast.html">International Open Podcast</a> (<a href="http://spielend-programmieren.at/intopenpodcast.xml">feed</a>)</dt> diff --git a/feedWatcher.json b/feedWatcher.json index 64ee9c4..afe275a 100644 --- a/feedWatcher.json +++ b/feedWatcher.json @@ -987,6 +987,44 @@ "urls_url" : "http://hackerpublicradio.org/hpr_ogg_rss.php", "urls_urltype" : "Feed" }, + { + "ep_author" : "podcast@eff.org (Cindy Cohn, Jason Kelley)", + "ep_byte_length" : 2639064, + "ep_category" : "", + "ep_enclosure" : "https://cdn.simplecast.com/audio/1c515ea8-cb6d-4f72-8d17-bc9b7a566869/episodes/ec20459c-105b-4c05-a18d-2e6334ab5c66/audio/b697806f-a61d-4ad7-9b58-f510d1c7733b/default_tc.mp3?aid=rss_feed&feed=r0ih__Uy", + "ep_ep_id" : "de24d72c-7ec9-42a8-a236-1212b0330c19", + "ep_id" : 6435, + "ep_issued" : "2023-01-09 08:10:00", + "ep_last_update" : "2023-01-11 09:41:10", + "ep_link" : "https://www.eff.org/how-to-fix-the-internet-podcast", + "ep_mime_type" : "audio/mpeg", + "ep_modified" : null, + "ep_source" : null, + "ep_title" : "Coming Soon: How to Fix the Internet Season 4", + "ep_urls_id" : 97, + "id" : 97, + "latest_ep" : "2023-01-09 08:10:00", + "urls_author" : null, + "urls_child_count" : 0, + "urls_content_type" : "text/xml; charset=UTF-8", + "urls_copyright" : null, + "urls_description" : "The internet is broken—but it doesn’t have to be. If you’re concerned about how surveillance, online advertising, and automated content moderation are hurting us online and offline, the Electronic Frontier Foundation’s How to Fix the Internet podcast offers a better way forward. EFF has been defending your rights online for over thirty years and is behind many of the biggest digital rights protections since the invention of the internet. Through curious conversations with some of the leading minds in law and technology, this podcast explores creative solutions to some of today’s biggest tech challenges. Hosted by EFF Executive Director Cindy Cohn and EFF Associate Director of Digital Strategy Jason Kelley, How to Fix the Internet will help you become deeply informed on vital technology issues as we work to build a better technological future together.", + "urls_dns" : "5.135.16.50", + "urls_feedformat" : "RSS 2.0", + "urls_generator" : "https://simplecast.com", + "urls_host_up" : 1, + "urls_http_status" : "200 OK", + "urls_id" : 97, + "urls_image" : "https://image.simplecastcdn.com/images/6d0021c7-4504-4cd8-a194-c8d6c2b4fd7a/14e8afb5-8608-4501-8d90-c3e5b4551078/3000x3000/podcast-square-season-4-temp.jpg?aid=rss_feed", + "urls_language" : "en", + "urls_last_update" : "2023-01-11 09:41:10", + "urls_link" : "https://www.eff.org/how-to-fix-the-internet-podcast", + "urls_modified" : "2023-01-09 08:10:00", + "urls_parent_id" : null, + "urls_title" : "How to Fix the Internet", + "urls_url" : "https://feeds.eff.org/howtofixtheinternet", + "urls_urltype" : "Feed" + }, { "ep_author" : null, "ep_byte_length" : 120830454, diff --git a/feedWatcher.mkd b/feedWatcher.mkd index 759709c..8a5248e 100644 --- a/feedWatcher.mkd +++ b/feedWatcher.mkd @@ -136,6 +136,11 @@ - Feed: http://hackerpublicradio.org/hpr_ogg_rss.php - Licence: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License +- **How to Fix the Internet** + - Website: https://www.eff.org/how-to-fix-the-internet-podcast + - Feed: https://feeds.eff.org/howtofixtheinternet + - Licence: + - **International Open Podcast** - Website: http://internationalopenmagazine.org/category/podcast.html - Feed: http://spielend-programmieren.at/intopenpodcast.xml diff --git a/feedWatcher.opml b/feedWatcher.opml index 7fee395..03c5546 100644 --- a/feedWatcher.opml +++ b/feedWatcher.opml @@ -2,8 +2,8 @@ <opml version="1.1"> <head> <title>Free Culture Podcasts -2023-01-10 19:43:26 -2023-01-10 19:43:26 +2023-01-11 09:44:06 +2023-01-11 09:44:06 @@ -40,6 +40,7 @@ + diff --git a/feedWatcher.pdf b/feedWatcher.pdf index a9728d0c1cda8e224176cc401692a4051c7f84d2..6a025f05eb6b368f85bfa65437846b6d82549c98 100644 GIT binary patch delta 12743 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 A$N&HU delta 12730 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 KDXA<4_rCx&LWbo4