def but():
     if not list1.currentItem():
         QMessageBox.critical(window,'error','Not league selected')
     else:
         defense = []
         ln=str(list1.currentItem().text())
         loopvar = QMessageBox.Yes
         rn,test = QInputDialog.getText(window,'New roster','Please enter the name for the new roster you\'d like to add:').strip()
         rn = str(rn)
         while loopvar == QMessageBox.Yes:
             dn,test = QInputDialog.getText(window,'Defense','Please enter a team to use as defense:').strip()
             if test:
                 d = nflgame.standard_team(str(dn))
                 if d is None:
                     QMessageBox.critical(window,'error','Invalid team name')
                 else:
                     defense.append(d)
                 if defense:
                     loopvar = QMessageBox.question(window,'???','Would you like to add another defense team?',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
             elif not defense:
                 QMessageBox.critical(window,'error','Cannot have no defense')
             else:
                 loopvar = QMessageBox.No
         status = fbTool.addRoster(ln,rn,defense)
         if status >=3:
             errstr = 'defense team ' + defense[status-3] + ' is already used'
             QMessageBox.critical(window,'error',errstr)
         elif status ==1:
             QMessageBox.critical(window,'error','Team already exists.')
         elif status:
             QMessageBox.critical(window,'error','Something is horribly wrong')
     mainMenu.updateTree()     
def addRosterUI(ln,tn,defense):
    inp='y'
    if not defense:
        while inp.lower() not in ['n' or 'no']:
            if inp.lower()=='y' or inp.lower()=='yes':
                defen=raw_input('Please enter team name for defense: ').strip()
                while nflgame.standard_team(defen) is None:
                    defen=raw_input('Invalid team name, please try again: ').strip()
                defen=nflgame.standard_team(defen)
                defense.append(defen)
            else:
                print 'invalid input, try again.'
            inp = raw_input('Would you like to add another team for defense? (y/n): ' ).strip()

    testVar=fbTool.addRoster(ln,tn,defense)
    if not testVar:
        print 'Succesfully added roster %s!' % tn
    else:
        print 'Failed to add team...'
        if testVar == 1:
            print 'Team %s already exists in league %s' %(tn,ln)
            anotherVar = ' '
            while anotherVar not in ['y','yes','n','no']:
                anotherVar =raw_input('Try again?(y/n)').strip()
                if anotherVar.lower() in ['y','yes']:
                    tn=getTeamName(ln)
                    return addRosterUI(ln,tn,defense)
                if anotherVar.lower() in ['n','no']:
                    print 'Team not added...'
                    return -1
                if anotherVar.lower() not in ['y','yes','n','no']:
                    print 'Invalid input.  Please try again.'

        if testVar == 2:
            print 'League %s does not exist.'
            userInVar = ' '
            while userInVar not in ['y','yes','n''no']:
                userInVar = raw_input('Would you like to add it? (y/n): ').strip()
                if userInVar.lower() not in ['y','yes','n','no']:
                    print 'invalid input.  please try again.'
                if userInVar.lower() in ['y','yes']:
                    if not fbTool.addLeague(ln):
                        return addRosterUI(ln,tn,defense)
                if userInVar.lower() in ['n','no']:
                    print 'team not added.'
                    return 1
        if testVar >= 3:
            print '%s already used as defense team in league %s'%(defense[testVar-3],ln)
            oneFinalVar = ' '
            while oneFinalVar not in ['y','yes','n','no']:
                oneFinalVar = raw_input('Try again?(y/n) ').strip()
                if oneFinalVar.lower() in ['y','yes']:
                    addRosterUI(ln,tn,[])
                if oneFinalVar.lower() in ['n','no']:
                    print 'Team not added...'
                    return -1
                if oneFinalVar.lower() not in ['y','yes','n','no']:
                    print 'Invalid input, please try again.'
    return 0