アプリケーション

2017年5月12日 (金)

Python: ファイル転送スクリプトを更新した PyMyFTP V001_0

2017-05-12(金)晴れ

 PyMyFTP は、画像ファイルなどをFTPサイトに転送するスクリプトです。使用法としてはPyResizeJpgなどでリサイズした写真ファイルを、自分のFTPサーバにアップすることを想定しています。これは、旅行先からブログ更新のため、写真ファイルを簡単に転送することを目的にしています。fubuki などの、他のスクリプトと連動して使用する、シリーズものの一つです。
  参考: Pythonスクリプト雑記 「fubuki で WEB 作成

 先日からスクリプトを更新している、タイムアウト検出と終了対策をいれて更新しました。まあ、今までも特に問題は出ていないのですが、他のスクリプトと合わせて対策しておくことにしました。

■:変更概要
 WEBデータ待ちのまま終了できなくなることがあったので、タイマ監視で強制終了させる処理を入れました。なお、以前のバージョンでも、Nokia E7-00以外では問題は出ていません。合わせて、Python 2.0.0 などの対策を入れました。
  ・WEBデータ取得時のタイムアウト監視を入れた。
  ・Python 2.0.0 での対策を入れた。(setdefaultencoding)
  ・E:\Python\Libのパス挿入が複数にならないよう改良した。
  ・スクリプトの構造を綺麗にする改造を行った。

モジュールは、「Python スクリプト 雑記」の
  「6.fubuki で WEB 作成」に載せました。
 

| | コメント (0) | トラックバック (0)

2017年5月11日 (木)

Python: 太陽と月の出入り時刻、月齢表示のスクリプトを更新した PySunMoon V002_0

2017-05-11(木)晴れ

 国立天文台のWEBサイトからデータを読んで太陽や月の出入りの時刻、南中の時刻、月齢などを数字で表示するスクリプトを更新しました。先日から更新しているスクリプトと同じで、WEBアクセスのタイムアウト検出がメインです。その他、Python 2.0.0対応を入れました。

■変更概要
  WEBデータ待ちのまま終了できなくなることがあったので、タイマ監視で強制終了させる処理を入れました。なお、以前のバージョンでも、Nokia E7-00以外では問題は出ていません。合わせて、Python 2.0.0 などの対策を入れました。
 ・WEBデータ取得時のタイムアウト監視を入れた。
 ・Python 2.0.0 での対策を入れた。(setdefaultencoding、btsocket)
 ・E:\Python\Libのパス挿入が複数にならないよう改良した。

作成時の記事の画像を貼り付けてみました。
Ssce0709a
 日の出、日の入りを見るより、月齢を見るのに重宝しています。


モジュールは例によって「Python スクリプト 雑記」に載せました。
  「44.太陽、月の出入り時刻を見る PySunMoon
 

 

| | コメント (0) | トラックバック (0)

2017年5月10日 (水)

Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V106_0

2017-05-10(水)雨、曇り

 「小説家になろう」サイトから、WEB小説のテキストを纏めてダウンロードするスクリプト「PyBookGet」を更新しました。これも、自分で使っているからと変更を行い、忘れないように記事にしておくものです。変更内容は、概ね一昨日のPyStnシリーズの変更と同じで、メインはWEBアクセス時のタイムアウト監視です。改造は四月に終わっていたのですが、ドキュメントを修正するのを面倒がっていて保留になっていました。記述内容を忘れかけてきたので、慌てて記述しました。

変更概要
  WEBデータ待ちのまま終了できなくなることがあったので、タイマ監視で強制終了させる処理を入れました。なお、以前のバージョンでも、Nokia E7-00以外では問題は出ていません。
  合わせて、Python 2.0.0 などの対策、ダウンロード途中で中止出来るようにする等の対策を入れました。
  ・WEBデータ取得時のタイムアウト監視を入れた。
  ・Python 2.0.0 での対策を入れた。(setdefaultencoding、btsocket)
  ・E:\Python\Libのパス挿入が複数にならないよう改良した。
  ・ダウンロード途中で中断できるよう Quit メニューを設けた。
  ・ダウンロード途中でも終了できるようにした。

