Commit fee66ba3 authored by Tharrington, Arnold's avatar Tharrington, Arnold
Browse files

Updated pathoption, ncp_paths_charm.py, and ncp_paths_tcl.py to use *args and **kargs.

parent efb176e1
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -23,10 +23,9 @@ def register_pathoption(path_option,key,ref_to_function,description="No descript
def get_pathoption_keys(path_option):
    return path_option.keys()

def get_pathoption_path(path_option,key,*args):
def get_pathoption_path(path_option,key,*args,**kargs):
    import os
    tmp_path = path_option.path(key,*args)
    tmp_path = os.path.abspath(tmp_path)
    tmp_path = path_option.path(key,*args,**kargs)
    return tmp_path

def create_path_description(path_option):
@@ -44,9 +43,10 @@ def create_path_description(path_option):

def print_path(path_option,
               path_option_value,
               *args):
               *args,
               **kargs):
    import sys
    tmp_path = get_pathoption_path(path_option,path_option_value,*args)
    tmp_path = get_pathoption_path(path_option,path_option_value,*args,**kargs)
    sys.stdout.write(tmp_path)

class PathOption:
@@ -77,8 +77,8 @@ class PathOption:
    def description(self,key):
        return self._description[key]

    def path(self,key,*args):
        return self._functionReference[key](*args)
    def path(self,key,*args,**kargs):
        return self._functionReference[key](*args,**kargs)

def _get_pathoption_description(path_option,key):
    return path_option.description(key)
+43 −25
Original line number Diff line number Diff line
@@ -47,32 +47,32 @@ def main():
    #   A description of <pathkey>
    
    pathkey = "prefix"
    function_reference = __prefix_path
    function_reference = _path_prefix
    pathkey_description = "The top-level installation directory for Charm++."  
    pathoption.register_pathoption(charm_pathoption,pathkey,function_reference,pathkey_description)

    pathkey = "charmbasedir"
    function_reference = __prefix_path
    function_reference = _path_prefix
    pathkey_description = "The CHARMBASEDIR for Charm++."  
    pathoption.register_pathoption(charm_pathoption,pathkey,function_reference,pathkey_description)

    pathkey = "bindir"
    function_reference = __prefix_bindir
    function_reference = _path_bindir
    pathkey_description = "The Charm++ bin directory."  
    pathoption.register_pathoption(charm_pathoption,pathkey,function_reference,pathkey_description)

    pathkey = "libdir"
    function_reference = __prefix_libdir
    function_reference = _path_libdir
    pathkey_description = "The Charm++ lib directory."  
    pathoption.register_pathoption(charm_pathoption,pathkey,function_reference,pathkey_description)

    pathkey = "incdir"
    function_reference = __prefix_incdir
    function_reference = _path_incdir
    pathkey_description = "The Charm++ lib directory."  
    pathoption.register_pathoption(charm_pathoption,pathkey,function_reference,pathkey_description)

    # Parse the command line arugments of this script.
    args = __parse_arguments(charm_pathoption)
    args = _parse_arguments(charm_pathoption)

    # Instantiate a logging object.
    logger = create_logger(log_id='Default',
@@ -82,19 +82,21 @@ def main():
    # Print the installation path. The arguments to the function reference 
    # is collected in values. Note the aruguments in values must match the
    # parameters of the function reference.
    values = (args.ncp_prefix,
              args.machine_name,
              args.software_name,
              args.software_version,
              args.ncp_pe_key,
              args.charmarch)

    kvalues = { 'ncp_prefix' : args.ncp_prefix,
                'machine_name' : args.machine_name,
                'software_name' : args.software_name,
                'software_version' : args.software_version,
                'ncp_pe_key' : args.ncp_pe_key,
                'charmarch' : args.charmarch}

    pathoption.print_path(charm_pathoption,
                          args.path,
                          *values)
                          **kvalues)

    logger.info("End of main program")

def __parse_arguments(charm_pathoption):
def _parse_arguments(charm_pathoption):

    import logging

@@ -163,21 +165,37 @@ def __parse_arguments(charm_pathoption):

    return my_args 

def __prefix_path(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch):
    tmp_path = os.path.join(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch)
    return tmp_path

def __prefix_bindir(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch):
    tmp_path = os.path.join(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch,"bin")
