plaggerまとめ

  • 転がっているYAMLは信じてはいけない(ぉ
  • XML::LibXMLはcpanでinstallしない

んでも これくらい設計がきれーなソースみたのはplum以来だなぁ
でもでも、plum もそうなんだけど、開発情報がすくねぇw

      • -

LibXML は portsからコンパイル


cpan>install CPAN
cpan>reload cpan
cpan>force install XML
cpan>force install Plaggerl

/tmp にM/MI?*/Pla*.tar.gz 快投して

freebsdライクに
mv assets/ /usr/local/share/
してみた

Can't locate Plagger/Plugin/CustomFeed/Config.pm in @INC

Plagger::Plugin::CustomFeed::Config
だけでもなんかかなり種類あるような..

http://plagger.g.hatena.ne.jp/Seacolor/20060921/1158820398
を利用

cat > /usr/local/libdata/perl5/site_perl/Plagger/Plugin/CustomFeed/Config.pm

またおこられた

Plagger::Plugin::CustomFeed::Config [fatal] ARRAY(0x3caa5084)/plugins/CustomFeed-Config: No such file or directory at line 27

22: sub load_plugins {
23:    my $self = shift;
24
25:    my $dir = $self->assets_dir;
26:    my $dh = DirHandle->new($dir) or Plagger->context->error("$dir: $!");
27:    for my $file (grep -f $_->[0] && $_->[1] =~ /\.yaml$/,
28:                  map [ File::Spec->catfile($dir, $_), $_ ], sort $dh->read) {
29:        $self->load_plugin(@$file);
30:    }
31:}


。ー。

global:
  assets_path:
    - /usr/local/share/assets/


dirらしい??

global:
  assets_dir:
    - /usr/local/share/assets/

assets_dir() != assets_path:

(;゚Д゚).....
ふじこふじこ(;゚Д゚)

Plagger::Plugin::CustomFeed::Config [fatal] usr/bin/assets/plugins/CustomFeed-Config: No such file or directory at line 26

22: sub load_plugins {
23:    my $self = shift;
24
25:    my $dir = $self->assets_dir;
26:    my $dh = DirHandle->new($dir) or Plagger->context->error("$dir: $!");
27:    for my $file (grep -f $_->[0] && $_->[1] =~ /\.yaml$/,
28:                  map [ File::Spec->catfile($dir, $_), $_ ], sort $dh->read) {
29:        $self->load_plugin(@$file);
30:    }
31:}
    my $dir = $self->assets_dir;
 Plagger->context->error("$dir  unko unkioofoekfoedkofkoe");
  my $dh = DirHandle->new($dir) or Plagger->context->error("$dir: $!");

Plagger::Plugin::CustomFeed::Config [fatal] ARRAY(0x3ca5c060)/plugins/CustomFeed-Config unko unkioofoekfoedkofkoe at line 27

$self->assets_dir の前からイカレてます


/usr/local/libdata/perl5/site_perl/Plagger
fgrep -R assets_dir *

Plugin.pm:sub assets_dir {

sub assets_dir {
    my $self = shift;
    my $context = Plagger->context;

    if ($self->conf->{assets_path}) {
        return $self->conf->{assets_path}; # look at config:assets_path first
    }

    my $assets_base =
        $context->conf->{assets_path} ||              # or global:assets_path
        File::Spec->catfile($FindBin::Bin, "assets"); # or "assets" under plagger script

    return File::Spec->catfile(
        $assets_base, "plugins", $self->class_id,
    );
}

ああー(;゜Д゜)

$context->conf->{assets_path}
しかし、これが読めていないのが許せない(;゚Д゚)

sub assets_dir {
my $self = shift;
my $context = Plagger->context;
print "path " . $self->conf->{assets_path} . ":ll:" . $context->conf->{assets_path} . "LK;";

path :ll:ARRAY(0x3ca5b054)LK;path :ll:ARRAY(0x3ca5b054)LK;path :ll:ARRAY(0x3ca5b
054)LK;


どうやら、global:assets_path がリスト構造にナってタコとが原因のようだ(゜Д゜)

global:
  plugin_path: /usr/local/share/assets/plugins/Filter-EntryFullText/
  assets_path: /usr/local/share/assets/