Result:
found more than 682 distributions - search limited to the first 2001 files matching your query ( run in 0.971 )


App-diff2vba

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.08 2021-03-08T06:56:03Z

    - Add --adjust option to set border adjustment width.
    - Add --reverse option to generate reverse patch.
    - Code is totally updated.

0.07 2021-03-04T07:53:58Z

    - Fix insane behavior of Options.AutoFormatAsYouTypeReplaceQuotes.

 view all matches for this distribution


App-diffwc

 view release on metacpan or  search on metacpan

script/diffwc  view on Meta::CPAN

    File::Which::which("diff") or die "diffwc: Can't find diff in PATH\n";
}

sub parse_cmdline {
    local @ARGV = @ARGV;
    # updated to diff 3.3 + color
    GetOptions(
        normal => sub {},
        'brief|q' => sub {},
        'report-identical-files|s' => sub {},
        'c' => sub { $Opts{format} = 'context' },

 view all matches for this distribution


App-dirdim

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


Revision history for the module "App::dirdim"

-.---  2021-05-26 First created with the name "dirdim" on Bin::File::Dir
-.---  2021-05-29 Also once included "dirdim" on App::Bin4TSV
0.030  2022-04-25 Some small functions are updated in "dirdim".
0.031  2022-04-25T22:34+09:00 Changed the operation behavior when no arguments are given.
0.040  2023-03-29 出力表の列名の表記の簡潔化。それと、ディレクトリの深さに対するバグの除去。

0.041  2023-04-05 GitHub経由のプルリクエストに応じた。
          - 潜在的な"貢献者"にソースコードの大元を発見してもらいやすくするために META_MERGE の項目を書いた。

 view all matches for this distribution


App-financeta

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

8629a934017fa5a0c419e43b2e8a0bc92a981062
Making the progress bar prettier!

Wed Mar 8 08:28:50 2023 -0500
7b1444fc1ea24e11ac9186427ec44d8f309ce1fc
Progress Bar moved out into its own class now and usage updated

Tue Mar 7 15:54:11 2023 -0500
a7237c6581a715457ab5fa54d7faa5971370df62
Moving the security wizard out of the gui.pm file into its own class

Changes  view on Meta::CPAN

8629a934017fa5a0c419e43b2e8a0bc92a981062
Making the progress bar prettier!

Wed Mar 8 08:28:50 2023 -0500
7b1444fc1ea24e11ac9186427ec44d8f309ce1fc
Progress Bar moved out into its own class now and usage updated

Tue Mar 7 15:54:11 2023 -0500
a7237c6581a715457ab5fa54d7faa5971370df62
Moving the security wizard out of the gui.pm file into its own class

Changes  view on Meta::CPAN

8629a934017fa5a0c419e43b2e8a0bc92a981062
Making the progress bar prettier!

Wed Mar 8 08:28:50 2023 -0500
7b1444fc1ea24e11ac9186427ec44d8f309ce1fc
Progress Bar moved out into its own class now and usage updated

Tue Mar 7 15:54:11 2023 -0500
a7237c6581a715457ab5fa54d7faa5971370df62
Moving the security wizard out of the gui.pm file into its own class

Changes  view on Meta::CPAN

64764eb9dabd6c43efff1c25e7ca35d59cac0387
Improving the main window invocation and handling the icon check. using a new icon from FontAwesome

Sun Jan 1 15:59:28 2023 -0500
1e27aa0210d8a9bd9d4b90ac74fbf954542de734
Many updates: - fixing copyright to be from 2013-2023 - Adding cmdline option handling to the top-level script - Adding Log::Any to handle logging correctly. More changes to use this   coming soon. - Update unit tests to check for functions, be more ...

Sun Jan 1 14:20:20 2023 -0500
db75e4e655ba348d0b5ccb6138d3e074d3f5e1bb
Updating gitignore and manifest skip

Changes  view on Meta::CPAN

fc7543716f12c9072871877cfedcdeb72dbafefd
printing output for viewing

Tue Sep 23 17:06:55 2014 -0400
d4859d4c526c184476504ac605e3ba18002041ce
code generation tidying updated correctly. buys and sells are created once only

Tue Sep 23 16:45:39 2014 -0400
57ea70e783cbb303a7ec79e1dbb75f6bf6709f85
some code generation added

Changes  view on Meta::CPAN

1947196f7af6d24c44080669c7b023240af75e01
Banging out a basic grammar schema for the language

Wed Sep 3 16:13:42 2014 -0400
64b8294fb556cfbadb14c5e2b6704103dc6f4a74
sample language class updated. handles comments correctly

Wed Sep 3 12:44:45 2014 -0400
173e3baff84bd24c0d854471a44dc52b85a31e42
Adding a framework package module to kickstart the language parsing

Changes  view on Meta::CPAN

64764eb9dabd6c43efff1c25e7ca35d59cac0387
Improving the main window invocation and handling the icon check. using a new icon from FontAwesome

Sun Jan 1 15:59:28 2023 -0500
1e27aa0210d8a9bd9d4b90ac74fbf954542de734
Many updates: - fixing copyright to be from 2013-2023 - Adding cmdline option handling to the top-level script - Adding Log::Any to handle logging correctly. More changes to use this   coming soon. - Update unit tests to check for functions, be more ...

Sun Jan 1 14:20:20 2023 -0500
db75e4e655ba348d0b5ccb6138d3e074d3f5e1bb
Updating gitignore and manifest skip

Changes  view on Meta::CPAN

fc7543716f12c9072871877cfedcdeb72dbafefd
printing output for viewing

Tue Sep 23 17:06:55 2014 -0400
d4859d4c526c184476504ac605e3ba18002041ce
code generation tidying updated correctly. buys and sells are created once only

Tue Sep 23 16:45:39 2014 -0400
57ea70e783cbb303a7ec79e1dbb75f6bf6709f85
some code generation added

Changes  view on Meta::CPAN

1947196f7af6d24c44080669c7b023240af75e01
Banging out a basic grammar schema for the language

Wed Sep 3 16:13:42 2014 -0400
64b8294fb556cfbadb14c5e2b6704103dc6f4a74
sample language class updated. handles comments correctly

Wed Sep 3 12:44:45 2014 -0400
173e3baff84bd24c0d854471a44dc52b85a31e42
Adding a framework package module to kickstart the language parsing

Changes  view on Meta::CPAN

1947196f7af6d24c44080669c7b023240af75e01
Banging out a basic grammar schema for the language

Wed Sep 3 16:13:42 2014 -0400
64b8294fb556cfbadb14c5e2b6704103dc6f4a74
sample language class updated. handles comments correctly

Wed Sep 3 12:44:45 2014 -0400
173e3baff84bd24c0d854471a44dc52b85a31e42
Adding a framework package module to kickstart the language parsing

Changes  view on Meta::CPAN

1947196f7af6d24c44080669c7b023240af75e01
Banging out a basic grammar schema for the language

Wed Sep 3 16:13:42 2014 -0400
64b8294fb556cfbadb14c5e2b6704103dc6f4a74
sample language class updated. handles comments correctly

Wed Sep 3 12:44:45 2014 -0400
173e3baff84bd24c0d854471a44dc52b85a31e42
Adding a framework package module to kickstart the language parsing

Changes  view on Meta::CPAN

ba30d20a1605a2133a40613792c3f8f930319578
PSAR-extended also uses dots.

Mon Aug 25 18:24:36 2014 -0400
7973be6d780b77d3ffee042929a16d2383965c44
SAR indicator's plotting updated to use different options in the same graph

Mon Aug 25 17:55:16 2014 -0400
7e94cb5d0cc5adb5987f87c0ef6f3ab13023c169
rearranging some default colors

Changes  view on Meta::CPAN

ba30d20a1605a2133a40613792c3f8f930319578
PSAR-extended also uses dots.

Mon Aug 25 18:24:36 2014 -0400
7973be6d780b77d3ffee042929a16d2383965c44
SAR indicator's plotting updated to use different options in the same graph

Mon Aug 25 17:55:16 2014 -0400
7e94cb5d0cc5adb5987f87c0ef6f3ab13023c169
rearranging some default colors

 view all matches for this distribution


App-finddo

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

0.002   2017-08-16 (PERLANCAR)

        - [build] Rebuild with updated toolchain to properly show
          the appropriate description ('description.alt.env.cmdline').


0.001   2017-08-16 (PERLANCAR)

 view all matches for this distribution


App-genpw-id

 view release on metacpan or  search on metacpan

script/_genpw-id  view on Meta::CPAN

#formatting like Log::Contextual. This eases code migration and teamwork. Each
#module author can preserve her own logging style, if wanted, and all the modules
#still use the same framework.
#
#B<Dynamic.> Outputs and levels can be changed anytime during run-time and logger
#routines will be updated automatically. This is useful in situation like a
#long-running server application: you can turn on tracing logs temporarily to
#debug problems, then turn them off again, without restarting your server.
#
#B<Interoperability.> There are modules to interop with Log::Any, either consume
#Log::Any logs (see L<Log::Any::Adapter::LogGer>) or produce logs to be consumed

 view all matches for this distribution


App-genpw-ind

 view release on metacpan or  search on metacpan

script/_genpw-ind  view on Meta::CPAN

#formatting like Log::Contextual. This eases code migration and teamwork. Each
#module author can preserve her own logging style, if wanted, and all the modules
#still use the same framework.
#
#B<Dynamic.> Outputs and levels can be changed anytime during run-time and logger
#routines will be updated automatically. This is useful in situation like a
#long-running server application: you can turn on tracing logs temporarily to
#debug problems, then turn them off again, without restarting your server.
#
#B<Interoperability.> There are modules to interop with Log::Any, either consume
#Log::Any logs (see L<Log::Any::Adapter::LogGer>) or produce logs to be consumed

 view all matches for this distribution


App-get_flash_videos

 view release on metacpan or  search on metacpan

get_flash_videos  view on Meta::CPAN

      }
    } else {
      print STDERR "You already have the latest version.\n";
    }
  } else {
    info "Development version, not updated";
  }

  update_plugins();

  return 0; # exit code