-----------------------------------------------
モジュール
   「PyBookGet_106_0.zip」   
-----------------------------------------------
 


| | コメント (0) | トラックバック (0)

2017年5月 8日 (月)

Python: PyStnシリーズのスクリプトを更新した

2017-05-08(月)晴れ

 相変わらず、「相変わらずの携帯電話機種=Nokia携帯電話」のためにPythonスクリプトを弄っています。まあ、自分で使っているから仕方がないのですが。
 PyStnシリーズは、WEBサイトからデータを取得して表示するもののシリーズです。天気予報とか花粉予報、株価、ニュース速報などです。
 今までは特に問題無かったのですが、E7-00で使ったときに、何回かWEBからのデータ待ちになったまま、キー入力も受け付けなくなり、終了も出来ず困ったことがありました。電波状態が微妙なときだったようです。まあ、スクリプトのコーディングが悪かったですね。待ちの状態でもキーを受け付けられるような処理構造にすべきだったのですが、今まで問題がなかったことや、今までの機種はキーもあり強制終了できるので気がつきませんでした。今までの機種は通話終了(切断)キーでソフトを強制終了できるのですが、E7-00ではそれらもディスプレイ上のソフトキーなので、強制終了できず苦労することになります。バッテリーも内蔵だからバッテリー抜きも出来ないし、、。
 ということで、PyStnシリーズを纏めて更新しました。
 (1)PyStnWeather_J V_0_04_0
 (2)PyStnNews      V_0_04_0
 (3)PyStnNews2     V_0_05_0
 (4)PyStnCurrency  V_0_04_0
 (5)PyStnPollen    V_0_04_0


ドキュメントからの抜粋で、変更概要です。
  WEBデータ待ちのまま終了できなくなることがあったので、タイマ監視で強制終了させる処理を入れました。なお、以前のバージョンでも、Nokia E7-00以外では問題は出ていません。 合わせて、Python 2.0.0 などの対策を入れました。
 ・WEBデータ取得時のタイムアウト監視を入れた。
 ・終了時に終了報告ダイアログを出すようにした。
 ・Python 2.0.0 用の対策を入れた。
  (setdefaultencoding、btsocket)
 ・E:\Python\Libのパス挿入が複数にならないよう改良した。

 モジュールや交信の記事は例によって「Python スクリプト 雑記」のそれぞれの項に貼り付けました。
 
 とりあえず、PyStnシリーズは纏め終わりましたが、WEBアクセスするスクリプトは、まだまだあるんですよね。
 

| | コメント (0) | トラックバック (0)

2017年5月 3日 (水)

タグスケ 自分用のタグスケ その2(まとめ)

2017-05-03(水)晴れ/曇り、寒いくらい

 先日、何回かスケジュール管理キット「タグスケ」について書きました。これらは、リリース版のタグスケで、「あかべこ」さんの使用法に沿った仕様になっています。私が使用している内容は、少々変更されていたりします。ずいぶん前に「タグスケ 自分用のタグスケ」として書いたことがあります。
  「タグスケ 自分用のタグスケ

 先日の V2.2(1) リリースの際に自分用のものも見たのですが、すっかり忘れています。自分用に作成してから随分と時間が経っていますが、ここで記録しておくことにしました。この記事は、自分のメモ代わりです。PC内に入れておくより、ぐーぐるさんで検索して探せるので便利だからです(家のPCでなくても見られますし、、)。

-------------------------------------------------------------------
■:自分用のタグスケとエディタの変更

 今回まとめた TAGSMY00 は、スクジュール管理キット「タグスケ」を自分用に変更したり、VZエディタが無い場合のためにテキストエディタを変えたりするためのファイルを纏めたものです。自分としてもタグスケを使用していますが、データのフォーマットは大分変わっています。自分用に変更して使っているからです。

 手を加えている内容としては
