static.py

QkouServerのルートディレクトリに存在する各種設定項目のファイルです.

共通項目

ディレクトリ

  • BASE_DIR : QkouServerディレクトリまでの絶対パス.
  • PRJ_DIR : QkouServerディレクトリのあるディレクトリまでの絶対パス.現在使用していない.
  • SQLITE_DIR_PATH : SQLiteのデータベースファイルを格納するディレクトリへのパス..デフォルトはBASE_DIR.環境変数SQLITE_DIR_PATHに対応.
  • SQLITE_PATH : SQLiteのデータベースを作製する場所をSQLITE_DIR_PATHを元に指定している.

MySQL

  • USE_MYSQL : MySQLを使用するかどうか.デフォルトはFalse.環境変数USE_MYSQLに対応.
  • MYSQL_USERNAME : MySQLのユーザ名.環境変数MYSQL_USERNAMEに対応.
  • MYSQL_PASSWORD : MySQLのログインパスワード.環境変数MYSQL_PASSWORDに対応.
  • MYSQL_HOST : MySQLサーバのホスト名.環境変数MYSQL_HOSTに対応.
  • MYSQL_DATABASE_NAME : MySQL上のデータベースの名前.環境変数MYSQL_DATABASE_NAMEに対応.
  • MYSQL_PATH : 上記の変数から生成されたMySQLへのパスの文字列.どれか一つでもかけている場合Noneとなり,代わりに自動的にSQLITE_PATHが用いられる.

models

テンプレート文字列の修正は多くの場合,クラスの__str__()メソッドの改変が必要となります.

共通項目

  • UNDEFINED : 学務課掲載情報において値の記載がないもの.デフォルトは"-".
  • UNKNOWN : プログラムの仕様上,満たすことの出来ない項目を埋める値.デフォルトは"不明".
  • INTENSIVE : 集中講義の曜日項目を満たす値.デフォルトは"集中".

models.Info

  • LEC_INFO_ID_TEMPLATE : ツイート時に付加されるハッシュタグ.デフォルトは" #lec{id}".
  • LEC_INFO_TEMPLATE : 文字列化時のテンプレート.デフォルトは以下.
講義名:{subject}
講師名:{teacher}
時限:{week} {period}限
概要:{abstract}
詳細:{detail}

models.Cancel

  • LEC_CANCEL_ID_TEMPLATE : ツイート時に付加されるハッシュタグ.デフォルトは" #cancel{id}"
  • LEC_CANCEL_TEMPLATE : 文字列化時のテンプレート.デフォルトは以下.
講義名:{subject}
講師名:{teacher}
休講日:{str_day}
時限:{week} {period}限
概要:{abstract}

models.News

  • NEWS_ID_TEMPLATE : ツイート時に付加されるハッシュタグ.デフォルトは" #news{id}"
  • NEWS_TEMPLATE_WITH_LINK : リンクが文中に存在した場合の文字列化時のテンプレート.デフォルトは以下.
掲載日:{str_first}
詳細:{detail}
リンク:{link}
  • NEWS_TEMPLATE_WITHOUT_LINK : リンクが文中に存在しない場合の文字列化時のテンプレート.デフォルトは以下.
掲載日:{str_first}
詳細:{detail}

models.SeverErrorLog

  • LOGIN_FAILURE_START_MSG : 障害発生時のメッセージテンプレート.デフォルトは以下.
[障害検知]
障害検知時刻:{created_at}
現在,学務課ホームページへのログインができない,または情報が正常に取得できないエラーが発生しています.
  • LOGIN_FAILURE_CONTINUE_MSG : 障害継続時のメッセージテンプレート.デフォルトは以下.
[障害継続中]
障害検知時刻: {created_at}
最終確認時刻: {last_confirmed}
学務課ホームページへログインできない,または情報が正常に取得できないエラーが継続中です.
  • LOGIN_FAILURE_END_MSG : 障害復旧時のメッセージテンプレート.デフォルトは以下.
[障害復旧]
障害検知時刻: {created_at}
復旧確認時刻: {fixed_at}
"学務課ホームページへのログイン及び情報の取得に成功しました.

Bot機能関連項目

Twitter

