App-ListNewCPANDists

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Data::Sah::Coerce::perl::To_str::From_str::normalize_perl_distname" : "0",
            "Data::Sah::Coerce::perl::To_str::From_str::to_upper" : "0",
            "Data::Sah::Compiler::perl::TH::array" : "0.914",
            "Data::Sah::Compiler::perl::TH::bool" : "0.914",
            "Data::Sah::Compiler::perl::TH::date" : "0.914",
            "Data::Sah::Compiler::perl::TH::int" : "0.914",
            "Data::Sah::Compiler::perl::TH::re" : "0.914",
            "Data::Sah::Compiler::perl::TH::str" : "0.914",
            "Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix" : "0",
            "Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix" : "0",
            "DateTime" : "0",
            "File::HomeDir" : "0",
            "HTML::Entities" : "0",
            "JSON" : "0",
            "Log::ger" : "0.038",
            "Perinci::CmdLine::Any" : "0.154",
            "Perinci::CmdLine::Lite" : "1.924",
            "SQL::Schema::Versioned" : "0.234",
            "Sah::Schema::cpan::pause_id" : "0.003",
            "Sah::Schema::dirname" : "0",
            "Sah::Schema::filename" : "0",

META.yml  view on Meta::CPAN

  Data::Sah::Coerce::perl::To_str::From_str::normalize_perl_distname: '0'
  Data::Sah::Coerce::perl::To_str::From_str::to_upper: '0'
  Data::Sah::Compiler::perl::TH::array: '0.914'
  Data::Sah::Compiler::perl::TH::bool: '0.914'
  Data::Sah::Compiler::perl::TH::date: '0.914'
  Data::Sah::Compiler::perl::TH::int: '0.914'
  Data::Sah::Compiler::perl::TH::re: '0.914'
  Data::Sah::Compiler::perl::TH::str: '0.914'
  Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix: '0'
  Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix: '0'
  DateTime: '0'
  File::HomeDir: '0'
  HTML::Entities: '0'
  JSON: '0'
  Log::ger: '0.038'
  Perinci::CmdLine::Any: '0.154'
  Perinci::CmdLine::Lite: '1.924'
  SQL::Schema::Versioned: '0.234'
  Sah::Schema::cpan::pause_id: '0.003'
  Sah::Schema::dirname: '0'
  Sah::Schema::filename: '0'

Makefile.PL  view on Meta::CPAN

    "Data::Sah::Coerce::perl::To_str::From_str::normalize_perl_distname" => 0,
    "Data::Sah::Coerce::perl::To_str::From_str::to_upper" => 0,
    "Data::Sah::Compiler::perl::TH::array" => "0.914",
    "Data::Sah::Compiler::perl::TH::bool" => "0.914",
    "Data::Sah::Compiler::perl::TH::date" => "0.914",
    "Data::Sah::Compiler::perl::TH::int" => "0.914",
    "Data::Sah::Compiler::perl::TH::re" => "0.914",
    "Data::Sah::Compiler::perl::TH::str" => "0.914",
    "Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix" => 0,
    "Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix" => 0,
    "DateTime" => 0,
    "File::HomeDir" => 0,
    "HTML::Entities" => 0,
    "JSON" => 0,
    "Log::ger" => "0.038",
    "Perinci::CmdLine::Any" => "0.154",
    "Perinci::CmdLine::Lite" => "1.924",
    "SQL::Schema::Versioned" => "0.234",
    "Sah::Schema::cpan::pause_id" => "0.003",
    "Sah::Schema::dirname" => 0,
    "Sah::Schema::filename" => 0,

Makefile.PL  view on Meta::CPAN

  "Data::Sah::Coerce::perl::To_str::From_str::normalize_perl_distname" => 0,
  "Data::Sah::Coerce::perl::To_str::From_str::to_upper" => 0,
  "Data::Sah::Compiler::perl::TH::array" => "0.914",
  "Data::Sah::Compiler::perl::TH::bool" => "0.914",
  "Data::Sah::Compiler::perl::TH::date" => "0.914",
  "Data::Sah::Compiler::perl::TH::int" => "0.914",
  "Data::Sah::Compiler::perl::TH::re" => "0.914",
  "Data::Sah::Compiler::perl::TH::str" => "0.914",
  "Data::Sah::Filter::perl::Path::expand_tilde_when_on_unix" => 0,
  "Data::Sah::Filter::perl::Path::strip_slashes_when_on_unix" => 0,
  "DateTime" => 0,
  "File::HomeDir" => 0,
  "File::Spec" => 0,
  "HTML::Entities" => 0,
  "IO::Handle" => 0,
  "IPC::Open3" => 0,
  "JSON" => 0,
  "Log::ger" => "0.038",
  "Perinci::CmdLine::Any" => "0.154",
  "Perinci::CmdLine::Lite" => "1.924",
  "SQL::Schema::Versioned" => "0.234",

