728x90
반응형

송금 기능을 만들던 도중 checkName쪽 함수가 쓰기 불편하고 계속 그 기능이 미묘하게 중복되는 경향이 있었다

 

혹시 모르니 github에 올려두고 작업을 시작했다

 

먼저 기존 checkName 함수는 아래와 같이 되어있다.

#user.py
...
def checkName(_name, _id):
    loadFile()

    for row in range(2, ws.max_row+2):
        if ws.cell(row, c_name).value == _name and ws.cell(row,c_id).value == hex(_id):
            wb.save("userDB.xlsx")
            wb.close()

            return False
            break
        else:
            print("재탐색")

    wb.save("userDB.xlsx")
    wb.close()

    return True
...

DB파일에서 row을 하나씩 증가시키면서 이름과 id가 맞는지 확인한다

 

근데 다른 함수들에서도 저 row값이 필요할 때가 많다.

그래서 True, False가 아닌 row값이나 None을 반환하는 걸로 바꾸면 어떨까 싶었다.

 

def findRow(_name, _id):
    loadFile()

    for row in range(2, ws.max_row+2):
        if ws.cell(row, c_name).value == _name and ws.cell(row,c_id).value == hex(_id):
            saveFile()

            return row
            break
        else:
            print("재탐색")

    saveFile()

    return None

그리고 기존에 checkName을 사용하는 부분을 findRow() == None 같이 바꾸었다

 

전체적인 코드는 아래 github에서 확인

github.com/richardlee-kr/SuperBot

 

richardlee-kr/SuperBot

Contribute to richardlee-kr/SuperBot development by creating an account on GitHub.

github.com