mirror of https://gitlab.com/QEF/q-e.git
improving the parsing of multi-options with the same meaning,
such as, 'methfessel-paxton', or 'm-p', or 'mp' git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@10883 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
9840aded76
commit
83561c095d
|
@ -52,6 +52,73 @@ proc ::pwscf::readFilter::replaceFlag {line reference args} {
|
|||
}
|
||||
#******
|
||||
|
||||
|
||||
#****f* module/Functions
|
||||
# SYNOPSIS
|
||||
proc ::pwscf::readFilter::replaceVarFlag {line var optsList} {
|
||||
# PURPOSE
|
||||
# Handle properly multiple flags with the same meaning, that is,
|
||||
# for example: map 'methfessel-paxton', or 'm-p', or 'mp' --> 'methfessel-paxton'
|
||||
# EXAMPLE
|
||||
# readFilter::replaceVarFlag $line $var optList
|
||||
# ARGUMENTS
|
||||
# * line -- line of input to replace the flag to a reference value
|
||||
# * var -- name of the variable for which to replace a flag to a reference flag
|
||||
# * optList -- kind of double-list of options (the first option-value is taken as a reference), i.e.:
|
||||
# set optList {
|
||||
# {'gaussian' 'gauss'}
|
||||
# {'methfessel-paxton' 'm-p' 'mp'}
|
||||
# {'marzari-vanderbilt' 'cold' 'm-v' 'mv'}
|
||||
# {'fermi-dirac' 'f-d' 'fd'}
|
||||
# }
|
||||
# SOURCE
|
||||
|
||||
if { ! [string match *${var}* $line] } { return $line }
|
||||
|
||||
set substituted 0
|
||||
|
||||
set spl [split $line =]
|
||||
set nl [llength $spl]
|
||||
|
||||
set new_spl [lindex $spl 0]
|
||||
|
||||
for {set i 1} {$i < $nl} {incr i} {
|
||||
|
||||
set var_ [string trim [lindex [lindex $spl [expr $i - 1]] end] ,]
|
||||
set value_ [lindex $spl $i]
|
||||
|
||||
if { $var_ == $var } {
|
||||
|
||||
# ok we find the proper variable; replace its flag with the reference value
|
||||
|
||||
foreach opts $optsList {
|
||||
#
|
||||
set reference [lindex $opts 0]
|
||||
set flags [lrange $opts 1 end]
|
||||
|
||||
foreach flag $flags {
|
||||
#
|
||||
if { [regexp ${flag} $value_] } {
|
||||
#
|
||||
set value_ [regsub $flag $value_ $reference]
|
||||
set substituted 1
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
lappend new_spl $value_
|
||||
}
|
||||
|
||||
if { $substituted } {
|
||||
set line [join $new_spl =]
|
||||
}
|
||||
|
||||
return $line
|
||||
}
|
||||
#******
|
||||
|
||||
|
||||
proc ::pwscf::readFilter::logicalFlag {line} {
|
||||
# PURPOSE
|
||||
# Convert all variants of .TRUE. .true. .T. .t. ---> .true.
|
||||
|
|
|
@ -7,6 +7,16 @@
|
|||
# a script that loads the command.
|
||||
|
||||
set auto_index(::pwscf::_uniqueTabname) [list source [file join $dir auxil.itcl]]
|
||||
set auto_index(::pwscf::view::inputByPager) [list source [file join $dir view.itcl]]
|
||||
set auto_index(::pwscf::view::structByXcrysden) [list source [file join $dir view.itcl]]
|
||||
set auto_index(::pwscf::view::defaultPager) [list source [file join $dir view.itcl]]
|
||||
set auto_index(::pwscf::settings) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsOK) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsApply) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsSave) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsSave_Unix) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsSaveToFile) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsModule) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::edit::inputByEditor) [list source [file join $dir edit.itcl]]
|
||||
set auto_index(::pwscf::edit::defaultEditor) [list source [file join $dir edit.itcl]]
|
||||
set auto_index(::pwscf::edit::_defaultEditorCancel) [list source [file join $dir edit.itcl]]
|
||||
|
@ -14,21 +24,6 @@ set auto_index(::pwscf::edit::_defaultEditorClose) [list source [file join $dir
|
|||
set auto_index(::pwscf::edit::_defaultEditorDone) [list source [file join $dir edit.itcl]]
|
||||
set auto_index(::pwscf::edit::_defaultEditorSave) [list source [file join $dir edit.itcl]]
|
||||
set auto_index(::pwscf::edit::_defaultEditorSaveAs) [list source [file join $dir edit.itcl]]
|
||||
set auto_index(::pwscf::init) [list source [file join $dir init.itcl]]
|
||||
set auto_index(::pwscf::checkCmd) [list source [file join $dir init.itcl]]
|
||||
set auto_index(::pwscf::menustate::editable) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::menustate::xcrysden) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::menustate::runnable) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::menustate::runnableXC) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::readFilter::replaceFlag) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::logicalFlag) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::purifyCardLine) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::amassIndex) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::default) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::findNamelists) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::findCards) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::findNamelistsAndCards) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::selectFileRoot) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::run::run) [list source [file join $dir run.itcl]]
|
||||
set auto_index(::pwscf::run::runAs) [list source [file join $dir run.itcl]]
|
||||
set auto_index(::pwscf::run::runAndXC) [list source [file join $dir run.itcl]]
|
||||
|
@ -41,13 +36,19 @@ set auto_index(::pwscf::run::_configApply) [list source [file join $dir run.itcl
|
|||
set auto_index(::pwscf::run::_cancel) [list source [file join $dir run.itcl]]
|
||||
set auto_index(::pwscf::run::_mkdirOutdir) [list source [file join $dir run.itcl]]
|
||||
set auto_index(::pwscf::run::_displayXC) [list source [file join $dir run.itcl]]
|
||||
set auto_index(::pwscf::settings) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsOK) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsApply) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsSave) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsSave_Unix) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsSaveToFile) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::_settingsModule) [list source [file join $dir settings.itcl]]
|
||||
set auto_index(::pwscf::view::inputByPager) [list source [file join $dir view.itcl]]
|
||||
set auto_index(::pwscf::view::structByXcrysden) [list source [file join $dir view.itcl]]
|
||||
set auto_index(::pwscf::view::defaultPager) [list source [file join $dir view.itcl]]
|
||||
set auto_index(::pwscf::menustate::editable) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::menustate::xcrysden) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::menustate::runnable) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::menustate::runnableXC) [list source [file join $dir menustate.itcl]]
|
||||
set auto_index(::pwscf::init) [list source [file join $dir init.itcl]]
|
||||
set auto_index(::pwscf::checkCmd) [list source [file join $dir init.itcl]]
|
||||
set auto_index(::pwscf::readFilter::replaceFlag) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::replaceVarFlag) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::logicalFlag) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::purifyCardLine) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::amassIndex) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::default) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::findNamelists) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::findCards) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::readFilter::findNamelistsAndCards) [list source [file join $dir modutil.itcl]]
|
||||
set auto_index(::pwscf::selectFileRoot) [list source [file join $dir modutil.itcl]]
|
||||
|
|
Loading…
Reference in New Issue