dist.ini  view on Meta::CPAN

;Test::More=0.98
Test::More=0.98
Test::SQL::Schema::Versioned=0
Test::WithDB::SQLite=0.08

[Prereqs]
perl=5.010001
strict=0
warnings=0
App::MetaCPANUtils=0
DateTime=0
DBI=0
File::HomeDir=0
HTML::Entities=0
JSON=0
Log::ger=0.038
SQL::Schema::Versioned=0.234
Time::Local=1.27

[Prereqs / DevelopX_spec]
-phase=develop

lib/App/ListNewCPANDists.pm  view on Meta::CPAN

use warnings;
use Log::ger;

our $AUTHORITY = 'cpan:PERLANCAR'; # AUTHORITY
our $DATE = '2023-03-28'; # DATE
our $DIST = 'App-ListNewCPANDists'; # DIST
our $VERSION = '0.023'; # VERSION

our %SPEC;

my $sch_date = ['date*', 'x.perl.coerce_to' => 'DateTime', 'x.perl.coerce_rules'=>['From_str::natural']];

our $db_schema_spec = {
    summary => __PACKAGE__,
    latest_v => 2,
    install => [
        'CREATE TABLE dist (
            name TEXT NOT NULL PRIMARY KEY,
            first_version TEXT NOT NULL,
            first_time INTEGER NOT NULL,
            latest_version TEXT NOT NULL,

lib/App/ListNewCPANDists.pm  view on Meta::CPAN

        },
        {
            summary => "What are the new releases last month?",
            argv => ['--last-month'],
            'x.doc.show_result' => 0,
            test => 0,
        },
    ],
};
sub list_new_cpan_dists {
    require DateTime;

    my %args = @_;

    my $state = _init(\%args);
    my $dbh = $state->{dbh};

    my $today = DateTime->today;
    my $now = DateTime->now;
    my $end_of_yesterday = $now->clone->add(days => -1)->set(hour => 23, minute => 59, second => 59);
    my $to_time   = $args{to_time} // $now->clone;

    my $from_time;
    if ($args{from_time}) {
        $from_time = $args{from_time};
    } elsif ($args{today}) {
        $from_time = $today;
    } elsif ($args{this_week}) {
        my $dow   = $today->day_of_week;

lib/App/ListNewCPANDists.pm  view on Meta::CPAN

            pos => 0,
        },
        year => {
            schema => ['int*', min=>1990, max=>9999],
            req => 1,
            pos => 1,
        },
    },
};
sub list_monthly_new_cpan_dists {
    require DateTime;
    require Time::Local;

    my %args = @_;

    my $mon = delete $args{month};
    my $year = delete $args{year};
    my $from_time = Time::Local::timegm(0, 0, 0, 1, $mon-1, $year);
    $mon++; if ($mon == 13) { $mon = 1; $year++ }
    my $to_time = Time::Local::timegm(0, 0, 0, 1, $mon-1, $year) - 1;
    list_new_cpan_dists(
        %args,
        from_time => DateTime->from_epoch(epoch => $from_time),
        to_time   => DateTime->from_epoch(epoch => $to_time),
        (exclude_dists      => $args{exclude_dists}     ) x !!defined($args{exclude_dists}),
        (exclude_dists_re   => $args{exclude_dists_re}  ) x !!defined($args{exclude_dists_re}),
        (exclude_authors    => $args{exclude_authors}   ) x !!defined($args{exclude_authors}),
        (exclude_authors_re => $args{exclude_authors_re}) x !!defined($args{exclude_authors_re}),
    );
}

sub _htmlize {
    require HTML::Entities;



( run in 0.285 second using v1.01-cache-2.11-cpan-496ff517765 )