def _path_prefix(ncp_prefix,
                 machine_name,
                 software_name,
                 software_version,
                 ncp_pe_key,
                 charmarch):
    tmp_path = os.path.join(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key)
    return tmp_path

def __prefix_libdir(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch):
    tmp_path = os.path.join(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch,"lib")
    return tmp_path
class _get_charmbasedir:
    def __init__(self,func):
        self.func = func

def __prefix_incdir(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch):
    tmp_path = os.path.join(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key,charmarch,"include")
    return tmp_path
    def __call__(self,*args,**kargs):
        path1 = self.func(*args,**kargs)
        path2 = _path_prefix(*args,**kargs)
        final_path = os.path.join(path2,path1)
        return final_path

@_get_charmbasedir
def _path_bindir(*args,**kwargs):
    return "bin"

@_get_charmbasedir
def _path_libdir(*args,**kargs):
    return "lib"

@_get_charmbasedir
def _path_incdir(*args,**kargs):
    return "include"

if __name__ == "__main__":
    main()
+53 −11
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ installation path to stdout.
# System imports
import string
import argparse # Needed for parsing command line arguments.
import os

# Local imports
from loggerutils.logger import create_logger_description
@@ -46,12 +47,27 @@ def main():
    
    # Registering path function for --path prefix
    pathkey = "prefix"
    function_reference = __prefix_path
    function_reference = _path_prefix
    pathkey_description = "The top-level installation directory for TCL."  
    pathoption.register_pathoption(tcl_pathoption,pathkey,function_reference,pathkey_description)

    pathkey = "libdir"
    function_reference = _path_libdir
    pathkey_description = "The TCL lib directory."  
    pathoption.register_pathoption(tcl_pathoption,pathkey,function_reference,pathkey_description)

    pathkey = "incdir"
    function_reference = _path_incdir
    pathkey_description = "The TCL include directory."  
    pathoption.register_pathoption(tcl_pathoption,pathkey,function_reference,pathkey_description)

    pathkey = "mandir"
    function_reference = _path_mandir
    pathkey_description = "The TCL man directory."  
    pathoption.register_pathoption(tcl_pathoption,pathkey,function_reference,pathkey_description)

    # Parse the command line arugments of this script.
    args = __parse_arguments(tcl_pathoption)
    args = _parse_arguments(tcl_pathoption)

    # Instantiate a logging object.
    logger = create_logger(log_id='Default',
@@ -62,18 +78,19 @@ def main():
    # Print the installation path. The arguments to the function reference 
    # is collected in values. Note the aruguments in values must match the
    # parameters of the function reference.
    values = (args.ncp_prefix,
              args.machine_name,
              args.software_name,
              args.software_version,
              args.ncp_pe_key)
    kvalues = { 'ncp_prefix' : args.ncp_prefix,
                'machine_name' : args.machine_name,
                'software_name' : args.software_name,
                'software_version' : args.software_version,
                'ncp_pe_key' : args.ncp_pe_key }

    pathoption.print_path(tcl_pathoption,
                          args.path,
                          *values)
                          **kvalues)

    logger.info("End of main program")

def __parse_arguments(tcl_pathoption):
def _parse_arguments(tcl_pathoption):

    import logging

@@ -136,10 +153,35 @@ def __parse_arguments(tcl_pathoption):

    return my_args 

def __prefix_path(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key):
    import os
def _path_prefix(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key):
    tmp_path = os.path.join(ncp_prefix,machine_name,software_name,software_version,ncp_pe_key)
    return tmp_path
    
class _get_tclbasedir:
    def __init__(self,func):
        self.func = func

    def __call__(self,*args,**kargs):
        path1 = self.func(*args,**kargs)
        path2 = _path_prefix(*args,**kargs)
        final_path = os.path.join(path2,path1)
        return final_path

@_get_tclbasedir
def _path_bindir(*args,**kargs):
    return "bin"

@_get_tclbasedir
def _path_libdir(*args,**kargs):
    return "lib"

@_get_tclbasedir
def _path_incdir(*args,**kargs):
    return "include"

@_get_tclbasedir
def _path_mandir(*args,**kargs):
    return "man"

if __name__ == "__main__":
    main()