get_flash_videos  view on Meta::CPAN


# Upgrade a plugin or install a new one.
sub install_plugin {
  my ($browser, $url, $file) = @_;

  # So we can track newly installed plugins as well as updated ones
  my $plugin_exists = -f $file;

  my $new_file = $plugin_exists ? "$file.new" : $file;

  $browser->mirror($url, $new_file);

 view all matches for this distribution


App-gh

 view release on metacpan or  search on metacpan

lib/App/gh/Command/Import.pm  view on Meta::CPAN

        #                      || $existing_gh_repo->{homepage} || "" ),
        #     # Don't change visibility of existing repo
        #     # public => $self->{private} ? 0 : 1 ,
        # );
        # my $ret = App::gh->api->repo_set_info( $gh_id, $reponame, %args );
        # print "Repository updated: \n";
    }
    else {
        # Create new repo
        App::gh->github->repos->create({
            # "org"  => "perlchina", ## the organization

 view all matches for this distribution


App-gimpgitbuild

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.2.0   2020-02-25
    - Add the "env" subcommand.

0.0.2   2020-02-18
    - Rebuild with updated deps to avoid old links in generated POD.

0.0.1   2020-02-18
    - First version, released on an unsuspecting world

 view all matches for this distribution


App-gist

 view release on metacpan or  search on metacpan

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

	my $push_url = $info -> content -> {'git_push_url'};

	if ($web) {
		print "$html_url\n";
	} else {
		print "Gist '$gist_id' successfully created/updated.\n";
		print "Web URL: $html_url\n";
		print "Public Clone URL: $pull_url\n" if $public;
		print "Private Clone URL: $push_url\n";
	}
}

 view all matches for this distribution


App-git-hub

 view release on metacpan or  search on metacpan

share/lib/git-hub  view on Meta::CPAN

  local key="${1//__/\/}"
  local value="$(JSON.get -a "/$key" -)"
  local label="$key"
  if [ "$key" == created_at ]; then
    value="${value%T*}"
  elif [ "$key" == updated_at ]; then
    value="${value%T*}"
  elif [ "$key" == pushed_at ]; then
    value="${value/T/ }"
    value="${value/Z/}"
  fi

 view all matches for this distribution


App-git-ship

 view release on metacpan or  search on metacpan

lib/App/git/ship/perl.pm  view on Meta::CPAN

"META_MERGE" will use data from L<App::git::ship/GIT_SHIP_BUGTRACKER>, L<App::git::ship/GIT_SHIP_HOMEPAGE>,
and L</repository>.

=item * my-app/Changes or my-app/CHANGELOG.md

The Changes file will be updated with the correct
L</GIT_SHIP_NEW_VERSION_FORMAT>, from when you ran the L</build> action. The
Changes file will also be the source for L</GIT_SHIP_NEXT_VERSION>. Both
C<CHANGELOG.md> and C<Changes> are valid sources.  L<App::git::ship> looks for
a version-timestamp line with the case-sensitive text "Not Released" as the the
timestamp.

=item * my-app/lib/My/App.pm

This L<file|App::git::ship::perl/main_module_path> will be updated with the
version number from the Changes file.

=item * .gitignore and MANIFEST.SKIP

Unless these files exist, they will be generated from a template which skips

 view all matches for this distribution


App-githook-perltidy

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        $ echo 'lib/Your/App.pm' > .readme_from
        $ echo '^\.readme_from' >> MANIFEST.SKIP
        $ git add .readme_from MANIFEST.SKIP
        $ git commit -m 'githook-perltidy readme_from' && git push

    With the above in place the README file will be updated (and
    potentially committed) whenever lib/Your/App.pm is committed.

  githook-perltidy install [--force, -f] [--absolute, -a]
    Anyone making commits in your repository should ensure that
    githook-perltidy runs before the Git commit completes. The "install"

 view all matches for this distribution


App-gqmt

 view release on metacpan or  search on metacpan

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

    
    foreach ( @{$versions} ) {
      next if $_->{version} =~ /$re/;
      p ($_, caller_message => "VERSION DOES NOT MATCH REGEX ($re) AND IS BEEN PROCESSED: __FILENAME__:__LINE__ ") if $self->option('d') > 2;

      if ( defined $_->{files}->{nodes}->[0]->{updatedAt} ) {
	$t_ver = Time::Piece->strptime( $_->{files}->{nodes}->[0]->{updatedAt},
					"%Y-%m-%dT%H:%M:%SZ" );

	next if ($t_ver->epoch + $self->option('age') ) >= $t_now->epoch;
      }

      # $to_delete->{ defined $_->{files}->{nodes}->[0]->{updatedAt} ?
      # 		$_->{files}->{nodes}->[0]->{updatedAt} : sprintf('NODATE_%04d', $i++) } = $_->{version};

      $to_delete->{ $_->{id} } = { version => $_->{version},
				   ts      => $_->{files}->{nodes}->[0]->{updatedAt} };
    }
  } else {
    $to_delete->{ $self->option('v') } = { version => 'STUB VERSION',
					   ts      => 'STUB TS' };
  }

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

  } else {
    # p ( $versions, colored => $self->option('colored') ) if $self->option('d') > 2 || $self->option('dry_run');
    my @vers_arr = map {
      sprintf("%30s\t%20s\t%s\n",
	      $_->{version},
	      scalar @{$_->{files}->{nodes}} > 0 && exists $_->{files}->{nodes}->[0]->{updatedAt}
	      ? $_->{files}->{nodes}->[0]->{updatedAt} : '',
	      $_->{id}
	     )
    } @{$versions};
    print "Versions of package \"", $self->option('package'), "\":\n\n", join('', @vers_arr);
  }

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

                                         id
                                         version
                                         files(first:1, orderBy: {direction: DESC, field: CREATED_AT}) {
                                           totalCount
                                           nodes {
                                             updatedAt
                                             packageVersion {
                                               version
                                               id
                                             }
                                           }

 view all matches for this distribution


App-grindperl

 view release on metacpan or  search on metacpan

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

  }

  $self->do_cmd( "./Configure", $self->configure_args )
    or croak("Configure failed!");

  # save files back into cache if updated
  dir( $self->cache_dir )->mkpath;
  for my $f ( qw/config.sh Policy.sh/ ) {
    copy( $f, $self->cache_file($f) )
      if (! -f $self->cache_file($f)) || (-M $f > -M $self->cache_file($f));
  }

 view all matches for this distribution


