Lines 20-25
Link Here
|
20 |
use Modern::Perl; |
20 |
use Modern::Perl; |
21 |
|
21 |
|
22 |
use Getopt::Long; |
22 |
use Getopt::Long; |
|
|
23 |
use Pod::Usage; |
23 |
|
24 |
|
24 |
use Koha::Patrons::Import; |
25 |
use Koha::Patrons::Import; |
25 |
my $Import = Koha::Patrons::Import->new(); |
26 |
my $Import = Koha::Patrons::Import->new(); |
Lines 42-50
GetOptions(
Link Here
|
42 |
'p|preserve-extended-atributes' => \$ext_preserve, |
43 |
'p|preserve-extended-atributes' => \$ext_preserve, |
43 |
'v|verbose+' => \$verbose, |
44 |
'v|verbose+' => \$verbose, |
44 |
'h|help|?' => \$help, |
45 |
'h|help|?' => \$help, |
45 |
); |
46 |
) or pod2usage(2); |
|
|
47 |
|
48 |
pod2usage(1) if $help; |
49 |
pod2usage(q|--file is required|) unless $csv_file; |
50 |
pod2usage(q|--matchpoint is required|) unless $matchpoint; |
46 |
|
51 |
|
47 |
print_help() if ( $help || !$csv_file || !$matchpoint || !$confirm ); |
52 |
warn "Running in dry-run mode, provide --confirm to apply the changes\n" unless $confirm; |
48 |
|
53 |
|
49 |
my $handle; |
54 |
my $handle; |
50 |
open( $handle, "<", $csv_file ) or die $!; |
55 |
open( $handle, "<", $csv_file ) or die $!; |
Lines 88-103
if ($verbose > 2 ) {
Link Here
|
88 |
say Data::Dumper::Dumper( $feedback ); |
93 |
say Data::Dumper::Dumper( $feedback ); |
89 |
} |
94 |
} |
90 |
|
95 |
|
91 |
sub print_help { |
96 |
=head1 NAME |
92 |
print <<_USAGE_; |
97 |
|
93 |
import_patrons.pl -c /path/to/patrons.csv -m cardnumber |
98 |
import_patrons.pl - CLI script to import patrons data into Koha |
94 |
-c --confirm Confirms you really want to import these patrons, otherwise prints this help |
99 |
|
95 |
-f --file Path to the CSV file of patrons to import |
100 |
=head1 SYNOPSIS |
96 |
-m --matchpoint Field on which to match incoming patrons to existing patrons |
101 |
|
97 |
-d --default Set defaults to patron fields, repeatable e.g. --default branchcode=MPL --default categorycode=PT |
102 |
import_patrons.pl --file /path/to/patrons.csv --matchpoint cardnumber --confirm [--default branchcode=MPL] [--overwrite] [--preserve-extended-atributes] [--verbose] |
98 |
-p --preserve-extended-atributes Retain extended patron attributes for existing patrons being overwritten |
103 |
|
99 |
-o --overwrite Overwrite existing patrons with new data if a match is found |
104 |
=head1 OPTIONS |
100 |
-v --verbose Be verbose |
105 |
|
101 |
_USAGE_ |
106 |
=over8 |
102 |
exit; |
107 |
|
103 |
} |
108 |
=item B<-h|--help> |
|
|
109 |
|
110 |
Prints a brief help message and exits |
111 |
|
112 |
=item B<-c|--confirm> |
113 |
|
114 |
Confirms you really want to import these patrons, otherwise prints this help |
115 |
|
116 |
=item B<-f|--file> |
117 |
|
118 |
Path to the CSV file of patrons to import |
119 |
|
120 |
=item B<-c|--matchpoint> |
121 |
|
122 |
Field on which to match incoming patrons to existing patrons |
123 |
|
124 |
=item B<-d|--default> |
125 |
|
126 |
Set defaults to patron fields, repeatable e.g. --default branchcode=MPL --default categorycode=PT |
127 |
|
128 |
=item B<-o|--overwrite> |
129 |
|
130 |
Overwrite existing patrons with new data if a match is found |
131 |
|
132 |
=item B<-p|--preserve-extended-atributes> |
133 |
|
134 |
Retain extended patron attributes for existing patrons being overwritten |
135 |
|
136 |
=item B<-v|--verbose> |
137 |
|
138 |
Be verbose |
139 |
|
140 |
=back |
141 |
|
142 |
=cut |
104 |
- |
|
|