Botとしてつぶやくために必須な項目.現在,つぶやきを有効にしない場合でも必須(要改善).

  • CONSUMER_KEY : Twitter Appのコンシューマーキー.環境変数CONSUMER_KEYに対応.
  • CONSUMER_SECRET : Twitter Appのコンシューマーシークレット.環境変数CONSUMER_SECRETに対応.
  • ACCESS_TOKEN : Twitter Appのアクセストークン.環境変数ACCESS_TOKENに対応.
  • ACCESS_SECRET : Twitter Appのアクセスシークレット.環境変数ACCESS_SECRETに対応.

Shibboleth認証

学務課webサイトにログインするためのユーザ名とパスワード.データ取得に必須.

  • SHIBBOLETH_USERNAME : ユーザ名.環境変数SHIBBOLETH_USERNAMEに対応.
  • SHIBBOLETH_PASSWORD : パスワード.環境変数SHIBBOLETH_PASSWORDに対応.

URL

シラバス

  • EXCEPTION_TITLES : シラバスの科目名の命名規則の例外.通常クラス名が科目名の後ろに付けられるが,英語タイトルの科目名では半角スペースを挟む.

    ["English", "Reading", "Writing", "Basic", "Speaking", "Learning",
    "Advanced", "Intermediate", "Acquisition", "Communication"]
    
  • EXPIRE_ON : シラバスデータの更新頻度.数字で指定.30を指定すると30日に一回データを更新する.

定期更新プロセス

  • SCRAPING_INTERVAL : データ取得の間隔の最低値(秒).実際にはこれに処理時間が足される.環境変数SCRAPING_INTERVALに対応.デフォルトは600.cron使用に伴い,60で割れる数に限定している.
  • LOGIN_FAILURE_TWEET_INTERVAL : ログイン試行に失敗したとき,検知時と復旧時以外,障害が継続しているときに何分おきにツイートを行うかの間隔(秒). 環境変数LOGIN_FAILURE_TWEET_INTERVALに対応.デフォルトは1800.
  • DAILY_TWEET_HOUR : 本日の休講ツイートをする時間を数値で指定.7ならば7時にツイートを行う.環境変数DAILY_TWEET_HOURに対応.デフォルトは7.
  • TODAY_CANCEL_TEMPLATE : 本日の休講ツイートのテンプレート文字列.
{date} 本日の休講
{titles}"
  • TODAY_CANCEL_TEMPLATE_CONTINUE : 一つの本日の休講ツイートに収まりきらなかった場合に続けてツイートされるテンプレート文字列.
{date} 本日の休講 続き
{titles}
  • TODAY_IS_HOLIDAY_TEMPLATE : 祝日であった場合,休講情報ではなく何の日であるかをツイートする.
{date} 今日は{holiday_name}の日です.{msg}
  • HOLIDAY_MSG_ARRAY : 祝日であった場合の追加のメッセージ.この中からランダムに一つ選ばれる.
["レポートや課題は終わりましたか?有意義な祝日をお過ごしください.",
"進捗どうですか?",
"今日くらいはこのbotもお休みをいただいても良いですか?まぁダメですよね.",
"ところでこのbotはPythonというプログラミング言語で書かれています.せっかくの休日ですし新しいことを始めてみては?"]
  • TESTING : テスト実行であることを示すフラグ.環境変数TESTINGに対応.デフォルトはFalse. このフラグを建てるとCtrl + Cで終了時にデータベースの中身を消去する.

  • INITIALIZE : 初回実行フラグ.環境変数INITIALIZEに対応.デフォルトはTrue.このフラグを建てるとツイート機能を無効にした後,一度スクリプトを実行してデータベースを作成し,crontabにジョブを登録する.

ストリーム処理プロセス

  • REPLY_ACTION_REGEX : 反応するリプライを抽出する正規表現
".*(詳し|くわし).*"
  • THERE_IS_NO_INFORMATION_MSG : 問い合わせた情報のis_deletedTrueであった場合,又は問い合わせ内容が存在しなかった場合に返されるメッセージ.
お問い合わせされた情報は現在存在しません.
  • DATABASE_ERROR_MSG : 問い合わせた情報の取得に失敗したときに返されるメッセージ.
DBエラーです.管理者までご連絡ください.

results matching ""

    No results matching ""