App-hopen

 view release on metacpan or  search on metacpan

lib/App/hopen/G/Cmd.pm  view on Meta::CPAN

=over

=item *

An L<App::hopen::Asset> or subclass (in which case
L<made_by|App::hopen::Asset/made_by> is updated)

=item *

A valid C<target> for an L<App::hopen::Asset>.

 view all matches for this distribution


App-horsekicks

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for App-horsekicks

0.13    2018-07-03
        App-horsekicks first release. The program horsekick 
        is firstly copied from "scripts/poisson" of CLI::Coin::Toss
        and updated a lot.

 view all matches for this distribution


App-hr

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.23    2015-08-26  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated
          Pod::Weaver::Section::Completion::PerinciCmdLine (0.13) which
          generates Completion POD section for Perinci::CmdLine::Inline scripts.


0.22    2015-08-20  Released-By: PERLANCAR

Changes  view on Meta::CPAN


0.21    2015-08-19  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated App:GenPericmdCompleterScript (0.04)
          which produces smaller completer script.


0.20    2015-08-19  Released-By: PERLANCAR

        - [build] Rebuild with updated DZP:GenPericmdScript (0.23) which now
          generates a shell completer script for
          Perinci::CmdLine::Inline-generated scripts.


0.19    2015-07-30  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated DZP:GenPericmdScript which now adds
          prereq to Perinci::CmdLine::Inline for the develop phase, not build
          (so users do not need to install Perinci::CmdLine::Inline, as should
          be the case).


