/[Frey]/trunk/lib/Frey/Run.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/lib/Frey/Run.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 887 by dpavlin, Wed Dec 24 13:51:59 2008 UTC revision 1128 by dpavlin, Tue Jun 30 14:13:15 2009 UTC
# Line 75  sub html { Line 75  sub html {
75          my ( $self ) = @_;          my ( $self ) = @_;
76    
77          my ($html,$body,$data);          my ($html,$body,$data);
78    
79            my $current_status;
80            $current_status->{$_}++ foreach $self->status;
81    
82          eval {          eval {
83                  my $class = $self->class;                  my $class = $self->class;
84                  $self->load_class( $class );                  $self->load_class( $class );
85    
86                  if ( my $form = $self->params_form ) {                  if ( my $form = $self->params_form ) {
87                          $html = $self->page( body => $form );                          $html = $self->html_page( body => $form );
88                          warn "got required params form for $class ", $self->run, " format: ", $self->format;                          warn "missing required params form for $class ", $self->run, " format: ", $self->format;
89                  } else {                  } else {
90    
91                          $self->usage->{ $class }++;                          $self->usage->{ $class }++;
# Line 106  sub html { Line 110  sub html {
110                          $o->depends if $o->can('depends');                          $o->depends if $o->can('depends');
111    
112                          if ( $self->run =~ m{as_markup} ) {                          if ( $self->run =~ m{as_markup} ) {
113                                  $html = $o->page( run => $self->run );                                  $html = $o->html_page( run => $self->run );
114                          } elsif ( $self->run =~ m{(.*as_sponge)} ) {                          } elsif ( $self->run =~ m{(.*as_sponge)} ) {
115                                  $data = $o->$1;                                  $data = $o->$1;
116                                  confess "invalid data from sponge = ", dump( $data ) unless ref($data) eq 'HASH';                                  confess "invalid data from sponge = ", dump( $data ) unless ref($data) eq 'HASH';
# Line 118  sub html { Line 122  sub html {
122                                          $body .= '<tr><th>' . join('</th><th>', @{$data->{NAME}} ) . '</th></tr>';                                          $body .= '<tr><th>' . join('</th><th>', @{$data->{NAME}} ) . '</th></tr>';
123                                          $body .= '<tr><td>' . join('</td><td>', @$_ ) . '</td></tr>' foreach @{ $data->{rows} };                                          $body .= '<tr><td>' . join('</td><td>', @$_ ) . '</td></tr>' foreach @{ $data->{rows} };
124                                          $body .= '</table>';                                          $body .= '</table>';
125    
126                                            $self->add_css(qq|
127                                                    tr:nth-child(even) {
128                                                            background-color: #eee;
129                                                    }
130                                            |);
131    
132                                            delete( $data->{rows} ); # too much dumplication
133                                            $body .= Frey::View::Dumper->new( data => $data )->as_markup if $data;
134                                  }                                  }
135                          } elsif ( $self->run =~ m{(as_data|sql)} ) {                          } elsif ( $self->run =~ m{(as_data|sql)} ) {
136                                  my $run = $self->run;                                  my $run = $self->run;
# Line 134  sub html { Line 147  sub html {
147                          }                          }
148                          if ( ! $html ) {                          if ( ! $html ) {
149                                  $body  = Frey::View::Dumper->new( data => $body )->as_markup if ref $body;                                  $body  = Frey::View::Dumper->new( data => $body )->as_markup if ref $body;
150                                  $body .= Frey::View::Dumper->new( data => $data )->as_markup if defined $data;                                  $body .= Frey::View::Dumper->new( data => $data )->as_markup if defined $data && ! defined $body;
151                          }                          }
152    
153                          $o->title( $class );                          $o->title( $class );
154    
155                          $html = $o->page( body => $body ) if $body && !$html;                          $html = $o->html_page( body => $body ) if $body && !$html;
156                          $self->content_type( $o->content_type );                          $self->content_type( $o->content_type );
157    
158                          confess "no html output for $class ", $o->dump unless defined $html;                          confess "no html output for $class ", $o->dump unless defined $html;
159    
160                            if ( $o->can('status') ) {
161                                    foreach ( $o->status ) {
162                                            next if $current_status->{$_}++;
163                                            $self->add_status( $_ );
164    #                                       warn "# run add_status: ", $self->dump( $_ ); # FIXME
165                                    }
166                            }
167    
168                  };                  };
169    
170          };          };
# Line 151  sub html { Line 173  sub html {
173    
174          if ( $@ ) {          if ( $@ ) {
175                  my $error = $@;                  my $error = $@;
176                    warn $error;
177    
178                    exit if $error =~ m{Attempt to reload \S+ aborted}; # FIXME Mojo can't reload DBIx::Class
179    
180                  my $o = Frey->new;                  my $o = Frey->new;
181                  $o->{request_url} = $self->request_url; # sigh, this is dynamic languge, right?                  $o->{request_url} = $self->request_url; # sigh, this is dynamic languge, right?
182                  Frey::Web->meta->apply( $o );                  Frey::Web->meta->apply( $o );
183                  $html = $o->page( body => $self->error( $error, undef ) );                  $html = $o->html_page( body => $self->error( $error, undef ) );
184          }          }
185    
186          warn $self->class, " produced ", length($html), " bytes of ", $self->content_type;          warn $self->class, " produced ", length($html), " bytes of ", $self->content_type;

Legend:
Removed from v.887  
changed lines
  Added in v.1128

  ViewVC Help
Powered by ViewVC 1.1.26