File indexing completed on 2024-04-06 11:56:35
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 use strict;
0016 use warnings;
0017
0018 use Tk 804;
0019 use Tk::DialogBox;
0020 require Tk::ROText;
0021 use Switch;
0022
0023
0024 BEGIN {
0025 use File::Basename;
0026 unshift(@INC, dirname($0)."/mpslib");
0027 }
0028 use Mpslib;
0029
0030
0031
0032
0033 my (
0034
0035 $MW,
0036
0037
0038 %ZWIDGETS,
0039
0040
0041 );
0042
0043
0044
0045
0046
0047
0048 my $workdir;
0049
0050
0051 my $pathmillescript_variable;
0052 my $pathcfg_variable;
0053 my $pathdata_variable;
0054 my $pathpedescript_variable;
0055 my $pathcastor_variable;
0056 my $jobname_variable;
0057 my $setuppedejob_variable;
0058 my $njobs_variable;
0059 my $appendmillejob_variable;
0060 my $milleclass_variable;
0061 my $pedeclass_variable;
0062 my $batchclass_variable;
0063 my $pedemem_variable;
0064
0065 my $firemerge_variable;
0066 my $njobsfir_variable;
0067
0068
0069
0070 my $retryID_variable;
0071 my $retrymerge_variable;
0072 my $retryforce_variable;
0073
0074
0075 my $pathsave_variable;
0076
0077
0078 my $mpssetup_output;
0079 my $mpsfire_output;
0080 my $mpskill_output;
0081 my $mpsretry_output;
0082 my $mpsfetch_output;
0083 my $mpsstat_output;
0084 my $mpssave_output;
0085
0086 my $row_offset;
0087
0088
0089
0090
0091
0092
0093
0094 $MW = MainWindow->new;
0095
0096
0097
0098
0099
0100
0101 ZloadImages();
0102 ZloadFonts ();
0103
0104
0105
0106
0107 $ZWIDGETS{'title_label'} = $MW->Label(
0108 -text => 'Millipede Production System GUI',
0109 )->grid(
0110 -row => 0,
0111 -column => 0,
0112 -columnspan => 4,
0113 -sticky => 'ew',
0114 );
0115
0116
0117 $ZWIDGETS{'workdir_label'} = $MW->Label(
0118 -text => 'Working Directory:',
0119 )->grid(
0120 -row => 1,
0121 -column => 0,
0122 -sticky => 'ew',
0123 );
0124
0125
0126 $ZWIDGETS{'ROText2'} = $MW->ROText(
0127 -height => 1,
0128 -background => 'white',
0129 )
0130 ->grid(
0131 -row => 1,
0132 -column => 1,
0133 -columnspan => 3,
0134 );
0135
0136
0137
0138 $row_offset=2;
0139
0140
0141 $ZWIDGETS{'pathmillescript_label'} = $MW->Label(
0142 -text => 'Path to milleScript:',
0143 )->grid(
0144 -row => $row_offset,
0145 -column => 0,
0146 -sticky => 'ew',
0147 );
0148
0149
0150
0151 $ZWIDGETS{'pathmillescript_entry'} = $MW->Entry(
0152 -textvariable => \$pathmillescript_variable,
0153 -background => 'white',
0154 )
0155 ->grid(
0156 -row => $row_offset+1,
0157 -column => 0,
0158 -sticky => 'ew',
0159 );
0160
0161
0162 $ZWIDGETS{'pathcfg_label'} = $MW->Label(
0163 -text => 'Path to cfg/py file:',
0164 )->grid(
0165 -row => $row_offset+2,
0166 -column => 0,
0167 -sticky => 'ew',
0168 );
0169
0170
0171 $ZWIDGETS{'pathcfg_entry'} = $MW->Entry(
0172 -textvariable => \$pathcfg_variable,
0173 -background => 'white',
0174 )
0175 ->grid(
0176 -row => $row_offset+3,
0177 -column => 0,
0178 -sticky => 'ew',
0179 );
0180
0181
0182 $ZWIDGETS{'pathdata_label'} = $MW->Label(
0183 -text => 'Path to data:',
0184 )->grid(
0185 -row => $row_offset+4,
0186 -column => 0,
0187 -sticky => 'ew',
0188 );
0189
0190
0191 $ZWIDGETS{'pathdata_entry'} = $MW->Entry(
0192 -textvariable => \$pathdata_variable,
0193 -background => 'white',
0194 )->grid(
0195 -row => $row_offset+5,
0196 -column => 0,
0197 -sticky => 'ew',
0198 );
0199
0200
0201
0202 $ZWIDGETS{'pathpedescript_label'} = $MW->Label(
0203 -text => 'Path to pedeScript:',
0204 )->grid(
0205 -row => $row_offset+6,
0206 -column => 0,
0207 -sticky => 'ew',
0208 );
0209
0210
0211 $ZWIDGETS{'pathpedescript_entry'} = $MW->Entry(
0212 -textvariable => \$pathpedescript_variable,
0213 -background => 'white',
0214 )->grid(
0215 -row => $row_offset+7,
0216 -column => 0,
0217 -sticky => 'ew',
0218 );
0219
0220
0221
0222 $ZWIDGETS{'pathcastor_label'} = $MW->Label(
0223 -text => 'Path to castor directory:',
0224 )->grid(
0225 -row => $row_offset+8,
0226 -column => 0,
0227 -sticky => 'ew',
0228 );
0229
0230
0231 $ZWIDGETS{'pathcastor_entry'} = $MW->Entry(
0232 -textvariable => \$pathcastor_variable,
0233 -background => 'white',
0234 )->grid(
0235 -row => $row_offset+9,
0236 -column => 0,
0237 -sticky => 'ew',
0238 );
0239
0240
0241 $ZWIDGETS{'pathmillescript_button'} = $MW->Button(
0242 -anchor => 'center',
0243 -justify => 'center',
0244 -text => 'Browse',
0245 -command => sub{$pathmillescript_variable = &open_file_v3($pathmillescript_variable,"Choose Mille script","sh")},
0246 )->grid(
0247 -row => $row_offset+1,
0248 -column => 1,
0249 -sticky => 'w',
0250 );
0251
0252
0253 $ZWIDGETS{'pathcfg_button'} = $MW->Button(
0254 -text => 'Browse',
0255 -command => sub{$pathcfg_variable = &open_file_v3($pathcfg_variable,"Choose cfg/py file","py")},
0256 )->grid(
0257 -row => $row_offset+3,
0258 -column => 1,
0259 -sticky => 'w',
0260 );
0261
0262
0263 $ZWIDGETS{'pathdata_button'} = $MW->Button(
0264 -text => 'Browse',
0265 -command => sub{$pathdata_variable = &open_file_v3($pathdata_variable,"Choose data file","*")},
0266 )->grid(
0267 -row => $row_offset+5,
0268 -column => 1,
0269 -sticky => 'w',
0270 );
0271
0272
0273 $ZWIDGETS{'pathpedescript_button'} = $MW->Button(
0274 -text => 'Browse',
0275 -command => sub{$pathpedescript_variable = &open_file_v3($pathpedescript_variable,"Choose Pede script","sh")},
0276 )->grid(
0277 -row => $row_offset+7,
0278 -column => 1,
0279 -sticky => 'w',
0280 );
0281
0282
0283 $ZWIDGETS{'njobs_label'} = $MW->Label(
0284 -text => 'Number of jobs:',
0285 )->grid(
0286 -row => $row_offset,
0287 -column => 2,
0288 -sticky => 'ew',
0289 );
0290
0291
0292 $ZWIDGETS{'njobs_menu'} = $MW->Optionmenu(
0293 -options => [[1 =>1], [10 =>10], [100=>100], [1000=>1000]],
0294 -variable => \$njobs_variable,
0295 )->grid(
0296 -row => $row_offset+1,
0297 -column => 2,
0298 -sticky => 'ew',
0299 );
0300
0301
0302 $ZWIDGETS{'njobs_entry'} = $MW->Entry(
0303 -textvariable => \$njobs_variable,
0304 -background => 'white',
0305 )->grid(
0306
0307 -row => $row_offset+2,
0308 -column => 2,
0309 -sticky => 'ew',
0310 );
0311
0312
0313 $ZWIDGETS{'batchclass_label'} = $MW->Label(
0314 -text => 'Batch system queue/class:',
0315 )->grid(
0316 -row => $row_offset+3,
0317 -column => 2,
0318 -sticky => 'ew',
0319 );
0320
0321
0322 $ZWIDGETS{'milleclass_menu'} = $MW->Optionmenu(
0323 -options => [ ["(Choose mille queue)"=>""], ["8nm"=>"8nm"], ["1nh"=>"1nh"], ["8nh"=>"8nh"], ["1nd"=>"1nd"], ["2nd"=>"2nd"], ["1nw"=>"1nw"], ["2nw"=>"2nw"], ["cmscaf1nh"=>"cmscaf1nh"], ["cmscaf1nd"=>"cmscaf1nd"], ["cmscaf1nw"=>"cmscaf1nw"] ],
0324 -variable => \$milleclass_variable,
0325 -command => \&createbatchclass,
0326 )->grid(
0327 -row => $row_offset+4,
0328 -column => 2,
0329 -sticky => 'ew',
0330 );
0331
0332
0333 $ZWIDGETS{'pedeclass_menu'} = $MW->Optionmenu(
0334 -options => [ ["(Choose pede queue)"=>""], ["8nm"=>"8nm"], ["1nh"=>"1nh"], ["8nh"=>"8nh"], ["1nd"=>"1nd"], ["2nd"=>"2nd"], ["1nw"=>"1nw"], ["2nw"=>"2nw"], ["cmscaf1nh"=>"cmscaf1nh"], ["cmscaf1nd"=>"cmscaf1nd"], ["cmscaf1nw"=>"cmscaf1nw"], ["cmscafspec1nh"=>"cmscafspec1nh"], ["cmscafspec1nd"=>"cmscafspec1nd"], ["cmscafspec1nw"=>"cmscafspec1nw"] ],
0335 -variable => \$pedeclass_variable,
0336 -command => \&createbatchclass,
0337 )->grid(
0338 -row => $row_offset+5,
0339 -column => 2,
0340 -sticky => 'ew',
0341 );
0342
0343
0344
0345 $ZWIDGETS{'batchclass_entry'} = $MW->Entry(
0346 -textvariable => \$batchclass_variable,
0347 -background => 'white',
0348 )->grid(
0349
0350 -row => $row_offset+6,
0351 -column => 2,
0352 -sticky => 'ew',
0353 );
0354
0355
0356
0357 $ZWIDGETS{'jobname_label'} = $MW->Label(
0358 -text => 'Jobname for batch system:',
0359 )->grid(
0360 -row => $row_offset+7,
0361 -column => 2,
0362 -sticky => 'ew',
0363 );
0364
0365
0366
0367 $ZWIDGETS{'jobaname_entry'} = $MW->Entry(
0368 -textvariable => \$jobname_variable,
0369 -background => 'white',
0370 )->grid(
0371 -row => $row_offset+8,
0372 -column => 2,
0373 -sticky => 'ew',
0374 );
0375
0376
0377 $ZWIDGETS{'setuppedejob_label'} = $MW->Label(
0378 -text => 'Setup a Pede job?',
0379 )->grid(
0380 -row => $row_offset,
0381 -column => 3,
0382 -sticky => 'ew',
0383 );
0384
0385
0386 $ZWIDGETS{'setuppedejob_menu'} = $MW->Optionmenu(
0387 -options => [[yes=>1], [no=>2]],
0388 -variable => \$setuppedejob_variable,
0389 )->grid(
0390 -row => $row_offset+1,
0391 -column => 3,
0392 -sticky => 'ew',
0393 );
0394
0395
0396
0397 $ZWIDGETS{'pede_mem'} = $MW->Label(
0398 -text => 'Memory for pede job:',
0399 )->grid(
0400 -row => $row_offset+2,
0401 -column => 3,
0402 -sticky => 'ew',
0403 );
0404
0405
0406 $ZWIDGETS{'pede_mem_entry'} = $MW->Entry(
0407 -textvariable => \$pedemem_variable,
0408 -background => 'white',
0409 )->grid(
0410
0411 -row => $row_offset+3,
0412 -column => 3,
0413 -sticky => 'ew',
0414 );
0415
0416
0417
0418 $ZWIDGETS{'appendmillejob_label'} = $MW->Label(
0419 -text => 'Set up additional Mille jobs?',
0420 )->grid(
0421 -row => $row_offset+4,
0422 -column => 3,
0423 -sticky => 'ew',
0424 );
0425
0426
0427 $ZWIDGETS{'appendmillejob_menu'} = $MW->Optionmenu(
0428 -options => [[no=>2], [yes=>1]],
0429 -variable => \$appendmillejob_variable,
0430 )->grid(
0431 -row => $row_offset+5,
0432 -column => 3,
0433 -sticky => 'ew',
0434 );
0435
0436
0437
0438 $ZWIDGETS{'setup_button'} = $MW->Button(
0439 -text => 'Run mps_setup',
0440 -command => \&setup_cmd,
0441 -background => 'cyan',
0442 )->grid(
0443 -row => $row_offset+9,
0444 -column => 2,
0445 -columnspan => 2,
0446 -sticky => 'ew',
0447 );
0448
0449
0450
0451 $row_offset=12;
0452
0453
0454 $ZWIDGETS{'njobsfir_label'} = $MW->Label(
0455 -text => 'Numbers of jobs to fire: ',
0456 )->grid(
0457 -row => $row_offset,
0458 -column => 0,
0459 -sticky => 'ew',
0460 );
0461
0462
0463 $ZWIDGETS{'njobsfir_entry'} = $MW->Entry(
0464 -textvariable => \$njobsfir_variable,
0465 -background => 'white',
0466 )->grid(
0467
0468 -row => $row_offset+1,
0469 -column => 0,
0470 -sticky => 'ew',
0471 );
0472
0473
0474
0475 $ZWIDGETS{'firemerge_label'} = $MW->Label(
0476 -text => 'Fire merge job:',
0477 )->grid(
0478 -row => $row_offset,
0479 -column => 1,
0480 -sticky => 'ew',
0481 );
0482
0483
0484 $ZWIDGETS{'firemerge_menu'} = $MW->Optionmenu(
0485 -options => [["no"=>""], ["yes"=>"-m"], ["force merge job"=>"-mf"]],
0486 -variable => \$firemerge_variable,
0487 )->grid(
0488 -row => $row_offset+1,
0489 -column => 1,
0490 -sticky => 'ew',
0491 );
0492
0493
0494 $ZWIDGETS{'runmpsfire_button'} = $MW->Button(
0495 -text => 'Run mps_fire',
0496 -command => \&mpsfire_cmd,
0497 -background => 'cyan',
0498 )->grid(
0499 -row => $row_offset+1,
0500 -column => 2,
0501 -columnspan => 2,
0502 -sticky => 'ew',
0503 );
0504
0505
0506 $row_offset=14;
0507
0508
0509 $row_offset=16;
0510
0511
0512 $ZWIDGETS{'retryID_label'} = $MW->Label(
0513 -text => 'jobSpec to retry:',
0514 )->grid(
0515 -row => $row_offset,
0516 -column => 0,
0517 -sticky => 'ew',
0518 );
0519
0520
0521 $ZWIDGETS{'retryID_entry'} = $MW->Entry(
0522 -textvariable => \$retryID_variable,
0523 -background => 'white',
0524 )->grid(
0525 -row => $row_offset+1,
0526 -column => 0,
0527 -sticky => 'ew',
0528 );
0529
0530
0531
0532 $ZWIDGETS{'retrymerge_label'} = $MW->Label(
0533 -text => 'Retry merge job: ',
0534 )->grid(
0535 -row => $row_offset,
0536 -column => 1,
0537 -sticky => 'ew',
0538 );
0539
0540
0541 $ZWIDGETS{'retrymerge_menu'} = $MW->Optionmenu(
0542 -options => [["no"=>""], ["yes"=>"-m"]],
0543 -variable => \$retrymerge_variable,
0544 )->grid(
0545 -row => $row_offset+1,
0546 -column => 1,
0547 -sticky => 'ew',
0548 );
0549
0550
0551 $ZWIDGETS{'retryforce_label'} = $MW->Label(
0552 -text => 'Force retry on OK jobs: ',
0553 )->grid(
0554 -row => $row_offset,
0555 -column => 2,
0556 -sticky => 'ew',
0557 );
0558
0559
0560 $ZWIDGETS{'retryforce_menu'} = $MW->Optionmenu(
0561 -options => [["no"=>""], ["yes"=>"-f"]],
0562 -variable => \$retryforce_variable,
0563 )->grid(
0564 -row => $row_offset+1,
0565 -column => 2,
0566 -sticky => 'ew',
0567 );
0568
0569
0570 $ZWIDGETS{'runmpsretry_button'} = $MW->Button(
0571 -text => 'Run mps_retry',
0572 -command => \&mpsretry_cmd,
0573 -background => 'cyan',
0574 )->grid(
0575 -row => $row_offset+1,
0576 -column => 3,
0577 -columnspan => 1,
0578 -sticky => 'ew',
0579 );
0580
0581
0582
0583 $row_offset=18;
0584
0585
0586 $ZWIDGETS{'runmpsfetch_button'} = $MW->Button(
0587 -text => 'Run mps_fetch',
0588 -command => \&mpsfetch_cmd,
0589 -background => 'cyan',
0590 )->grid(
0591 -row => $row_offset,
0592 -column => 0,
0593 -columnspan => 2,
0594 -sticky => 'ew',
0595 );
0596
0597
0598 $ZWIDGETS{'status_button'} = $MW->Button(
0599 -text => 'Run mps_stat',
0600 -command => \&mpsstat_cmd,
0601 -background => 'cyan',
0602 )->grid(
0603 -row => $row_offset,
0604 -column => 2,
0605 -columnspan => 2,
0606 -sticky => 'ew',
0607 );
0608
0609
0610 $row_offset=19;
0611
0612
0613 $ZWIDGETS{'savedir_label'} = $MW->Label(
0614 -text => 'Save to Directory:',
0615 )->grid(
0616 -row => $row_offset,
0617 -column => 0,
0618 -sticky => 'ew',
0619 );
0620
0621
0622 $ZWIDGETS{'pathsave_entry'} = $MW->Entry(
0623 -textvariable => \$pathsave_variable,
0624 -background => 'white',
0625 )
0626 ->grid(
0627 -row => $row_offset+1,
0628 -column => 0,
0629 -columnspan => 2,
0630 -sticky => 'ew',
0631 );
0632
0633
0634 $ZWIDGETS{'save_button'} = $MW->Button(
0635 -text => 'Run mps_save',
0636 -command => \&mpssave_cmd,
0637 -background => 'cyan',
0638 )->grid(
0639 -row => $row_offset+1,
0640 -column => 2,
0641 -columnspan => 2,
0642 -sticky => 'ew',
0643 );
0644
0645
0646
0647 $row_offset=21;
0648
0649
0650 $ZWIDGETS{'output_label'} = $MW->Label(
0651 -text => 'Command output:',
0652 )->grid(
0653 -row => $row_offset,
0654 -column => 0,
0655 -columnspan => 4,
0656 -sticky => 'ew',
0657 );
0658
0659
0660 $ZWIDGETS{'ROText1'} = $MW->Scrolled('ROText',
0661 -scrollbars => 'e',
0662 -height => 15,
0663 -width => 40,
0664 -wrap => 'char',
0665 -background => 'white',
0666 -selectbackground => 'blue'
0667 )
0668 ->grid(
0669 -row => $row_offset+1,
0670 -column => 0,
0671 -columnspan => 4,
0672 -sticky => 'ew',
0673 );
0674
0675
0676
0677 $row_offset=23;
0678
0679
0680 $ZWIDGETS{'quit_button'} = $MW->Button(
0681 -anchor => 'center',
0682 -justify => 'center',
0683 -text => 'Quit',
0684 -command => sub{exit(0)},
0685 )->grid(
0686 -row => $row_offset,
0687 -column => 0,
0688 -columnspan => 4,
0689 -sticky => 'ew',
0690 );
0691
0692
0693
0694
0695
0696
0697
0698
0699 reset_var();
0700 MainLoop;
0701 printf "Prova\n";
0702
0703
0704
0705
0706
0707
0708
0709 sub ZloadImages {
0710 }
0711
0712 sub ZloadFonts {
0713 }
0714
0715 sub open_file_v3 ($$$) {
0716 my $infile = shift;
0717 my $title = shift;
0718 my $fext = shift;
0719 my $ftyp;
0720
0721 switch ($fext) {
0722 case "sh" {$ftyp = [ ['zsh scripts', '.sh'], ['All Files', '*'] ];}
0723 case "py" {$ftyp = [ ['py files', '.py'], ['All Files', '*'] ];}
0724 case "cfg" {$ftyp = [ ['cfg files', '.cfg'], ['All Files', '*'] ];}
0725 else {$ftyp = [ ['All Files', '*'] ];}
0726 }
0727
0728 my $open = $MW->getOpenFile(-filetypes => $ftyp,
0729 -title => $title,
0730 );
0731
0732 if (!defined($open)) {
0733 $open = $infile;
0734 }
0735
0736 return $open;
0737 }
0738
0739 sub reset_var {
0740
0741 $workdir = `pwd`;
0742 $ZWIDGETS{'ROText2'}->delete("1.0", 'end');
0743 $ZWIDGETS{'ROText2'}->insert('end',$workdir);
0744
0745
0746 if (-e "mps.db") {
0747 read_db();
0748
0749 $pathmillescript_variable =$batchScript;
0750 $pathcfg_variable =$cfgTemplate;
0751 $pathdata_variable =$infiList;
0752 $pathpedescript_variable =$mergeScript;
0753 $pathcastor_variable =$mssDir;
0754 if ($mssDirPool ne "") {
0755 $pathcastor_variable =$mssDirPool.":".$pathcastor_variable;
0756 }
0757 $jobname_variable =$addFiles;
0758 $njobs_variable =$nJobs;
0759
0760 $batchclass_variable =$class;
0761 $milleclass_variable ="";
0762 $pedeclass_variable ="";
0763 $pedemem_variable = $pedeMem;
0764 }
0765
0766 $setuppedejob_variable ="1";
0767 $appendmillejob_variable ="2";
0768 $firemerge_variable ="";
0769 $njobsfir_variable ="1";
0770
0771 $retryID_variable=0;
0772 $retrymerge_variable="";
0773 $retryforce_variable="";
0774
0775 $mpssetup_output="";
0776 $mpsfire_output="";
0777 $mpskill_output="";
0778 $mpsretry_output="";
0779 $mpsfetch_output="";
0780 $mpsstat_output="";
0781 $mpssave_output="";
0782 }
0783
0784 sub setup_cmd {
0785 my $setup_cmd = "";
0786 my $setup_opt = "";
0787
0788
0789
0790 if (-e "jobData" && $appendmillejob_variable != 1) {
0791
0792 my $popup=$MW->DialogBox(-title=>"Confirm Setup",
0793 -buttons=>["Confirm","Cancel"],);
0794 $popup->add("Label", -text=>"Are you sure? This will erase the existing jobData directory.")->pack;
0795
0796 my $button = $popup->Show;
0797
0798 if ($button ne "Confirm") {
0799 return;
0800 }
0801 }
0802
0803 if ($appendmillejob_variable == 1) {
0804 $setup_opt .= " -a";
0805 }
0806
0807 if ($setuppedejob_variable != 1) {
0808
0809 $setup_cmd = sprintf "mps_setup.pl %s %s %s %s %d %s %s",$setup_opt,
0810 $pathmillescript_variable,$pathcfg_variable,$pathdata_variable,
0811 $njobs_variable,$batchclass_variable,$jobname_variable;
0812 $mpssetup_output=`$setup_cmd 2>&1`;
0813 } else {
0814
0815 $setup_opt .= " -m";
0816 if (length($pedemem_variable)) {
0817 $setup_opt .= " -M ".$pedemem_variable;
0818 }
0819 $setup_cmd = sprintf "mps_setup.pl %s %s %s %s %d %s %s %s %s",$setup_opt,
0820 $pathmillescript_variable,$pathcfg_variable,$pathdata_variable,
0821 $njobs_variable,$batchclass_variable,$jobname_variable,
0822 $pathpedescript_variable,$pathcastor_variable;
0823 $mpssetup_output=`$setup_cmd 2>&1`;
0824 }
0825
0826
0827
0828
0829
0830 $ZWIDGETS{'ROText1'}->insert('end',"$mpssetup_output \n");
0831 $ZWIDGETS{'ROText1'}->see('end');
0832 }
0833
0834 sub mpssave_cmd {
0835 my $save_cmd = "";
0836
0837 $save_cmd = sprintf "mps_save.pl %s",$pathsave_variable;
0838 $mpssave_output=`$save_cmd 2>&1`;
0839
0840 $ZWIDGETS{'ROText1'}->insert('end',"$mpssave_output \n");
0841 $ZWIDGETS{'ROText1'}->see('end');
0842 }
0843
0844 sub mpsstat_cmd {
0845 my $status_cmd = "";
0846
0847 $status_cmd = sprintf "mps_stat.py";
0848 $mpsstat_output=`$status_cmd 2>&1`;
0849
0850 $ZWIDGETS{'ROText1'}->insert('end',"$mpsstat_output \n");
0851 $ZWIDGETS{'ROText1'}->see('end');
0852 }
0853
0854
0855 sub mpsfire_cmd {
0856 my $fire_cmd = "";
0857
0858 $fire_cmd = sprintf "mps_fire.py %s %s",$firemerge_variable,
0859 $njobsfir_variable;
0860 $mpsfire_output=`$fire_cmd 2>&1`;
0861
0862 $ZWIDGETS{'ROText1'}->insert('end',"$mpsfire_output \n");
0863 $ZWIDGETS{'ROText1'}->see('end');
0864 }
0865
0866 sub mpsretry_cmd {
0867 my $mpsretry_cmd = "";
0868
0869 $mpsretry_cmd = sprintf "mps_retry.pl %s %s %s",$retrymerge_variable,
0870 $retryforce_variable,$retryID_variable;
0871 $mpsretry_output=`$mpsretry_cmd 2>&1`;
0872
0873 $ZWIDGETS{'ROText1'}->insert('end',"$mpsretry_output \n");
0874 $ZWIDGETS{'ROText1'}->see('end');
0875 }
0876
0877 sub mpsfetch_cmd {
0878
0879 my $fetch_cmd = "";
0880
0881 $fetch_cmd = sprintf "mps_fetch.py";
0882 $mpsfetch_output=`$fetch_cmd 2>&1`;
0883
0884 $ZWIDGETS{'ROText1'}->insert('end',"$mpsfetch_output \n");
0885 $ZWIDGETS{'ROText1'}->see('end');
0886 }
0887
0888
0889 sub cleanwindow{
0890 $ZWIDGETS{'ROText1'}->delete("1.0", 'end');
0891 }
0892
0893
0894 sub createbatchclass{
0895
0896
0897
0898 if (!defined($milleclass_variable)) {return;}
0899 if (!defined($pedeclass_variable)) {return;}
0900
0901 if ($milleclass_variable ne "" && $pedeclass_variable ne "") {
0902 $batchclass_variable=$milleclass_variable .":". $pedeclass_variable;
0903 } elsif ($milleclass_variable ne "") {
0904 $batchclass_variable=$milleclass_variable;
0905 } elsif ($pedeclass_variable ne "") {
0906 $batchclass_variable=$pedeclass_variable;
0907 }
0908 }
0909
0910
0911 sub prova{
0912 printf "Prova.\n";
0913 }