아 그게 뭐더라

디지스트봇 딩굴이 v1 본문

프로젝트/디지스트봇 딩굴이

디지스트봇 딩굴이 v1

뭐더라토 2019. 7. 17. 00:35

https://github.com/friendship1/dinguli_v1.0

 

friendship1/dinguli_v1.0

DGIST cafeteria menu notification service. Contribute to friendship1/dinguli_v1.0 development by creating an account on GitHub.

github.com

딩굴이 리뉴얼도 했으니, 예전 딩굴이 코드를 온라인에 올려 저장해둔다.

깃허브에 들어가보면 알겠지만, 엄청난 스파게티 코드 그 자체. 유명 레스토랑에 가더라도 이정도 스파게티는 맛볼 수 없을거다. 파일은 있지만 실제로는 사용되지 않는 파일도 많다.

DB 비번이나 내 DGIST 계정 비번은 다른 문자로 대체해서 업로드했다.

 

역사를 거슬러 올라가자면, 충남대 학식 봇을 보고 깊은 감명을 받았던 나는, 2017년 10월에 딩굴이 플러스친구를 만들었다. 홈페이지를 만들기 위해 임대했던 서버 하나와, 비슬빌리지 마스코트 공모전에서 떨어진 딩굴이를 재활용해서 사용했다.

 

node js라는 이상한 언어로 된 예제 코드를 먼저 찾았었기 때문에, 메인은 node js로 되어있만, node js 자체를 내가 잘 모르기 때문에 python을 여기저기 덕지덕지 발라서 사용했다.

 

첫 일주일동안에는 그냥 매주 월요일, 학교 홈페이지 게시판에 엑셀로 된 시간표가 올라오면, 내가 일일이 일주일치를 옮겨적어 일주일동안 자동으로 돌아가는 형태였다. 

그리고 그 다음주에는 엑셀 파일을 다운받아 FTP로 서버에 넣어준 뒤, 엑셀 파일을 파이썬으로 파싱해서 일주일동안 돌아가는 형태로 변했다.

그러다가 친구 HJ가 chrome driver인 selenium을 이용해서 자동으로 학교 홈페이지에 로그인하여 게시판에 들어가는 코드를 만들어줬고, 여기에 파일을 다운로드하는 꼼수(?)까지 추가해서 파일 자동 다운로드의 꿈을 이뤘다.

그 후로 긴 시간동안 엑셀 파일을 python으로 파싱, 텍스트만을 뽑아내어, 이를 카카오톡 메세지로 단순하게 보여주는 방식을 사용했었다. 그런데 엑셀 파일 형식이 바뀌는 경우가 있어서 그럴때마다 오류를 뿜어내는 그런 문제점이 있었다. 좀 더 일반적으로 동작하는 paser를 만들기는 귀찮으니, 엑셀을 html으로 바꿔주는 강력크한 외부 프로그램을 설치해서 돌렸다. 그 이름은 ssconvert. 

 

워낙에 짧은 프로그래밍 지식으로 덕지덕지 발라가면서 만들었기 때문에, 내가봐도 이 코드가 무슨 의미인지 잘 모르겠다. 더 잊어버리기 전에 대충 적어보면 아래와 같다.

 

 

crontab을 이용해 주기적으로 뭔가를 돌리는게 떡칠되어있다. crontab을 쓰지 않고 프로그램으로 따로 뒀으면 더 관리가 편했을텐데 아쉽다.

 parse_v2.py는 프로그램을 만드는 프로그램이라는 점에서 상당히 기괴한데, 처음에는 성능상 이점을 위해 그렇게 했지만, 지금 생각해보면 굳이 저렇게 해야 했나 싶다. 나중에 텍스트가 아니라 html으로 식단표를 보여주는 방식으로 변경되면서, mktxt2.py, mktxt3.py, parse_v2.py는 필요가 없어졌지만, 아직도 그대로 있다. 아마 약간 오류가 있을거다.

 

다음에는 최근에 리뉴얼한 코드를 조금만 더 수정해서 올려야겠다.

'프로젝트 > 디지스트봇 딩굴이' 카테고리의 다른 글

디지스트봇 딩굴이 v2  (0) 2019.08.30
Comments