peremen/noah3k
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
== 필요한 파이썬 모듈 == === easy_install로 설치 가능 === * web.py (웹 프레임워크) * mako (템플릿 엔진) * PIL (썸네일 생성) * python-magic (첨부 파일의 MIME 형식 인식) * postmarkup (BBCode 프로세서) ** postmarkup은 자체 패치를 여러 번 했으므로, 차후 소스 코드에 포함시킬 예정. * Babel (번역 메시지 추출을 위함) === 배포판 패키지로 설치해야 함 === * python-mysqldb (데비안 계열 기준) == 번역 메시지 컴파일 == gettext의 결과물 mo 파일은 기본적으로 포함하지 않는다. i18n/(로캘)/LC_MESSAGES/messages.mo 파일에 메시지를 저장한다. * pot 파일 업데이트 방법: 소스 루트에서 pygettext -a -v -d messages -o i18n/messages.pot *.py * 이후 할 일: msgmerge *.po messages.pot > *.po.new && mv *.po.new *.po * 메시지 파일 컴파일: msgfmt *.po -o i18n/*/LC_MESSAGES/message.mo * 메시지 파일이 없으면 오류 메시지는 전부 영어로 표시됨 === non-UNIX 계열에서의 구동 === * python-magic 모듈은 리눅스에 있는 mime.magic 데이터를 필요로 한다. (사용 불가능한 경우 썸네일 생성이 안 됨) * crypt 모듈은 유닉스 계열에서만 작동한다. (사용 불가능한 경우 noah1k 로그인이 불가능) == 코딩 레이아웃 == get - write - edit - delete - 기타 == DB 컬럼 설명 == === Articles === * aSerial: 글 UID * bSerial: 글이 있는 보드 * aIndex: 게시판에 보이는 가상 글 번호 * aTitle: 제목 * aId: 글쓴이 ID * aNick: 글쓴이의 당시 닉네임 * uSerial: 글쓴이의 UID (여기서 aId/aNick 유도 가능) * aContent: 본문 * aLastGuest: 모름. DEPRECATED * aHit: 조회 수 * aEmphasis: 강조 여부 * aDatetime: 최초 작성 시간 * aEditedDatetime: 수정 시간, 없으면 NULL * aLevel: 글 깊이 aParent: aLevel > 0의 경우 바로 윗 부모 글. assert(aLevel == 0 && aParent == NULL) * aRoot: 깊이가 계속 깊어져 갔을 때 최종적인 부모. aParent == NULL인 경우 자기 자신. === Boards === * bName: 보드 전체 경로 * uSerial: 보대 * bParent: 부모 보드 ID * bDescription: 보드 짧은 설명 * bDatetime: 생성 시간. NOW() * bInformation: 긴 설명, cover에 들어가는 내용 * bType: 0 - 폴더, 1 - 게시판 * bReply: 0 - 답글이 평면으로, 1 - 답글이 스레드로. DEPRECATED. 항상 1. * bWrite: 쓰기 가능/불가능 * bComment: 0 - 불가능, 1 - 가능 * bSerial: 자동 증가 * current_uid: 보드를 생성하려고 한 사용자 ID === Comments === * cSerial: 커멘트 ID (삭제할 때 사용) * bSerial: 게시판 ID * aSerial: 글 ID * uSerial: 커멘트 남긴 사람 ID (NULL이면 게스트 모드) * cId: 커멘트 남긴 사람 ID (이름으로 저장됨) * cContent: 커멘트 내용 * cDatetime: 날짜 및 시간 * cPasswd: 게스트로 남길 때 암호. DEPRECATED. * cHomepage: 게스트로 남길 때 홈페이지. DEPRECATED. ** 더 이상 게스트로 커멘트 남기기는 지원하지 않으나, 과거 DB 파싱은 필요함 ** NULL인 레코드 총 58개 === Favorites, Subscriptions === * uSerial: 사용자 ID * bSerial: 게시판 ID === Labels === 블로그와 관련이 있는 것으로 추정. DEPRECATED. === Mails === * mSerial: 메시지 ID * mReceiverSerial: 받는 사람 ID * mSenderSerial: 보낸 사람 ID * mSenderID: 보낸 사람 ID (문자열) * mSenderNick: 보낸 사람 닉네임 * mDatetime: 보낸 시간 * mMark: 읽음 여부 * mTitle: 메시지 제목 * mContent: 메시지 내용 === Marks === 새 글 읽기와 관련이 있는 것으로 추정. DEPRECATED. === Positions === 블로그와 관련이 있는 것으로 추정. DEPRECATED. === Supplement === DEPRECATED. noah3k의 첨부 파일 핸들링은 아래를 참조. * sSerial: 첨부 파일 ID * aSerial: 첨부 파일이 연결된 글 ID * sFilename: 첨부 파일 이름 === Users === * uSerial: 사용자 ID * uId: 사용자 로그인 ID * uPasswd: 사용자 로그인 암호. 3종류의 해시 방식을 사용한다. * uNick: 게시글에 따라오는 별명 * uDatetime: 가입한 시간 * uLastLogin: 마지막 로그인 * uNumLogin: 로그인 횟수 * uNumPost: 쓴 글 갯수. DEPRECATED. * uLastHost: 마지막으로 접속한 호스트. * uEmail: 전자 우편 주소 * uHomepage: 홈페이지 * uSig: 시그 * uPlan: 자기 소개 == 첨부 파일 처리 == static/uploads/(article_id)/filename - 원본 파일. /thumbs_desktop/(article_id)/filename - 데스크톱을 위한 썸네일. 기본 640px. /thumbs_mobile/(article_id)/filename - 모바일을 위한 썸네일. 기본 240px. * 이미지인 경우에는 업로드와 동시에 썸네일을 생성한다.
About
KAIST School of CS BBS system
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published