[Bio] / FigKernelPackages / Subsystem.pm Repository:
ViewVC logotype

Diff of /FigKernelPackages/Subsystem.pm

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

revision 1.64, Mon Aug 8 20:05:08 2005 UTC revision 1.65, Mon Aug 8 21:54:39 2005 UTC
# Line 401  Line 401 
401    
402  sub create_new_diagram  sub create_new_diagram
403  {  {
404      my($self, $fh, $name, $id)  = @_;      my($self, $fh, $html_fh, $name, $id)  = @_;
405    
406      #      #
407      # Get a new id.      # Get a new id.
# Line 459  Line 459 
459    
460          if (read($fh, $buf, 4096))          if (read($fh, $buf, 4096))
461          {          {
462                my($ext) = $self->classify_image_type($buf);
463                open(D, ">$path/diagram$ext");
464                print D $buf;
465    
466                while (read($fh, $buf, 4096))
467                {
468                    print D $buf;
469                }
470                close(D);
471            }
472            close($fh);
473        }
474    
475        #
476        # And write the HTML file if we have one.
477        #
478        if ($html_fh)
479        {
480            my $buf;
481            open(D, ">$path/diagram.html");
482    
483            while (read($html_fh, $buf, 4096))
484            {
485                print D $buf;
486            }
487            close(D);
488            close($html_fh);
489        }
490    }
491    
492    sub upload_new_image
493    {
494        my($self, $id, $fh) = @_;
495    
496        return unless $fh;
497    
498        my $dir = "$self->{dir}/diagrams/$id";
499    
500        return unless -d $dir;
501    
502        #
503        # remove any old diagram images.
504        #
505    
506        for my $path (<$dir/diagram.{png,gif,jpg}>)
507        {
508            unlink($path);
509        }
510    
511        my($ext, $buf);
512    
513        if (read($fh, $buf, 4096))
514        {
515            my($ext) = $self->classify_image_type($buf);
516            open(D, ">$dir/diagram$ext");
517            print D $buf;
518    
519            while (read($fh, $buf, 4096))
520            {
521                print D $buf;
522            }
523            close(D);
524        }
525        close($fh);
526    }
527    
528    sub upload_new_html
529    {
530        my($self, $id, $fh) = @_;
531    
532        return unless $fh;
533    
534        my $dir = "$self->{dir}/diagrams/$id";
535    
536        return unless -d $dir;
537    
538        my($buf);
539    
540        open(D, ">$dir/diagram.html");
541    
542        while (read($fh, $buf, 4096))
543        {
544            print D $buf;
545        }
546        close(D);
547        close($fh);
548    }
549    
550    sub classify_image_type
551    {
552        my($self, $buf) = @_;
553    
554        my $ext;
555    
556              #              #
557              # Determine file type, for PNG / JPG / GIF. If we could be assured              # Determine file type, for PNG / JPG / GIF. If we could be assured
558              # the ImageMagick identify app worked properly, we'd use that instead.              # the ImageMagick identify app worked properly, we'd use that instead.
# Line 484  Line 578 
578                  $ext = ".png";                  $ext = ".png";
579              }              }
580    
581              open(D, ">$path/diagram$ext");      return $ext;
             print D $buf;  
   
             while (read($fh, $buf, 4096))  
             {  
                 print D $buf;  
             }  
             close(D);  
         }  
         close($fh);  
     }  
582  }  }
583    
584    
585  #  #
586  # Synchronize the database index for this subsystem to the  # Synchronize the database index for this subsystem to the
587  # subsystem data.  # subsystem data.

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.65

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3