0.18    2015-07-30  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated Perinci::CmdLine::Dump &
          PWS:Completion::PerinciCmdLine to remove extraneous stuffs from POD
          (unsupported config/env options, COMPLETION section).


0.17    2015-07-30  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated Perinci::CmdLine::Dump to let
          Pod::Weaver::Plugin::Rinci insert more stuffs to the POD.


0.16    2015-07-30  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated Perinci::CmdLine::Inline to add Abstract.


0.15    2015-07-20  Released-By: PERLANCAR

        - No functional changes.

Changes  view on Meta::CPAN


0.11    2015-07-02  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated Perinci::CmdLine::Inline (0.13) to fix
          POD.


0.10    2015-07-02  Released-By: PERLANCAR

 view all matches for this distribution


App-html2wp

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.002   2017-06-17  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated Perinci::CmdLine::Dump to show --dry-run
          in the POD.


0.001   2017-06-16  Released-By: PERLANCAR

 view all matches for this distribution


App-htmlsel

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

0.010   2020-04-29  Released-By: PERLANCAR; Urgency: low

        - [build] Rebuild with updated App::CSelUtils to remove dependency to
          the deprecated Perinci::Sub::ArgEntity::*.


0.009   2019-08-08  Released-By: PERLANCAR; Urgency: medium

 view all matches for this distribution


