Acme-CPANAuthors-Japanese
view release on metacpan or search on metacpan
- applied more liberal detection rule and added twelve people
(again)
0.130930 2013/09/30
- applied more liberal detection rule and added twelve people
0.130919 2013/09/19
- YAPC::Asia 2013 update
0.130307 2013/03/07
- turned out to have long ignored authors whose emails are CENSORED;
added nearly hundred people to the list.
0.130104 2013/01/04
- Happy new year 2013 update
0.120927 2012/09/27
- YAPC::Asia 2012 update
0.111012 2011/10/12
- no list changes; just forgot to update Changes
bin/unregistered_japanese_authors
Changes
cpanfile
lib/Acme/CPANAuthors/Japanese.pm
Makefile.PL
MANIFEST This list of files
README
t/00_load.t
t/99_pod.t
t/99_podcoverage.t
META.yml Module YAML meta-data (added by MakeMaker)
{
"abstract" : "We are Japanese CPAN authors",
"author" : [
"Kenichi Ishigaki <ishigaki@cpan.org>"
],
"dynamic_config" : 0,
"generated_by" : "ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : 2
"test" : {
"requires" : {
"Test::More" : "0.47",
"Test::UseAllModules" : "0.09"
}
}
},
"release_status" : "stable",
"resources" : {
"repository" : {
"url" : "https://github.com/charsbar/acme-cpanauthors-japanese"
}
},
"version" : "0.220625",
"x_serialization_backend" : "JSON::PP version 4.05"
}
---
abstract: 'We are Japanese CPAN authors'
author:
- 'Kenichi Ishigaki <ishigaki@cpan.org>'
build_requires:
ExtUtils::MakeMaker: '0'
Test::More: '0.47'
Test::UseAllModules: '0.09'
configure_requires:
ExtUtils::MakeMaker::CPANfile: '0.09'
dynamic_config: 0
generated_by: 'ExtUtils::MakeMaker version 7.34, CPAN::Meta::Converter version 2.150010'
license: perl
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Acme-CPANAuthors-Japanese
no_index:
directory:
- t
- inc
requires:
Acme::CPANAuthors: '0.02'
resources:
repository: https://github.com/charsbar/acme-cpanauthors-japanese
version: '0.220625'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
Makefile.PL view on Meta::CPAN
use ExtUtils::MakeMaker::CPANfile;
WriteMakefile(
NAME => 'Acme::CPANAuthors::Japanese',
AUTHOR => 'Kenichi Ishigaki <ishigaki@cpan.org>',
VERSION_FROM => 'lib/Acme/CPANAuthors/Japanese.pm',
ABSTRACT_FROM => 'lib/Acme/CPANAuthors/Japanese.pm',
LICENSE => 'perl',
META_MERGE => {
resources => {
repository => 'https://github.com/charsbar/acme-cpanauthors-japanese',
},
},
);
bin/unregistered_japanese_authors view on Meta::CPAN
#!perl
use strict;
use warnings;
use FindBin;
use lib "$FindBin::Bin/../lib";
use Acme::CPANAuthors::Utils qw( cpan_authors );
use Acme::CPANAuthors::Japanese;
use Lingua::JA::Romaji::Valid;
use Time::Piece;
use Getopt::Long qw/:config gnu_compat/;
GetOptions(\my %opts, qw/update module exception/);
my $validator = Lingua::JA::Romaji::Valid->new('liberal');
my %known = Acme::CPANAuthors::Japanese->authors;
my %exceptions = _exceptions();
my @authors;
foreach my $author ( cpan_authors->authors ) {
my $email = $author->email;
my $name = lc $author->name or next;
my $id = $author->pauseid;
next if $known{$id};
next if $exceptions{$id};
next unless $validator->as_fullname( $name )
|| $validator->as_name( $name );
# next unless $email and $email =~ /(\.(com|org|net|jp)|CENSORED)$/i;
push @authors, $author;
}
print "num of candidates: " , (scalar @authors), "\n";
foreach my $author ( sort { $a->pauseid cmp $b->pauseid } @authors ) {
my $id = $author->pauseid;
my $name = $author->name;
my $mail = $author->email;
print qq{ $id => '$name', # ($mail)\n};
$exceptions{$id} = $known{$id} = [$name, $mail];
}
if ($opts{exception}) {
my $file = __FILE__;
open my $in, '<', $file or die $!;
open my $out, '>', "$file.tmp" or die $!;
my $flag;
while(<$in>) {
bin/unregistered_japanese_authors view on Meta::CPAN
if ($flag && /^\)/) {
$flag = 0;
}
print $out $_ unless $flag;
}
close $in;
close $out;
rename "$file.tmp" => $file;
}
# these authors have names which can be readable as Japanese
sub _exceptions {(
AANARI => 'Ali Anari',
AARONJJ => 'Aaron Johnson',
ABATIE => 'Alan Batie',
ABBYPAN => 'Pan Lanlan',
ADEO => 'Adekunle Olonoh',
ADITYA => 'Aditya Wasudeo',
AESOP => 'AA',
AKISSANE => 'Aidan Kissane',
bin/unregistered_japanese_authors view on Meta::CPAN
ZITSEN => 'Linhe Huo',
ZIYA => 'Ziya Suzen',
ZLOBUS => 'Yu Ya', # ???
ZORRO => 'ARUN',
)}
__END__
=head1 NAME
unregistered_japanese_authors - try to find unregistered Japanese CPAN authors
=head1 SYNOPSIS
> unregistered_japanese_authors
=head1 DESCRIPTION
You can use this to find Pause IDs whose real name looks like Japanese.
=head1 AUTHOR
Kenichi Ishigaki, E<lt>ishigaki at cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
lib/Acme/CPANAuthors/Japanese.pm view on Meta::CPAN
ZONCOEN => 'Kenta Mori',
ZUQQHINI => 'Hidetomo Suzuki',
);
1;
__END__
=head1 NAME
Acme::CPANAuthors::Japanese - We are Japanese CPAN authors
=head1 DESCRIPTION
This class provides a hash of Japanese CPAN authors' Pause ID/name to Acme::CPANAuthors.
=head1 MAINTENANCE
If you are a Japanese CPAN author not listed here, send me an email or a pull request to add your own id/name. If you are listed but are not Japanese (or just don't want to be listed), sorry to bother you but tell me via email, IRC, or RT. I'll remov...
=head1 REPOSITORY
https://github.com/charsbar/acme-cpanauthors-japanese
=head1 AUTHOR
Kenichi Ishigaki, E<lt>ishigaki at cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2007 by Kenichi Ishigaki.
This program is free software; you can redistribute it and/or
( run in 2.310 seconds using v1.01-cache-2.11-cpan-5c0b1e786e0 )