728x90
소프트웨어 버전관리를 하게되면 현재버전이 최신버전인지 아닌지 비교해야할 경우가 생깁니다
현재버전이 1.0.0이고 최신버전이 1.0.1이라고 하면
버전을 비교해서 현재버전이 최신버전보다 낮으면 업그레이드를 하라고 알림 줘야하기 떄문입니다
그럴때 유용하게 쓸 수 있는 패키지가 semver패키지입니다
저도 앱 강제업데이트를 위해서 버전비교하는 로직을 만들다가
버전에서 .로 나눈다음에 숫자로 바꿔서 크기비교를 해야하나 라는 고민을 하다가
semver 패키지를 알게되었고 아주 간단하게 버전비교를 할 수 있었습니다
먼저 pip install semver로 패키지 설치를 진행한 뒤 아래 코드처럼 import 해서 사용하시면 됩니다
import semver
def app_update_check(db, data):
version = convert_data_app_version(AppDao.app_update_check(db))
# 최소 버전보다 낮으면 강제 업데이트, 최소 버전보다 높은데 최신 버전보다 낮으면 선택 업데이트
# result (-1: 왼쪽이 낮음, 1: 왼쪽이 높음, 0: 같음)
# 강제업데이트
isForceUpdate = semver.compare(data['version'], version['min_version'])
# 선택 업데이트
isUpdate = semver.compare(data['version'], version['newest_version'])
return {"isForceUpdate": isForceUpdate, 'isUpdate': isUpdate}
소스를 보시면 클라이언트에게 현재버전을 받고, db에서 최소버전 최신버전을 가져와서 비교를 한뒤
강제업데이트를 할것인지 선택업데이트를 할것인지 응답을 주는 코드인데 semver.compare()를 사용하면
바로 결과값이 나오는걸 확인할 수 있습니다
'Python' 카테고리의 다른 글
06.파이썬(python) - 데이터프레임 다루기: 인덱싱, 슬라이싱, 집계 함수 (0) | 2023.04.10 |
---|---|
파이썬으로 웹크롤링하기 - BeautifulSoup (0) | 2022.11.11 |
FastAPI - middleware 적용하기 (0) | 2022.10.18 |
python - requirements.txt 파일 생성하기(freeze) 및 설치하기 (0) | 2022.08.14 |
python웹 프레임워크 - FastAPI(1) (0) | 2022.07.29 |