(1)日付のフォーマットを若干変えた。
(2)Ver2.2は複数行表示ですが、自分のは1行表示のみにした。
(3)左右の桁ずれを修正して合わせた。
(4)VZエディタが無い場合のために、テキストエディタを変えてみた。
(5)浜島さんの TAGSUKE.EXM を使用した環境を作成してみた。

 内容概略は以下の通りです。

(1)日付のフォーマットを若干変えた。
---- こちらはリリース版のフォーマット ------
2017/10/30/(月) あああ
2017/11/30/(木) いいい

----- こちらは自分用のフォーマット -------
2017-10-30(月) あああ
2017-11-30(木) いいい

 セパレータが"-"(ハイフン)の方が数字部分が見やすいので、色々なところで年月日表示のセパレータはハイフンで使用しています。それを取り入れました。

(2)1件1行表示
(3)左右の桁ずれを修正して合わせた。

 この(2)と(3)は沢山の予定を簡易に見やすく表示するために取り入れました。リリース版は1件のデータを全て表示するために複数行表示を行っていますが、項目内容が分かる程度に切って1行表示しています。内容はタグジャンプした先のスケジュールテキストファイルで見ればよいからです。
 また、行数の数字部分を桁数合わせして、カラム位置を合わせて表示するようにしました。

 従来
   

 変更後
   

 なお、テキストカッター(一行を一定の長さで切り出すアプリ)として、JPR.EXE と PWIDE.EXE を使用した環境を作成しました。JPR.EXEのほうが使いやすいのですが、入手できないケースもあるので、vectorでダウンロードできる PWIDE.EXE の環境も作成してみました。


(4)VZエディタが無い場合のために、テキストエディタを変えてみた。

 タグスケはVZエディタを使用することを前提にしていますが、VZエディタを持っていない、あるいは入手できないという方もいます。
某巨大掲示板で、そういう書き込みを見た記憶があります。そこで、他に使用できるエディタがないかと探して、それを使った環境を作ってテストしてみました。

最終的には、以下の3つで動くようにしました。
  ・VZエディタ
  ・MIFES mini (日本語化キットに同梱されていたもの)
  ・SS Editor   (vectorでダウンロードできます。)

 HP200LXでのテキストエディタ選びについては、「HP200LX用テキストエディタ選び」の記事でも詳細に書きました。
  

(5)浜島さんの TAGSUKE.EXM を使用した環境を作成してみた。
 TAGSUKE.EXM は浜島さん作成の、スケジュールデータ取りだし処理部分をHP200LXのシステムマネージャ上で動くようにしたEXM版です。スケジュールデータの編集などは別のエディタをつかいますが、ちょっと面白いので環境を作成してみたものです。エディタはVZエディタを使用した環境のみ作成しました。

 詳細やモジュールは「タグスケ ページ」に載せました。
 

| | コメント (4) | トラックバック (0)

2017年4月29日 (土)

スケジュール管理「タグスケ」 カスタマイズキット TAGSKIT0

2017-04-29(土)晴れ

 一昨日は、タグスケのV2.2(1)を掲載しました。その記事と以前の記事に戴いたコメントで、カラム揃えを行いたいという希望がありました。
 それは、以前の記事「タグスケ 自分用のタグスケ」で、リスト画面の中の行番号位置を行番号の桁数によってもずれないようにして、右のコロン以降の桁がずれないようにしていると書いたからでした。私は自分用の環境では色々と変えて使用しています。1件1行化したときにカラム揃えを入れました。
 さて、自分用のものは環境が変わりすぎているので、リリース版の環境の中でカラム揃えを行えるような内容のファイルを作成してみました。TAGSC221をインストールした環境を作りテストして、問題なさそうなので掲載してみることにしました。

 以下は、ドキュメントからの抜粋による説明の一部です。

 1.概要
 このTAGSKIT0は、スケジュール管理ツールキット「タグスケ(TAGSCH)」のリスト画面のカラム揃えを行って、リストを
