Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.stsci.edu/spst/UnixTransition/doc/submit_menu.html
Дата изменения: Fri Apr 8 12:46:15 2016
Дата индексирования: Mon Apr 11 01:32:25 2016
Кодировка:
Python: module submit_menu
 
 
submit_menu (version 16.02.16)
index
submit_menu.py

PURPOSE --
This Gridware Submission selection menu.
 
DEVELOPER --
K. Clark and D. Chance
 
MODIFICATION HISTORY --
o Initial implementation  1/ 2/03
o add xev as option. 12/3/03
o change submit button name to execute.  1/13/04
o set ccs_product to None when a run is started.  1/13/04
o updated to get rid of 'broken pipe' messages. 1/21/04
o added pdbman.  dc 4/19/04
o added buttons for megg, opc cat, and load checking. dc 8/6/04
o automatically saved pickle only goes in output area. dc 8/12/04
o keep history on state of buttons.  dc 9/22/04
o add lga_comm button. dc 9/28/04
o allow megg, lga comm and mosr to be run independent ms/cl runs.
  dc 11/30/04
o jump around sanity checks when doing just pdbman. dc 1/4/05
o check cl continuity. dc 2/2/05
o fix cl continuity check. dc 3/31/05
o add try block around cl run prep. dc 8/2/05
o running of dst now independent of running of ms. dc 1/17/06
o fix xev config path. dc 5/22/06
o add queue menu. dc 6/28/06
o raise an error if the logfile doesn't get created after one minute.
   dc 3/5/07
o modified for SGE 6. dc 5/8/07
o check tdrs schedule drc 11/7/11
o fix window sizing issue. drc 8/14/12
o code cleanup. drc 2/16/16

 
Modules
       
Queue
Tix
abstract_pass_menu
glob
mscl_util
os
pass_util
select_option_menu
shutil
spss_sys_util
sys
threading
time
time_util
tkMessageBox
traceback

 
Classes
       
abstract_pass_menu.abstract_pass_menu
submit_menu
exceptions.RuntimeError(exceptions.StandardError)
BatchQueueError
CLContCheck
GuiPart
Logfile_dialog
Submit_Checkbutton
TDRS_schedule_check

 
class BatchQueueError(exceptions.RuntimeError)
    
Method resolution order:
BatchQueueError
exceptions.RuntimeError
exceptions.StandardError
exceptions.Exception
exceptions.BaseException
__builtin__.object

Data descriptors defined here:
__weakref__
list of weak references to the object (if defined)

Methods inherited from exceptions.RuntimeError:
__init__(...)
x.__init__(...) initializes x; see help(type(x)) for signature

Data and other attributes inherited from exceptions.RuntimeError:
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from exceptions.BaseException:
__delattr__(...)
x.__delattr__('name') <==> del x.name
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__reduce__(...)
__repr__(...)
x.__repr__() <==> repr(x)
__setattr__(...)
x.__setattr__('name', value) <==> x.name = value
__setstate__(...)
__str__(...)
x.__str__() <==> str(x)
__unicode__(...)

Data descriptors inherited from exceptions.BaseException:
__dict__
args
message

 
class CLContCheck
     Methods defined here:
__init__(self, submit_menu, input_path='', calc_path='')
execute(self, result)

 
class GuiPart
    Handle the logfile dialog box using threads.   Based upon a recipe
created by Jacob Hallen, AB Strakt, Sweden. 2001-10-17.
 
The following comment comes from the original recipe:
   This recipe describes how to handle asynchronous I/O in an environment where
   you are running Tkinter as the graphical user interface. Tkinter is safe
   to use as long as all the graphics commands are handled in a single thread.
   Since it is more efficient to make I/O channels to block and wait for something
   to happen rather than poll at regular intervals, we want I/O to be handled
   in separate threads. These can communicate in a threasafe way with the main,
   GUI-oriented process through one or several queues. In this solution the GUI
   still has to make a poll at a reasonable interval, to check if there is
   something in the queue that needs processing. Other solutions are possible,
   but they add a lot of complexity to the application.
 
  Methods defined here:
__init__(self, parent, queue, endCommand, logpath)
destroy(self, event=None)
processIncoming(self)
Handle all the messages currently in the queue (if any).

 
class Logfile_dialog
    Launch the main part of the GUI and the worker thread. periodicCall and
endApplication could reside in the GUI part, but putting them here
means that you have all the thread controls in a single place.
 
  Methods defined here:
__init__(self, parent, path)
Start the GUI and the asynchronous threads. We are in the main
(original) thread of the application, which will later be used by
the GUI. We spawn a new thread for the worker.
activate(self)
endApplication(self)
periodicCall(self)
Check every 100 ms if there is something new in the queue.
workerThread1(self)
This is where we handle the asynchronous I/O. For example, it may be
a 'select()'.
One important thing to remember is that the thread has to yield
control.

 
class Submit_Checkbutton
     Methods defined here:
__init__(self, parent, text, value=1)
destroy(self)
get(self)
pack(self)
set(self, value)

 
class TDRS_schedule_check
     Methods defined here:
__init__(self, submit_menu, tdrs_sched_path='', newer_sched_path='')
execute(self, result)

 
class submit_menu(abstract_pass_menu.abstract_pass_menu)
     Methods defined here:
__init__(self, parent, pass_run=None, verbose=0)
button_setup(self, name, text, button_count, default_state=1)
Create a checkbutton.
destroy_run_buttons(self)
Destory the run buttons
get_CLContCheck_message(self)
get_TDRS_sched_check_message(self)
make_run_buttons(self)
Make a checkbutton for each PASS component.
on_lower(self, run_obj)
on_raise(self, run_obj)
set_CLContCheck_message(self, message)
set_TDRS_sched_check_message(self, message)
submit(self)
Method to submit a gridware batch job

Methods inherited from abstract_pass_menu.abstract_pass_menu:
clear(self)
Clear this menu.
Should be overriden by subclasses.

 
Data
        BOTH = 'both'
DATABASENAME = 'spss'
END = 'end'
LEFT = 'left'
N = 'n'
NW = 'nw'
PASS_QUEUE = 'pass.q'
PASS_SOFTWARE_VERSIONS = ['ops', 'old', 'new', 'spec']
PASS_SYSTEM = 'ops'
Pmw = <Pmw.Pmw_1_3_3.lib.PmwLoader.PmwLoader instance>
RAISED = 'raised'
RIGHT = 'right'
TOP = 'top'
W = 'w'
X = 'x'
Y = 'y'
YES = 1
__version__ = '16.02.16'