X-Git-Url: http://www.average.org/gitweb/?p=mkgallery.git;a=blobdiff_plain;f=mkgalrss.pl;fp=mkgalrss.pl;h=e2ee8a88fca2e4aaec34f9b63ebcc8bbcd27c219;hp=0000000000000000000000000000000000000000;hb=a56e7b4b7a12b446702ab83217f070cd19680a1d;hpb=c4a12d60866fcb19955ab86faffd611491fb7b25 diff --git a/mkgalrss.pl b/mkgalrss.pl new file mode 100755 index 0000000..e2ee8a8 --- /dev/null +++ b/mkgalrss.pl @@ -0,0 +1,95 @@ +#!/usr/bin/perl + +# $Id: mkgallery.pl 38 2006-12-17 09:39:01Z crosser $ + +# Build initial (empty) RSS file for mkgallery.pl + +# Copyright (c) 2007 Eugene G. Crosser + +# This software is provided 'as-is', without any express or implied +# warranty. In no event will the authors be held liable for any damages +# arising from the use of this software. +# +# Permission is granted to anyone to use this software for any purpose, +# including commercial applications, and to alter it and redistribute it +# freely, subject to the following restrictions: +# +# 1. The origin of this software must not be misrepresented; you must not +# claim that you wrote the original software. If you use this software +# in a product, an acknowledgment in the product documentation would be +# appreciated but is not required. +# 2. Altered source versions must be plainly marked as such, and must not be +# misrepresented as being the original software. +# 3. This notice may not be removed or altered from any source distribution. + +use strict; +use Carp; +use Term::ReadLine; +use XML::RSS; +use Getopt::Long; +use Encode; +use encoding 'utf-8'; +binmode(STDOUT, ":utf8"); + +###################################################################### + +my $debug = 0; +my $rssfile = ""; + +unless (GetOptions( + 'help'=>\&help, + 'rssfile=s'=>\$rssfile, + 'debug'=>\$debug)) { + &help; +} + +sub help { + + print STDERR <<__END__; +usage: $0 [options] + --help: print help message and exit + --incpath: do not try to find .include diretory upstream, use + specified path (absolute or relavive). Use with causion. + --debug: print a lot of debugging info to stdout as you run + --asktitle: ask to edit album titles even if there are ".title" files + --noasktitle: don't ask to enter album titles even where ".title" + files are absent. Use partial directory names as titles. + --rssfile=...: build RSS feed for newly added "albums", give name of rss file +__END__ + + exit 1; +} + +unless ($rssfile) { + print STDERR "you must specify --rssfile\n"; + exit 1; +} + +my $term = new Term::ReadLine "Edit RSS Attribute"; + +my $rssobj = new XML::RSS (version=>'2.0'); +die "could not build new RSS object" unless ($rssobj); + +my $OUT = $term->OUT || \*STDOUT; +print $OUT "Enter attributes for this gallery RSS feed\n"; +my $title = $term->readline('Feed title >',''); +$term->addhistory($title) if ($title); +my $link = $term->readline('Gallery root URL >',''); +$term->addhistory($link) if ($link); +my $desc = $term->readline('Gallery description >',''); +$term->addhistory($desc) if ($desc); + +$rssobj->channel( + title=>$title, + link=>$link, + description=>$desc, + #language=>$language, + #rating=>$rating, + #copyright=>$copyright, + #pubDate=>$pubDate, + #lastBuildDate=>$lastBuild, + #docs=>$docs, + #managingEditor=>$editor, + #webMaster=>$webMaster + ); +$rssobj->save($rssfile);