#!/usr/bin/env perl

use strict;
use warnings;

use App::Toolforge::MixNMatch;

our $VERSION = 0.05;

# Run.
exit App::Toolforge::MixNMatch->new->run;

# Print version.
sub VERSION_MESSAGE {
	print $VERSION."\n";
	exit 0;
}

__END__

=pod

=encoding utf8

=head1 NAME

mix-n-match - Script to handle catalog files.

=head1 SYNOPSIS

 mix-n-match [-h] [--version] [command] [command_args ..]

=head1 DESCRIPTION

mix-n-match script uses Toolforge::MixNMatch::* modules to handle catalog files.

=head1 ARGUMENTS

=over 8

=item * C<-h>

Print help.

=item * C<--version>

Print version of script.

=item * C<command>

Command.
Possible commands are: diff, download, print

=item * C<command_args>

=over

=item C<diff>

 json_file1 - JSON file #1.
 json_file2 - JSON file #2.
 [print_options] - Print options (type, count, year_months, users). It's optional.

=item C<download>

 catalog_id - Catalog ID.
 [output_file] - Output file (default is catalog_id.json). It's optional.

=item C<print>

 json_file or catalog_id - Catalog ID or JSON file.
 [print_options] - Print options (type, count, year_months, users). It's optional.

=back

=back

=head1 EXAMPLE1

 mix-n-match

 # Output like:
 # Usage: mix-n-match [-h] [--version] [command] [command_args ..]
 #         -h              Print help.
 #         --version       Print version.
 #         command         Command (diff, download, print).
 #
 #         command 'diff' arguments:
 #                 json_file1 - JSON file #1
 #                 json_file2 - JSON file #2
 #                 [print_options] - Print options (type, count, year_months, users)
 #         command 'download' arguments:
 #                 catalog_id - Catalog ID
 #                 [output_file] - Output file (default is catalog_id.json)
 #         command 'print' arguments:
 #                 json_file or catalog_id - Catalog ID or JSON file
 #                 [print_options] - Print options (type, count, year_months, users)

=head1 EXAMPLE2

 mix-n-match print 3869

 # Output like (20201219 - https://mix-n-match.toolforge.org/#/catalog/3869):
 # Type: Q5
 # Count: 875
 # Year/months:
 #         2020/09: 432
 #         2020/10: 103
 #         2020/11: 44
 #         2020/12: 32
 # Users:
 #         Skim (1192968): 541
 #         Automatic name/date matcher (3): 51
 #         Jklamo (2399): 6
 #         Michal Josef Špaček (WMCZ) (4735667): 5
 #         -1 (421968): 4
 #         Adam Harangozó (54660): 2
 #         Epìdosis (54694): 1
 #         Auxiliary data matcher (4): 1

=head1 EXAMPLE3

 mix-n-match download 3869

 # Output:
 # Catalog with '3869' ID was saved to '3869.json'.

=head1 SEE ALSO

=over

=item L<Toolforge::MixNMatch::Diff>

Toolforge Mix'n'match tool object diff routines.

=item L<Toolforge::MixNMatch::Object>

Toolforge Mix'n'match tool objects.

=item L<Toolforge::MixNMatch::Print>

Toolforge Mix'n'match tool object print routines.

=back

=head1 REPOSITORY

L<https://github.com/tupinek/App-Toolforge-MixNMatch>

=head1 AUTHOR

Michal Josef Špaček L<mailto:skim@cpan.org>

L<http://skim.cz>

=head1 LICENSE AND COPYRIGHT

© 2020-2022 Michal Josef Špaček

BSD 2-Clause License

=head1 VERSION

0.05

=cut