App-httpstatus-more

 view release on metacpan or  search on metacpan

lib/App/httpstatus/more.pm  view on Meta::CPAN

See L<httpstatus> script.

=head1 DESCRIPTION

This is a fork of L<App::httpstatus> 2.0.0 to add more codes. The original
script has not been updated since 2013.

=head1 SEE ALSO

L<App::httpstatus>, the original script.

 view all matches for this distribution


App-idxdb

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	  graph-daily-trading-summary.

        [UX]

	- [subcommand update] Tweak logging statement, so --verbose will show
          updated data.

        - Tweak graphs (tic label rotation, better colors using
          ColorTheme::Distinct::WhiteBG)

        - Accept natural dates for --date-* options.

 view all matches for this distribution


App-instopt

 view release on metacpan or  search on metacpan

script/instopt  view on Meta::CPAN

software binaries (by default to F</opt>, hence the name: "B<inst>all to
/B<opt>"). To describe how it works, I'll describe how I install my software to
F</opt>.

Normally, I depend on the package manager of my OS (Linux distribution) to
install software. But some software need to be updated more often. Let's take as
example B<firefox>, where the OS version is usually too old for my taste. I'll
usually do this:

=over

 view all matches for this distribution


App-jl

 view release on metacpan or  search on metacpan

t/01_basic.t  view on Meta::CPAN

}

