Changeset 52 in text-formbuilder
Legend:
- Unmodified
- Added
- Removed
-
trunk/Changes
r50 r52 1 1 Release history for Text::FormBuilder. 2 2 3 0.08 4 * failure to load Perl::Tidy is no longer fatal 5 * create_form tries to emit tidy code 6 3 7 0.07 - 16 Dec 2004 4 8 * added a create_form exported method to "do the right -
trunk/bin/fb.pl
r1 r52 11 11 my $src_file = shift; 12 12 13 Text::FormBuilder->parse($src_file)->build(%fb_options)->write($outfile); 13 create_form($src_file, \%fb_options, $outfile); 14 #Text::FormBuilder->parse($src_file)->build(%fb_options)->write($outfile); 14 15 15 16 =head1 NAME … … 23 24 $ fb my_form.txt -o my_form.html -D action=/cgi-bin/my-script.pl 24 25 26 =head1 DESCRIPTION 27 28 Parses a formspec file from the command line and creates an output 29 file. The sort of output file depends on the value given to the C<-o> 30 option. If it ends in F<.pm>, a standalone module is created. If it 31 ends in F<.pl> or F<.cgi>, a skeleton CGI script is created. Any other 32 value, will be taken as the name of an HTML file to write. Finally, if 33 not C<-o> option is given then the HTML will be written to STDOUT. 34 25 35 =head1 OPTIONS 26 36 27 37 =over 28 38 29 =item -D <parameter>=<value>39 =item C<< -D <parameter>=<value> >> 30 40 31 41 Define options that are passed to the CGI::FormBuilder object. For example, … … 35 45 $ fb ... -D action=/cgi-bin/some_script.pl 36 46 37 =item -o <output file> 47 =item C<< -o <output file> >> 48 49 Where to write output, and what form to write it in. See C<create_form> in 50 L<Text::FormBuilder> for a more detailed explanation. 51 52 # write a standalone module 53 $ fb myform -o MyForm.pm 54 55 # write a CGI script 56 $ fb myform -o form.cgi 57 58 =back 59 60 =head1 AUTHOR 61 62 Peter Eichman, C<< <peichman@cpan.org> >> 63 64 =head1 COPYRIGHT AND LICENSE 65 66 Copyright E<copy>2004 by Peter Eichman. 67 68 This program is free software; you can redistribute it and/or 69 modify it under the same terms as Perl itself. 70 71 =cut -
trunk/lib/Text/FormBuilder.pm
r50 r52 7 7 use vars qw($VERSION @EXPORT); 8 8 9 $VERSION = '0.0 7';9 $VERSION = '0.08_01'; 10 10 @EXPORT = qw(create_form); 11 11 … … 64 64 # write webpage, script, or module 65 65 if ($destination =~ $MODULE_EXTS) { 66 $parser->write_module($destination );66 $parser->write_module($destination, 1); 67 67 } elsif ($destination =~ $SCRIPT_EXTS) { 68 $parser->write_script($destination );68 $parser->write_script($destination, 1); 69 69 } else { 70 70 $parser->write($destination); … … 439 439 croak '[Text::FormBuilder::write_module] Expecting a package name' unless $package; 440 440 441 # remove a trailing .pm 442 $package =~ s/\.pm$//; 443 ## warn "[Text::FromBuilder::write_module] Removed extra '.pm' from package name\n" if $package =~ s/\.pm$//; 444 441 445 my $form_code = $self->_form_code; 442 446 … … 499 503 # clean up the generated code, if asked 500 504 eval 'use Perl::Tidy'; 501 die "Can't tidy the code: $@" if $@; 502 Perl::Tidy::perltidy(source => \$source_code, destination => $outfile, argv => $TIDY_OPTIONS); 505 unless ($@) { 506 Perl::Tidy::perltidy(source => \$source_code, destination => $outfile, argv => $TIDY_OPTIONS); 507 } else { 508 carp "Can't tidy the code: $@" if $@; 509 # fallback to just writing it as-is 510 open OUT, "> $outfile" or die $!; 511 print OUT $source_code; 512 close OUT; 513 } 503 514 } else { 504 515 # otherwise, just print as is … … 1194 1205 =head1 TODO 1195 1206 1207 Improve the commmand line tools 1208 1196 1209 Allow renaming of the submit button; allow renaming and inclusion of a 1197 1210 reset button 1211 1212 Allow groups to be used in normal field lines something like this: 1213 1214 !group DATE { 1215 month 1216 day 1217 year 1218 } 1219 1220 dob|Your birthday:DATE 1221 1222 Pieces that wouldn't make sense in a group field: size, row/col, options, 1223 validate. These should cause C<build> to emit a warning before ignoring them. 1224 1225 Make the generated modules into subclasses of CGI::FormBuilder 1198 1226 1199 1227 Allow for custom wrappers around the C<form_template>
Note: See TracChangeset
for help on using the changeset viewer.