c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud に公開中です。

考察は現在は主に Cosense で公表中です。

Programming は GitHub で開發中です。

#AzureaScript のオートアップデート #js

追記:
AzureaStartup.jsもオートアップデート #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110307/1299503091


更新を確認するのも、更新を通知するのも面倒ですよね。
AzureaVimに、此んな改造を施してみました。
https://github.com/ne-sachirou/AzureaVim/commit/faff4eeea452dc62d918adbad6527b2f465a0656

使用法

  1. [AzureaVim.js https://github.com/ne-sachirou/AzureaVim/blob/master/js/AzureaVim.js ]を更新します。此れが最後の手動更新に成る筈だおらぁ。成るといいな。いつも通り、AzureaのScriptsフォルダに置く丈です。
  2. [AzureaStartup.js https://github.com/ne-sachirou/AzureaVim/blob/master/js/AzureaStartup.js ]を、Azurea.exeと同じフォルダに置きます。此れはAzureaScriptではありません。通常のWSHで実行されるJScriptです。
  3. Azurea.exeは終了していますか? ま、してなくても害は有りませんが。
  4. AzureaStartup.jsをダブルクリックして下さい。Azurea.exeが立ち上がります。裏で勝手にupdateします。
  5. 以後、AzureaStartup.jsからAzureaを起動する様に、人生を変えましょう。運命です。

内部動作

動作の順番は以下の如く。

  1. Azurea.exeを取り敢えず起動する。
  2. auto updateを取り敢えず試みる。 updateScripts()
  3. Azurea.exeが起動しているかを1分毎に確かめ、起動していなければAzureaStartup.jsを終了する。 isActive()
  4. 起動中は、1時間毎に、auto updateを試みる。 updateScripts()
var i;

new ActiveXObject('WScript.Shell').Run(APPLICATION_PATH, 1, false);
mainloop:
    while (true) {
    updateScripts(SCRIPTS_PATH);
    for (i = 0; i < 60; ++i) {
        WScript.sleep(60000);
        if (!isActive(APPLICATION_NAME)) {
            break mainloop;
        }
    }
}


AzureaScriptに、非標準のsectionを以下の如く追加しました。

// ==AzureaScript==
// @name AzureaVim
// @author http://c4se.sakura.ne.jp/profile.html
// @scriptUrl https://github.com/ne-sachirou/AzureaVim/raw/master/js/
// @date 2011-03-07
// @license MIT License
// ==/AzureaScript==

UserScriptとかと似た記述ですね。
AzureaStartup.jsは、Scriptsフォルダのjsファイルをスキャンし、先頭に此のmeta記述が有ると、auto updateを試みます。使用するのは、scriptUrldateです。scriptUrlフォルダに有る、該当jsと同じ名称のjsファイルのmeta情報をスキャンし、remoteのdateの方が新しいと、localのjsを問答無用に書き換えます。


更新の適用は、次回起動時に行われます。Azureaは、起動時に一度scriptを読んだきり、以降何も読みません。書き換えようがファイルを消そうが、起動中は影響有りません。次回起動時に、更新済みのjsを読み込む筈ですね。書き換えてるんですから。


rakeファイルの更新は、build時に上記meta情報を書き込む為で、AzureaVimを使う分には関係有りません。


AzureaVim以外もmeta情報さえ書いて有れば更新するって寸法ですが、AzureaStartup.js自体の自動更新は、現在出来ません。其の内、Azurea本体の自動更新も出来る様にしたいなあ。なんか出来そうだしなぁ(キラキラ☆

cf.

AzureaStartup.jsは、oAutoPagerizeのupdate batを参考にしました。


前回迄
AzureaVimの管理ページを移動しました #AzureaScript #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110302/1299061398
AzureaVim変更点 #AzureaScript #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110225/1298622144
AzureaWinにコマンド風操作を追加する #AzureaScript #js - c4se記:さっちゃんですよ☆ http://d.hatena.ne.jp/Kureduki_Maari/20110219/1298054093