{
    my $src_json = encode_json([
        { created    => 1560026367 },
        { updated    => 1560026367.123 },
        { created_at => '1560026367' },
        { time       => '1560026367123' },
        { unixtime   => 1560026367123 },
        { date       => '1560026367.123' },
        { ts         => 1560026367 },

 view all matches for this distribution


App-jsonschema

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


0.03 2013-09-09T10:10:07
 [André Santos <andrefs@cpan.org>]
 - POD

 - updated POD


v0.01_01 2013-03-25T18:23:01
 [André Santos <andrefs@cpan.org>]
 - added more test cases (tests yet TODO)

 view all matches for this distribution


App-jsonsel

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

	  Release Note to Backward-Incompatible.


0.007   2020-04-29  Released-By: PERLANCAR; Urgency: low

        - [build] Rebuild with updated App::CSelUtils to remove dependency to
          the deprecated Perinci::Sub::ArgEntity::*.


0.006   2019-08-08  Released-By: PERLANCAR; Urgency: low

 view all matches for this distribution


App-jupiter

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


- Eliminating more stuff from the feed item extracts.

1.06

- atom:published takes precedence over atom:updated
- Ignore blog posts with dates in the future

1.05

- Fix dependencies

 view all matches for this distribution


App-lcpan-Bootstrap

 view release on metacpan or  search on metacpan

lib/App/lcpan/Bootstrap.pm  view on Meta::CPAN


=head1 SYNOPSIS

=head1 DESCRIPTION

This distribution contains the database for L<lcpan> (updated periodically), so
you can save time when setting up your local CPAN mirror the first time. Without
a boostrap database, indexing the mirror for the first time can take several
hours. With a fairly recent bootstrap database, indexing time can be reduced to
an hour or much less.

 view all matches for this distribution


App-lcpan

 view release on metacpan or  search on metacpan

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

        schema => 'bool*',
        default => 1, # will also be checked/set in _set_args_default
        description => <<'_',

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing

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

        tags => ['category:filtering'],
    },
);

our %fmtime_args = (
    updated_since => {
        summary => 'Include only records that are updated since certain date',
        schema => ['date*', 'x.perl.coerce_rules' => ['From_str::natural']],
        tags => ['category:filtering'],
    },
    updated_since_last_index_update => {
        summary => 'Include only records that are updated since the last index update',
        schema => 'true*',
        tags => ['category:filtering'],
    },
    updated_since_last_n_index_updates => {
        summary => 'Include only records that are updated since the last N index updates',
        schema => 'posint*',
        tags => ['category:filtering'],
    },
);

our %fctime_or_mtime_args = (
    added_or_updated_since => {
        summary => 'Include only records that are added/updated since a certain date',
        schema => ['date*', 'x.perl.coerce_rules' => ['From_str::natural']],
        cmdline_aliases => {since=>{}},
        tags => ['category:filtering'],
    },
    added_or_updated_since_last_index_update => {
        summary => 'Include only records that are added/updated since the last index update',
        schema => 'true*',
        cmdline_aliases => {since_last_index_update=>{}},
        tags => ['category:filtering'],
    },
    added_or_updated_since_last_n_index_updates => {
        summary => 'Include only records that are added/updated since the last N index updates',
        schema => 'posint*',
        cmdline_aliases => {since_last_n_index_updates=>{}},
        tags => ['category:filtering'],
    },
);

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

    }
    $args->{use_bootstrap} //= 1;
    $args->{update_db_schema} //= 1;
}

