I've got a small script that's trying to execute an external command. But for some reason, the function that I made to execute the command is being completely skipped over! No errors seem to be raised, it just doesn't execute. I've got a few debug print statements inside it to verify that the function gets entered, but they never print. And I've got a print statement outside of it to verify that the script isn't dying. So what gives?
from xml.etree import ElementTree as et
import subprocess
pomFileLocation = "pom.xml"
uiAutomationCommand = "mvn clean install"
revertPomFileCommand = "git checkout pom.xml"
profileToSetToDefault = "smoketest"
def modifyxml( datafile, value ):
    print( "modifying " + datafile )
    tree = et.parse( datafile )
    rootNodes = tree.getroot()
    for node in rootNodes:
        if "profiles" in node.tag:
            for profile in node.iter():
                foundIt = False
                for param in profile.iter():
                    if "id" in param.tag and profileToSetToDefault in param.text:
                        foundIt = True
                        break
                if foundIt == True:
                    for param in profile.iter():
                        if "activation" in param.tag:
                            for child in param.iter():
                                if "activeByDefault" in child.tag:
                                    child.text = value
                                    tree.write( datafile )
                                    return
def runExternalCommand( comm ):
    print( "running command " + comm )
    p = subprocess.Popen( comm, bufsize=-1, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE ).communicate()[0]
    print( str(p) )
    while( True ):
        print( "still running" )
        retcode = p.poll()
        line = p.stdout.readline()
        yield line
        if( retcode is not None ):
            print("Exiting")
            break   
    return
if __name__ == '__main__':
    modifyxml( pomFileLocation, "true" )
    #runExternalCommand( uiAutomationCommand )
    runExternalCommand( revertPomFileCommand )
    print( "finished" )
 
     
     
    