schrodinger.ui.qt.appframework2.jobnames module¶
Functions used for updating job names. update_jobname
is intended for use
outside of AF2.
- class schrodinger.ui.qt.appframework2.jobnames.JobnameType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
enum.Enum
Constants describing the three categories of job names
- Standard = 1¶
The standard job name generated by the panel
- Modified = 2¶
The standard job name plus a user-added prefix or suffix (or both)
- Custom = 3¶
A user-generated job name that doesn’t contain the standard job name
- schrodinger.ui.qt.appframework2.jobnames.uniquify(jobname, jobtype, uniquify_custom=True, omit_one_from_standard=False, name_list=None)¶
Uniquify a job name by adding a trailing integer to ensure that there are no conflicting file names in the current working directory. Standard job names will always have an integer added (e.g. jobname_1, jobname_2, jobname_3). Modified job names (and custom job names if
uniquify_custom
is True) will only have an integer added if necessary (e.g. jobname, jobname_2, jobname_3 - note that there is no “_1”).- Parameters
jobname (basestring) – The job name to uniquify
jobtype (
JobnameType
) – The job name type, which will determine the uniquifying behavioruniquify_custom (bool) – Whether we should uniquify custom job name by adding integers to the end. If False, only standard and modified job names will be uniquified.
omit_one_from_standard (bool) – If True, standard job names will only have an integer added if necessary (i.e. <jobname> instead of <jobname>_1)
name_list (list of basestring) – Optional list of names to uniquify against. If not given, the name will be compared against the directory listing of the CWD
- Returns
The uniquified job name
- Return type
basestring
- schrodinger.ui.qt.appframework2.jobnames.determine_jobtype(current_jobname, old_standard_jobname, new_standard_jobname=None, trim_custom=False)¶
Classify the current job name type and generate the new non-unique job name. Note that, as a special case, blank job names will be classified as - and replaced with - the standard job name.
- Parameters
current_jobname (basestring) – The job name to update and classify
old_standard_jobname (basestring) – The standard job name used for classifying the current job name
new_standard_jobname (basestring) – The standard job name used for generating the new job name. If not given,
old_standard_jobname
will be used.trim_custom (bool) – If True, any trailing uniquifying integer will be removed from custom job names. If False, custom job names will not be modified.
- Returns
A tuple of - The new non-unique job name (basestring) - The job name type (
JobnameType
)- Return type
tuple
- schrodinger.ui.qt.appframework2.jobnames.update_jobname(current_jobname, standard_jobname, uniquify_custom=True, name_list=None)¶
Update the job name by adding new uniquifying digits at the end
- Parameters
current_jobname (basestring) – The job name to update
standard_jobname – The standard job name for the panel
uniquify_custom (bool) – Whether we should uniquify custom job name by adding integers to the end. If False, only standard and modified job names will be uniquified.
name_list (list of basestring) – Optional list of names to uniquify against. If not given, the name will be compared against the directory listing of the CWD
- Returns
The updated job name
- Return type
basestring
- schrodinger.ui.qt.appframework2.jobnames.get_next_jobname(jobname, omit_one=False, name_list=None)¶
Given a job name, choose the next available unique job name based on the names of existing files in the current working directory
- Parameters
jobname (basestring) – The job name to uniquify
omit_one (bool) – If
jobname
is unique by itself, should we omit appending the “_1”name_list (list of basestring) – Optional list of names to uniquify against. If not given, the name will be compared against the directory listing of the CWD
- Returns
The new job name
- Return type
basestring
- Note
This method will not return <jobname>_1 if a <jobname> file exists. Instead, it will return <jobname>_2 (or whatever the next available integer is). In other words, <jobname> and <jobname>_1 are assumed to be equivalent.