Acme::MetaSyntactic::RemoteList - Retrieval of a remote source for a theme
package Acme::MetaSyntactic::contributors; use strict; use Acme::MetaSyntactic::List; our @ISA = qw( Acme::MetaSyntactic::List ); # data regarding the remote source our %Remote = ( source => 'http://search.cpan.org/dist/Acme-MetaSyntactic/CONTRIBUTORS', extract => sub { my $content = shift; my @items = map { Acme::MetaSyntactic::RemoteList::tr_nonword($_) } map { Acme::MetaSyntactic::RemoteList::tr_accent($_) } $content =~ /^\* (.*?)\s*$/gm; return @items; }, ); __PACKAGE__->init(); 1; # and the usual documentation and list definition
This base class adds the capability to fetch a fresh list of items from a remote source to any theme that requires it.
To be able to fetch remote items, an Acme::MetaSyntactic theme must define the package hash variable %Remote with the appropriate keys.
Acme::MetaSyntactic
%Remote
The keys are:
source
The URL where the data is available.
extract
A reference to a subroutine that extracts a list of items from a string. The string is meant to be the content available at the URL stored in the source key.
LWP::Simple is used to download the remote data.
LWP::Simple
All existing Acme::MetaSyntactic behaviours (Acme::MetaSyntactic::List and Acme::MetaSyntactic::Locale are subclasses of Acme::MetaSyntactic::RemoteList.
Acme::MetaSyntactic::List
Acme::MetaSyntactic::Locale
Acme::MetaSyntactic::RemoteList
As an ancestor, this class adds the following methods to an Acme::MetaSyntactic theme:
Returns the list of items available at the remote source, or an empty list in case of error.
Return a boolean indicating if the source key is defined (and therefore if the theme actually has a remote list).
Return the source URL.
Return a list of items from the $content string. $content is expected to be the content available at the URL given by source().
$content
source()
The Acme::MetaSyntactic::RemoteList class also provides a few helper subroutines that simplify the normalisation of items:
Return a copy of $str with all non-word characters turned into underscores (_).
$str
_
Return a copy of $str will all iso-8859-1 accented characters turned into basic ASCII characters.
Philippe 'BooK' Bruhat, <book@cpan.org>.
<book@cpan.org>
Thanks to Michael Scherer for his help in finding the name of this module on #perlfr. Welcome in CONTRIBUTORS, Michael! :-)
#perlfr
:-)
#perlfr Tue Nov 1 19:33 CET 2005 <@BooK> bon, je sais toujours pas comment appeler mon module moi <@BooK> AMS::RemoteSource ? < misc> RemoteListing ? <@BooK> RemoteList, même
Acme::MetaSyntactic, Acme::MetaSyntactic::List, Acme::MetaSyntactic::Locale.
Copyright 2005 Philippe 'BooK' Bruhat, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in 'même'. Assuming CP1252
To install Acme::MetaSyntactic, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Acme::MetaSyntactic
CPAN shell
perl -MCPAN -e shell install Acme::MetaSyntactic
For more information on module installation, please visit the detailed CPAN module installation guide.