見やすくするためのカスタマイズ用ファイル群です。カラム揃えを行うのは、テキストファイル中の行数を示す数字部分の
桁数を揃えます。その他の相違はありません。
 また、既にインストールしてあるTAGSCHのファイルへの変更はないので、これをインストール後も、従来のまま使うことも出来ます。

 なお、これを使うに当たっては、スケジュールを記入したテキストファイル名称の文字数(長さ)を合わせる必要があります。
同梱ドキュメントのインストール手順の項を見て下さい。


2.改善内容説明
 抽出したスケジュールをリスト画面に表示する前に、カラム揃えを行います。改善案は2つあります。案の説明と例を下に示します。

(1)改善案1
   1件複数行表示あり(従来どおり)で、カラムそろえだけ行います。

(2)改善案2
   1件1行にして、カラムそろえして表示します。

表示例:

改善前(リリースされている版の場合)
 
-----------------------------------------------------------
改善案1の場合
 
-----------------------------------------------------------

改善案2の場合
 
-----------------------------------------------------------

 大した変換はしていません。
バッチファイルの中の 「sed -f transu.sed $3 > $4」 という行で、SEDを使って、行数の数字を3桁に揃えているだけです。このため、上記の「1.概要」で書いたように、テキストファイル名の長さを揃えなければならない、という制約があります。まあ、ファイル名の文字数を合わせるだけだから良いかなと思っています。

モジュールは下記に貼り付けました。詳細は同梱のドキュメントをご覧ください。

  「タグスケ ダウンロードページへ
  [タグスケページTOPへ]
 



| | コメント (2) | トラックバック (0)

2017年4月28日 (金)

元号を扱ったアプリの変更?

2017-04-28(金)晴れ

 先日の新聞に、いよいよ天皇の生前退位の特例法が現実になってきたと書かれていました。比較的早い時期に成立するようですね。余りにご高齢になっているのに、あれもこれもやらないと、、みたいで大変だと思います。そろそろ、ゆっくりとして戴いても、、とか思います。
 さて、それはそれとして、天皇退位、新たに即位となると元号は変わるんですよね?そうすると、元号を扱っているアプリや、元号で記入しているものなどは変更が必要になります。幸い、私のドキュメント(日記など)は元号ではないので影響はありませんが、一つだけ変更が必要なアプリがあります。今までの元号と西暦間の対照を表示するアプリです。
 以前、テストして記事にしましたが、段々と変更が視野に入ってきました。
  以前の記事「Python 西暦・年号変換(対照)アプリ PyNengou のチェック

 元号といえば、最近のカレンダーには元号が入っていないものも多くなりました。今私の目の届くところにカレンダーが4つ有りますが、2つには全く入っていません。一つは、良く見たら入っているけど、天眼鏡が欲しくなるような小さな文字でした。少し大きめに入っていたのは、市が発行しているゴミや資源物収集カレンダーでした。段々と、元号が入っていないカレンダーが増えそうです。作成する側からみると、改元で慌てる必要がないからでしょうかね。
 最近、今年が平成何年か、一瞬分からないことが多くなりました。惚けてきたのもあるけど、カレンダーを見ても書いてないし、使い事も少ないし、そんなことも影響しているかもしれません。
 そんなことを思った日でした。
 

| | コメント (0) | トラックバック (0)

2017年4月27日 (木)

タグスケ V2.2(1)を掲載しました

