🗐 てがろぐ - Fumy Otegaru Memo Logger -

お手軽一言掲示板(この辺の文章は「管理画面」の「設定」内にある「フリースペース」タブから編集できます。)

or 管理画面へ

No.5435, No.5434, No.5433, No.5432, No.5431, No.5430, No.54297件]

NO IMAGE
>>5434
横からですが、
   raw = f.read()
   text = raw.decode("euc_jp")
   text = text.replace("<br>", "<br/>")

から、真ん中の行を削除すると、
   raw = f.read()
   text = text.replace("<br>", "<br/>")

こうなるわけですが、これだと 変数text が定義されなくなってしまいますので(エラーメッセージの「name 'text' is not defined」はそのことを指摘しています)、ここは、
   raw = f.read()
   text = raw.replace("<br>", "<br/>")

のように書き換える必要があるでしょうね。
Icon of admin
5433
またもやエラーが…

Traceback (most recent call last):
  File "/Users/MAC/Desktop/nicky_logs/convert_nicky.py", line 18, in <module>
    text = text.replace("<br>", "<br/>")
NameError: name 'text' is not defined


text = raw.decode("euc_jp")は1行まるごと削除でよかったですか?
with open(fname, "r", encoding="utf-8") as f:に置換はしてます

お手数をおかけします🙇
Icon of sakura
>>5431
既に文字コードをUTF-8に変更されているとのことですので、convert_nicky.pyの

text = raw.decode("euc_jp")

の部分を削除して下さい。

さらに
with open(fname, "rb") as f:
の部分を

with open(fname, "r", encoding="utf-8") as f:

に変えてみて下さい。
Icon of admin
5431
ありがとうございます〜

ターミナルでエラーが出ました
UnicodeDecodeError: 'euc_jp' codec can't decode byte 0xb4 in position 6: illegal multibyte sequence

nkyファイルとconvert_nicky.pyはUTF-8/LFになっています
convert_nicky.pyにeuc_jpの文字があるのはわかりますが、どこのデコードを指しているのか(私には)わかりません

上記の理由でnicky2tegalog.txtは生成されませんでした
どうしたらいいでしょう?
Icon of sakura
>>5429
5428です。てがろぐ自体がnickyのように自分でサーバーに設置して使うCGIツールなのと、nickyのログファイルが1日1ファイル式で多そうなことから、サーバー上・ブラウザ上だけでnicky→てがろぐへ1クリックで引っ越しを完結させる方法は私には思いつけないのですが、Macでも移植・引っ越し作業自体は可能です。ローカルで作業をする場合、とにかくまずは てがろぐのダウンロードと、FTPでnickyのログファイル群をダウンロードをして下さい。にししさんが5430でおっしゃっている画像を見て「ああ、簡単だ」と思えるようでしたらここから先の作業も簡単かと思います。(私が入力している間に にししさんの投稿が…/笑)

大まかに言うと

①ローカルでnkyファイル群をてがろぐの書式沿って変換・統合
②ダウンロードしたてがろぐのzipを解凍し、説明に従ってサーバーに設置 ・動作確認をする
③ローカル側のてがろぐフォルダにあるtegalog.xml(てがろぐのログファイル)をテキストエディタで開き、①で変換したnickyのログを貼り付けて保存
④ ③で更新したtegalog.xmlと、nickyで使っていた画像ファイル群をFTPでサーバーにアップロード
⑤サーバー上のてがろぐで、nickyのログが表示されるか確認

という流れです。
当方にMac環境がないので実際の動作確認はできないのですが、AIに尋ねてみたらMacなら最初から入っているPythonで>>5428で書いたWindowsPowerShellと同等の処理ができるとのことです。
以下、AIからの回答を引用・整理しました。

Miで変換用のPythonスクリプトを用意する(上記①の部分にあたります)
Miを起動して、下記のコードを貼り付けて「convert_nicky.py」というファイル名で保存します。

長いので折り畳み
import glob
import re