# set {added_,updated_,added_or_udpated_}since from
# {added_,updated_,added_or_updated_}since_last_{index_update,n_index_updates},
# set, since SQL query will usually use the former
sub _set_since {
    my ($args, $dbh) = @_;

    my $num_sinces = 0;
    if (defined $args->{added_since}) { $num_sinces++ }
    if (defined $args->{updated_since}) { $num_sinces++ }
    if (defined $args->{added_or_updated_since}) { $num_sinces++ }
    if (defined $args->{added_since_last_index_update} || defined $args->{updated_since_last_index_update} || defined $args->{added_or_updated_since_last_index_update}) {
        my ($time) = $dbh->selectrow_array("SELECT date FROM log WHERE category='update_index' AND summary LIKE 'Begin%' ORDER BY date DESC");
        die "Index has not been updated at all, cannot use {added_,updated_,added_or_updated_}since_last_index_update option" unless $time;
        if (delete $args->{added_since_last_index_update})            { $args->{added_since}            //= $time; log_trace "Setting added_since=%s", $time; $num_sinces++ }
        if (delete $args->{updated_since_last_index_update})          { $args->{updated_since}          //= $time; log_trace "Setting updated_since=%s", $time; $num_sinces++ }
        if (delete $args->{added_or_updated_since_last_index_update}) { $args->{added_or_updated_since} //= $time; log_trace "Setting added_or_updated_since=%s", $time; $num_sinces++ }
    }
    if (defined $args->{added_since_last_n_index_updates} || defined $args->{updated_since_last_n_index_updates} || defined $args->{added_or_updated_since_last_n_index_updates}) {
        my $n = int($args->{added_since_last_n_index_updates} // $args->{updated_since_last_n_index_updates} // $args->{added_or_updated_since_last_n_index_updates});
        $n = 1 if $n < 1;
        my $sth = $dbh->prepare("SELECT date FROM log WHERE category='update_index' AND summary LIKE 'Begin%' ORDER BY date DESC");
        $sth->execute;
        my $i = 0;
        my $time;
        1 while ++$i <= $n && (($time) = $sth->fetchrow_array);
        die "Index has not been updated that many times, please set a lower number for {,added_,updated_}since_last_n_index_updates option" if $i < $n;
        if (delete $args->{added_since_last_n_index_updates})            { $args->{added_since}            //= $time; log_trace "Setting added_since=%s", $time; $num_sinces++ }
        if (delete $args->{updated_since_last_n_index_updates})          { $args->{updated_since}          //= $time; log_trace "Setting updated_since=%s", $time; $num_sinces++ }
        if (delete $args->{added_or_updated_since_last_n_index_updates}) { $args->{added_or_updated_since} //= $time; log_trace "Setting added_or_updated_since=%s", $time; $num_sinces++ }
    }

    die "Multiple {added_,updated_,added_or_updated_}since options set, please set only one to avoid confusion" if $num_sinces > 1;
}

sub _add_since_where_clause {
    my ($args, $where, $table) = @_;
    if (defined $args->{added_since}  )          { push @$where, "$table.rec_ctime >= ". (0+$args->{added_since}) }
    if (defined $args->{updated_since})          { push @$where, "($table.rec_mtime >= ". (0+$args->{updated_since}). " AND $table.rec_ctime < ".(0+$args->{updated_since}). ")" }
    if (defined $args->{added_or_updated_since}) { push @$where, "($table.rec_ctime >= ". (0+$args->{added_or_updated_since}). " OR $table.rec_mtime >= ". (0+$args->{added_or_updated_since}). ")" }
}

sub _fmt_time {
    require POSIX;

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

                $sth_ins_mod->execute($pkg, $file_id, $author, $ver, _numify_ver($ver), $now,$now);
                $mod_id = $dbh->last_insert_id("","","","");
                _set_namespace($dbh, $pkg);
            }

            log_trace("  New/updated module: %s (file ID=%d, module ID=%d)", $pkg, $file_id, $mod_id);
        } # while <fh>

        # cleanup: delete file record (as well as dists, modules, and deps
        # records) for files in db that are no longer in 02packages.
      CLEANUP:

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

        log_info("Skipped updating index (reason: option update_index=0)");
    } elsif (!$args{force_update_index} && $args{update_files} &&
                 @st1 && @st2 && $st1[9] == $st2[9] && $st1[7] == $st2[7]) {
        log_info("%s doesn't change mtime/size, skipping updating index",
                    $packages_path);
        return [304, "Files did not change, index not updated"];
    } else {
        my $res = _update_index(%args);
        return $res unless $res->[0] == 200;
    }
    [200, "OK"];

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

        include_unindexed => $include_unindexed,
        exclude_deps => $args{exclude_deps},
        authors => $args{authors},
        authors_arent => $args{authors_arent},
        added_since => $args{added_since},
        updated_since => $args{updated_since},
        added_or_updated_since => $args{added_or_updated_since},
    };

    my $res = _get_prereqs($file_ids, $dbh, {}, {},
                           1, $level, $filters, $plver, $args{flatten}, $args{dont_uniquify}, $phase, $rel);

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

    _set_since(\%args, $dbh);
    my $filters = {
        authors => $authors,
        authors_arent => $authors_arent,
        added_since => $args{added_since},
        updated_since => $args{updated_since},
        added_or_updated_since => $args{added_or_updated_since},
    };

    my $res = _get_revdeps($mods, $dbh, {}, {}, 1, $level, $filters, $args{flatten}, $args{dont_uniquify}, $args{phase}, $args{rel});

    return $res unless $res->[0] == 200;

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<cpan> => I<dirname>

Location of your local CPAN mirror, e.g. E<sol>pathE<sol>toE<sol>cpan.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

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


Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing

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

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing

 view all matches for this distribution


( run in 0.971 second using v1.01-cache-2.11-cpan-05444aca049 )