2017-04-27(木)曇り

 随分長い間放ってあった「タグスケ V2.2(1)」をWEBに載せました。

 タグスケは「あこべこ」さん作の、HP200LXで使うスケジュール管理用のキットです。キットと書いたのは、一つのソフトではなく、色々なソフトや自分で作成した制御データでつかうアプリ群だからです。
 先日、記事に戴いたコメント(ここ)で、タグスケを見たら、内容をすっかり忘れていました。また、更新途中で放置した有ったファイルを見つけたりもしました。2011年頃に「あかべこ」さんと二人で、V2.2にバージョンアップしたあと、改良のためにV2.2(1)を作成し、そのままになっていました。

 ということで、V2.2(1)を「テク’ノート」に掲載しました。
 「テク’ノート」の「タグスケ ダウンロードページ

問題点等の内容は以下のとおりです。

 ・対策する現象
   V2.2では、元となる日誌テキストファイルに記述する予定の文中には、"#"を使用することが禁止されています。
   ("#"は未実行の予定の行頭のみに使用します。)
  もし、文中に"#"を記述すると、出力されたスケジュールファイル(TAG.TXT)の中に、フォーマットが崩れた行が
  表示されました。
   また、それ以降は、元となる日誌テキストファイルを修正しても、スケジュールファイル(TAG.TXT)から、フォーマットが
  崩れた行を消すことができませんでした。 (注:TAG.TXT を、自分で一旦削除すれば回復できる)。

これを対策しました。
 

| | コメント (2) | トラックバック (0)

2017年4月24日 (月)

Python:リストのスライドスクロールを有効にする対策をした

2017-04-24(月)曇り

 Nokia E7-00でのPythonスクリプトのテストの件で、残っていた対策の幾つかを実施しました。残っている対策は、前回の記事でリストアップしました。
 前回の記事「Nokia E7-00でのPythonスクリプトのテストを始めた その5

 今回の対策の項目は、リスト画面でのスライドスクロールを有効にする対策です。ここでスライドスクロールと言っている動作とは、リスト画面で指をスライドさせてリストをスクロールさせる動作です。今風の言い方で言うとスワイプですか?用語については、あまり良く知らないのですが、、。

 タッチ画面式の携帯電話(Nokia 5800XM やE7-00)では、OSや内蔵アプリではスライドスクロールは動作するのですが、Pythonで表示しているリストでの、指をスライドさせてのスクロールはうまく動きませんでした。Nokia 5800XMではバーチャルキーボードを導入していたので我慢していましたが、一応キーボードがあるE7-00にはバーチャルキーボードを導入したくなかったので対策を考えてみることにしたものです(バーチャルキーボードが動くかどうか不明だったし)。

 一応操作してみて、一つの事実が分かっています。それは、Pythonが制御している内部的なリストはスクロールしているらしいことです。

Scre000043a
 指をスライドさせても画面上のリストは変化しないのですが、その後、画面に指を振れてみると、その行だけ表示が変わって青く(選択された状態に)なります。その表示をみると番号が進んでいるからスクロールはされているようです。あちこち触ると上記画像のように、おかしな事になります。画面全体の表示が更新されていないからです。
 ということで、画面表示を更新すれば良いのではないかと考えました。余りよい手は思いつかなかったのですが、下記のように対策を入れてみました。

 ・10ミリ秒~50ミリ秒位のタイマをループさせて、タイムアウト毎に画面更新の命令
  を出すことにする。(appuifw.app.body = self.listbox_list)
 これで、とにかく画面更新をすると、画面上のリストをスクロールさせることが出来ました。ただ、機種(OS)やPythonのバージョンに寄って動作が違っています。とりあえずは、E7-00で使えればいいかなと考えました。

----- 機種(OS)やPythonのバージョンでの相違 -------------
     E7-00 (OS :Belle)
       Python 1.4.5  ○
       Python 2.0.0  -  (未テスト、多分大丈夫と期待)

     5800 XM (OS : S60 5th)
       Python 1.4.5  ×(スクロールしない) 注1
       Python 2.0.0  △(スクロールするが反応良くない)

 注1:appuifw2 を導入すると動作が変わるかもしれない
-------------------------------------------------------