def normalize_date(jp_date):
    # 例: "2020年04月22日(水)13:14"
    match = re.match(r'(\d{4})年(\d{2})月(\d{2})日.*?(\d{2}):(\d{2})', jp_date)
    if match:
        yyyy, mm, dd, hh, mi = match.groups()
        return f"{yyyy}/{mm}/{dd} {hh}:{mi}:00"
    return jp_date.strip()  # 変換できなかった場合はそのまま返す

output = "nicky2tegalog.txt"
lines = []

for fname in sorted(glob.glob("*.nky")):
    with open(fname, "rb") as f:
        raw = f.read()
        text = raw.decode("euc_jp")
        text = text.replace("<br>", "<br/>")

        for line in text.splitlines():
            fields = line.split("\x01")
            if len(fields) >= 4:
                date = normalize_date(fields[0].strip())
                title = fields[1].strip()
                body = fields[2].strip()
                image = fields[3].strip()
                if image:
                    body += "<br/>[PICT:" + image + "]"
                lines.append((date, title, body))

with open(output, "w", encoding="utf-8") as out:
    for i, (date, title, body) in enumerate(reversed(lines), 1):
        out.write(f"<log><date>{date}</date><id>{i}</id><user>admin</user><cat></cat><comment>{title}<br/>{body}</comment></log>\n")


nkyファイルをまとめたフォルダを作る
デスクトップに nicky_logs というフォルダを作って、そこにFTPでダウンロードしてきた.nkyファイル群と、先ほど作ったconvert_nicky.py を一緒に入れます。

ターミナル上でnicky_logsフォルダを開く
ターミナルを起動して、下記のコードを入力してEnterを押します。

cd ~/Desktop/nicky_logs

ターミナルでPythonスクリプトを実行する
下記のコードを入力してEnterを押します。

python3 convert_nicky.py

するとconvert_nicky.pyが実行されて、デスクトップのnicky_logsフォルダ内に「nicky2tegalog.txt」というファイルが生成されているはずです。

txtファイルの中身をtegalog.xmlに貼り付けて保存(上記③の部分にあたります)
Miでnicky2tegalog.txtを開いて、中身をすべて選択してコピーしておきます。
次にMiでローカルのてがろぐフォルダにあるtegalog.xmlを開きます。
tegalogxml.png
画像で濃くなっている部分のように、
<?xml version="1.0" encoding="UTF-8" ?>
<tegalog>

</tegalog>
の間に、先ほどコピーしておいたnicky2tegalog.txtの中身を貼り付けます。先頭の2行や</tegalog>を消してしまわないように注意して下さい。貼り付けたら上書き保存をします。

更新したxmlとnickyの画像群をFTPでアップロード(上記④の部分にあたります)
FTPソフトを起動し、更新したtegalog.xmlをアップロードします。
そして同じくFTPで、nickyで使用していた画像ファイルをサーバー上のimagesフォルダの中にすべてアップロードします。

ブラウザで動作確認(上記⑤の部分にあたります)
ブラウザからサーバーに設置したてがろぐにアクセスして、正常に表示されるか確認して下さい。nickyのログが正常に移植・表示されていた場合は、てがろぐの管理画面にアクセスして
全投稿の一括調整(投稿日時順ソート、投稿番号の再採番) を行って下さい。
NO IMAGE
そろそろ秋……?

🍁Re:5424◆実際にtegalog.xmlファイルをご覧頂くのが早いと思いますが、ここに掲載されている画像を見るだけでも概ね分かると思います。こういう感じのXML(っぽいテキストファイル)です。WordPressやMovable Typeのファイルを読むことはできません。
XMLではなく「XMLっぽい」と表現しているのは、XMLの仕様に完全には沿っていないからです。先のリンク先の注釈部分に少し解説してあります。

🍁Re:5425◆直接使ったことはなかったんですが(存在は知っていましたが)、2000年代のCGIっぽさが出ていて懐かしい感じのページですね!

🍁Re:5427◆力作の解説をありがとうございます!今後のどなたかにも役立つと思います。(╹◡╹)

