카테고리 없음

MoveToClass - 시간표대로 사이트 접속하기.

hyuckkim 2020. 5. 15. 01:14

시간표대로 사이트에 접속할 수 있게 만들었다.

 

왜 만들었나?

EBS 사이트에 접속할 때엔 평범하게 접속이 잘 되는데, 꼭 다른 과목으로 바꾸려고 내 클래스 버튼만 누르면 자꾸 학교 선택하래서

대안이 없을까 생각하다가 누가 트게더에서 바탕화면에 시간표에 맞춰 과목별 링크를 달아놓길래, 따라해봤으나..

모니터 크기가 너무 작아 6교시까지밖에 안 들어가서 차라리 파이썬으로 프로그램을 만드는 게 낫다고 생각했다.

마침 지금 쓰고 있는 리눅스에서는 파이썬 파일이 더블클릭만 하면 실행되는 덕에 복잡하게 exe 파일로 만들고 그럴 필요도 없었다.

얼마나 했나?

점점 희미해져간다...

1주일동안 밤마다 했다.

깃허브 페이지 진작에 채워놓을걸.

그래서 뭔가?

일주일동안의 시간표를 읽고,

오늘이 무슨요일인지 알아낸 다음,

그 요일의 시간표에 맞춰 매 시간 링크를 주는 프로그램이다.

 

프로그램(MoveToClass.py)은 크게 두 단계로 구성되어 있는데,

파일들 (설정 파일, 시간표 파일) 을 열어 데이터를 가공해 보관하는 단계와

(MY_PATH = os.path.abspath(os.path.dirname(__file__)) 함수와 path = os.path.join(MY_PATH, 'Config.txt'),

open(path,'r') 로 파일을 열었었고,

핵심은 str.split()으로 글자를 쪼개주는 거였다)

가공된 데이터에 있는 링크를 요일에 맞춰 여는 단계다.

(요일은 time.localtime().tm_wday 함수로 구했었고,

핵심은 webbrowser.open으로 웹 페이지를 여는 거였다)

맨 위의 함수 세 개는 별 거 아니고, 그냥 함수를 위에 놓고 싶은 내 습성 때문이다.

그냥 코드 길이 줄이기용 함수다.

 

시간표 파일(ClassInfo.txt)도 두 부분으로 나누어져 있었는데, 

과목별로 링크를 넣는 부분과

시간표를 입력하는 부분이다.

 

설정 파일(Config.txt)은 원래 없었다.

불편했던 부분은?

시간표 파일에서 가져온 데이터를 파일을 열 때마다 전부 표시하느라 가독성이 떨어졌다.

-> 설정 파일에 표시할 지 여부를 설정할 수 있게 하면서 해결했다.

정보 시간은 클래스룸을 같이 열어야 해서 링크가 2개여야 하는데 링크를 줄 공간이 하나밖에 없다.

-> 링크 앞에 + 기호를 달게 해서 링크인지 아닌 지 반복문으로 처리할 수 있게 바꿔 링크 여러 개를 바꿀 수 있게 했다.

링크 앞에 + 기호를 일일히 달아야 한다.

-> ...... 그냥 링크인지 확인하는 방법을 앞이 http로 시작하는지 확인하는 것으로 바꿨다.

    http로 안 시작하는 링크 나와서 작동 안 해도 나는 몰라.

출석체크를 하려면 결국 '내 클래스' 버튼을 누르고 학교를 입력해야 한다.

-> 출석 링크를 추가하고 설정 파일에 첫 시간에 출석 링크로 이동할 지 여부를 설정할 수 있게 했다.

이 모든 설정을 전부 텍스트파일을 열어야 고칠 수 있다.

-> 프로그램 내에서 고칠 수 있게 하는 설정을 추가해서 고칠 수 있게 했다.

이 모든 설정을 전부 프로그램 내에서 입력해야 한다.

-> ............ 설정에 여러 숫자를 입력할 수 있게 해서 그 숫자에 맞는 설정만 고칠 수도 있게 했다.

의미가 있었는가?

월요일 화요일엔 약간 불편하게 썼는데, 수요일부턴 아주 편하게 써먹었다.

그리고 재미있었으니 됐다.

완성된 파일.

https://github.com/hyuckkim/MoveToOnlineClass

 

hyuckkim/MoveToOnlineClass

I was annoyed to enter the online class on timetable. - hyuckkim/MoveToOnlineClass

github.com

끝.

 

 

인줄 알았는데 마지막으로 실행시켜보는 순간 오류가 났다. 괄호를 하나 안닫았었네.

이제 진짜 끝.