Scre000044a_2 Scre000045a
 一つ制限事項が出てしまいました。スライドでのスクロールでは、左のように最後の項目でスクロールが止まりますが、実際はもう一つダミー行がないと、ここまで表示できないのです。右はカーソルキーで最後の行に移ったところです。最後にダミー行を入れています。この行をクリックしても何も動作しないようにはしていますが、、。一応、ここが項目の最後であること表示する行ということにしています。
 リストボックスを使ったスクリプトは多くあるのですが、全部対策する元気はないので、下記の3つを対策することにしました。

 PyMyShell は色々なスクリプトを起動するためのスクリプトですが、メニュー画面と同じようにキーボードを出さなくても良いようにしたかったので対策しました。

 PyFbuiutilは、ファイルやディレクトリ操作が必要なときに、色々なスクリプトがインポートして使うモジュールです。これが対策されていれば対策済みになるスクリプトが多いので対策しました。

 Filebrowser はその名の通りファイルブラウザ(ファイルマネージャ)ですが、これもファイルに対して色々なアプリを動作させるシェルみたいに使うことも多いので対策しました。

 ついでに、以前から分かっている、Python 2.0.0 での問題点も対策しました。

モジュールは例によって「Python スクリプト 雑記」の各々の項目のところに入れました。
 

| | コメント (0) | トラックバック (0)

2017年4月17日 (月)

Nokia E7-00でのPythonスクリプトのテストを始めた その5

2017-04-17(月)晴れ、のち雨

 暫く前から、もう少し手持ちのNokia E7-00を活用してみようと、メイン携帯で使っているPythonスクリプトをE7-00でテストしたり改造したりしてきました。
 前回の記事「Nokia E7-00でのPythonスクリプトのテストを始めた その4

 前回の記事までの問題点で対策してきたスクリプトについては、既に個別記事で書いてきました。既に5~6個のスクリプトを修正してきましたが、手を付け始めると色々と直したくなってきます。直さないと使えない内容から、とりあえずは問題ないけど、少し気になる内容とか色々です。

今まで修正した内容は以下のとおりでした。

(1)WEBデータを使用するスクリプトについて、サイトの変更に対応させたもの。
   これは対応させないと動かないので、仕方がないですね。
(2)フルスクリーン表示を使用しているものは、ソフトキーが表示されないのでメニュー操作や
   終了が出来ないので対策が必要だったもの。
(3)サムネイル画像を複数表示するスクリプトが、うまく動かなかったもの。
   これも、対策しないと使えない内容でした。
(4)E7-00の写真画像の縦横比が今までのカメラと違うので、リサイズ時に
   縦横比が変わらないように対策したもの。
(5)ブログ用記事作成スクリプトで画像指定時に、E7-00カメラの画像に縦横比に対応できるようにした。

 その後も色々検討していたら、まだまだ修正したい内容が出てきてしまいました。改造しないと困る内容から、”将来”のために改造しておきたい内容まで色々です。因みに、この携帯電話の使用に”将来”があるかどうかは、、、微妙なところですね。ま、使えなくなるまで使うことにします。

 これから対策したい内容は以下の通りです。

(1)リストを表示した画面のとき、指をスライドさせてスクロールさせたい。今風に言うとスワイプ?ですかね。
(2)Python2.0.0でも動くようにしておきたい。
(3)色々なスクリプトを連続使用しているときに、ライブラリ用ディレクトリのパスが
  どんどん肥大化してゆくのを防止する。
(4)WEBアクセス時にうまくデータを送受信できなくて、ずっと待ちになってしまい
   ハングアップしたようにみえることが発生した。このため、タイマ監視することにした。

 こんな内容で洗い出したら、最低でも10個も改造対象がリストアップされました。面倒だなと思う反面、スクリプトを弄るのが増えて楽しい面もあります。
 暖かくなってきたし、部屋で作業していても寒くないので、少しずつ改造する予定です。
 

| | コメント (0) | トラックバック (0)

より以前の記事一覧