🍁Re:5428◆ああ、そういえばそうですね。今の実装方法だと(設定機能に)容易には加えられないんですが、将来的にはできるようにしたいと思います。とりあえず今の時点でcrossorigin属性とintegrity属性を加えたい場合は、てがろぐ側の機能では読み込ませずに、スキンHTMLに直接script要素を書いて下さい。(スキンから [[JS:LIGHTBOX:JQ]] 等の記述を消して、その代わりにjQueryやLightbox等の望みのスクリプトを読み込むscript要素を書く方法です。)
管理画面の画像管理で自動的に読まれる方に関しては、(ユーザ側に設定の余地がない仕様な分だけ単純なので)もうちょっと早めに対処します。

🍁Re:5429◆とりあえず、ここに掲載されている画像をご覧下さい。これを見て「ああ、簡単だ」と思えれば簡単です(当たり前ですが^^;)。テキストエディタのmiをお使いになるくらいなら、おそらく「簡単だ」と思われるだろうと思います。

てがろぐでは、全投稿を1ファイル(tegalog.xml)で管理します。1件1行で記述し、本文中の改行は <br /> で表す必要がある、というような独自の制約がありますが、難しくはないでしょう。一意の投稿番号を割り振る必要がありますが、てがろぐ管理画面から(投稿番号を1から連番で)割り振り直す機能がありますから(ヘルプドキュメントの「全投稿の投稿番号をNo.1から連番になるよう再採番する機能の使い方」をご覧下さい)、データファイルを自力で作る時点ではテキトーな投稿番号で良いです。全部1でも。

変換作業はローカルでなくてもサーバ上でもどこでも好きなところですれば良いと思います。ローカルでする場合でもWindowsである必要はなくMacでもLinuxでも何でも大丈夫です。BOMなしのUTF-8が編集できればどんなエディタでも良いですから。もしCGI本体の編集が必要な場合は、改行コードを[LF]で保存できる方が望ましいですが、CGI本体の編集は必要ないケースも多いです(設置サーバ次第です)。
Icon of admin
おはようございます☺︎
5428

WindowsのPCを使っておらず(Mac)、nickyのログがPC内にはなく(サーバー上)、てがろぐCGIも未ダウンロードです
狙ったわけじゃないんですがすみません

.nkyファイルはサーバー提供のwebFTPで開いているので制御文字か判別できませんでした
UTF-8にはなっています。だいぶ前に手動で変えました

2020年04月22日(水)13:14タイトルほんぶん<br>2020-4-22.jpg40

曜日が日本語という以外はほぼ同じ仕様でしょうか?(↑コピペ
基本的にサーバー上で作業してきたのでローカルで行うとすればFTPとエディタ(mi)ぐらいです
windowsを使わない方法があれば…

■フリースペース:

ここは、CGIの設定画面から自由に文章を入力して掲載できるスペースです。スキンを編集しなくてもCGI上から手軽に内容を変更できます(HTML使用可)。
動作サンプルです。◆他のスキン:標準スキン, 昔のツイッターっぽいスキン(ピンク版), 付箋型スキン, シンプル日記スキン, ジャーナル(日誌)スキン, ブログタイプスキン, チャットタイプスキン, 黒板スキンてがろぐCGIの配布ページに戻る

編集

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■新着画像リスト:

全322個 (総容量 36.46MB)

■日付一覧:

■日付検索:

■カレンダー:

2025年9月
123456
78910111213
14151617181920
21222324252627
282930

■最近の投稿:

最終更新日時:
2025年9月23日(火) 23時47分09秒〔12時間前〕

動作サンプルです。 ご自由にお試し下さい。パスワードguest管理画面もお試し頂けます。
■いま見ているスキンは「昔のツイッターっぽいスキン(ブルー)」です。他に、 標準スキン昔のツイッターっぽいスキン(ピンク)付箋型スキンシンプル日記スキンジャーナル(日誌)スキンブログタイプスキン(タイトル付きブログっぽくできるスキン)、 黒板スキンチャットタイプスキンがあります。
てがろぐCGIの配布・解説ページに戻る