No.5435, No.5434, No.5433, No.5432, No.5431, No.5430, No.5429[7件]
>>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/>")
のように書き換える必要があるでしょうね。
横からですが、
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/>")
のように書き換える必要があるでしょうね。
5433
またもやエラーが…
text = raw.decode("euc_jp")は1行まるごと削除でよかったですか?
with open(fname, "r", encoding="utf-8") as f:に置換はしてます
お手数をおかけします🙇
またもやエラーが…
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:に置換はしてます
お手数をおかけします🙇
>>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:
に変えてみて下さい。
既に文字コードを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:
に変えてみて下さい。
5431
ありがとうございます〜
ターミナルでエラーが出ました
nkyファイルとconvert_nicky.pyはUTF-8/LFになっています
convert_nicky.pyにeuc_jpの文字があるのはわかりますが、どこのデコードを指しているのか(私には)わかりません
上記の理由でnicky2tegalog.txtは生成されませんでした
どうしたらいいでしょう?
ありがとうございます〜
ターミナルでエラーが出ました
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は生成されませんでした
どうしたらいいでしょう?
>>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」というファイル名で保存します。
✅ nkyファイルをまとめたフォルダを作る
デスクトップに nicky_logs というフォルダを作って、そこにFTPでダウンロードしてきた.nkyファイル群と、先ほど作ったconvert_nicky.py を一緒に入れます。
✅ ターミナル上でnicky_logsフォルダを開く
ターミナルを起動して、下記のコードを入力してEnterを押します。
✅ ターミナルでPythonスクリプトを実行する
下記のコードを入力してEnterを押します。
するとconvert_nicky.pyが実行されて、デスクトップのnicky_logsフォルダ内に「nicky2tegalog.txt」というファイルが生成されているはずです。
✅ txtファイルの中身をtegalog.xmlに貼り付けて保存(上記③の部分にあたります)
Miでnicky2tegalog.txtを開いて、中身をすべて選択してコピーしておきます。
次にMiでローカルのてがろぐフォルダにあるtegalog.xmlを開きます。

画像で濃くなっている部分のように、
<?xml version="1.0" encoding="UTF-8" ?>
<tegalog>
と
</tegalog>
の間に、先ほどコピーしておいたnicky2tegalog.txtの中身を貼り付けます。先頭の2行や</tegalog>を消してしまわないように注意して下さい。貼り付けたら上書き保存をします。
✅ 更新したxmlとnickyの画像群をFTPでアップロード(上記④の部分にあたります)
FTPソフトを起動し、更新したtegalog.xmlをアップロードします。
そして同じくFTPで、nickyで使用していた画像ファイルをサーバー上のimagesフォルダの中にすべてアップロードします。
✅ ブラウザで動作確認(上記⑤の部分にあたります)
ブラウザからサーバーに設置したてがろぐにアクセスして、正常に表示されるか確認して下さい。nickyのログが正常に移植・表示されていた場合は、てがろぐの管理画面にアクセスして
全投稿の一括調整(投稿日時順ソート、投稿番号の再採番) を行って下さい。
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")
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を開きます。

画像で濃くなっている部分のように、
<?xml version="1.0" encoding="UTF-8" ?>
<tegalog>
と
</tegalog>
の間に、先ほどコピーしておいたnicky2tegalog.txtの中身を貼り付けます。先頭の2行や</tegalog>を消してしまわないように注意して下さい。貼り付けたら上書き保存をします。
✅ 更新したxmlとnickyの画像群をFTPでアップロード(上記④の部分にあたります)
FTPソフトを起動し、更新したtegalog.xmlをアップロードします。
そして同じくFTPで、nickyで使用していた画像ファイルをサーバー上のimagesフォルダの中にすべてアップロードします。
✅ ブラウザで動作確認(上記⑤の部分にあたります)
ブラウザからサーバーに設置したてがろぐにアクセスして、正常に表示されるか確認して下さい。nickyのログが正常に移植・表示されていた場合は、てがろぐの管理画面にアクセスして
全投稿の一括調整(投稿日時順ソート、投稿番号の再採番) を行って下さい。
そろそろ秋……?
🍁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本体の編集は必要ないケースも多いです(設置サーバ次第です)。
🍁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本体の編集は必要ないケースも多いです(設置サーバ次第です)。
おはようございます☺︎
5428
WindowsのPCを使っておらず(Mac)、nickyのログがPC内にはなく(サーバー上)、てがろぐCGIも未ダウンロードです
狙ったわけじゃないんですがすみません
.nkyファイルはサーバー提供のwebFTPで開いているので制御文字か判別できませんでした
UTF-8にはなっています。だいぶ前に手動で変えました
曜日が日本語という以外はほぼ同じ仕様でしょうか?(↑コピペ
基本的にサーバー上で作業してきたのでローカルで行うとすればFTPとエディタ(mi)ぐらいです
windowsを使わない方法があれば…
5428
WindowsのPCを使っておらず(Mac)、nickyのログがPC内にはなく(サーバー上)、てがろぐCGIも未ダウンロードです
狙ったわけじゃないんですがすみません
.nkyファイルはサーバー提供のwebFTPで開いているので制御文字か判別できませんでした
UTF-8にはなっています。だいぶ前に手動で変えました
2020年04月22日(水)13:14タイトルほんぶん<br>2020-4-22.jpg40
曜日が日本語という以外はほぼ同じ仕様でしょうか?(↑コピペ
基本的にサーバー上で作業してきたのでローカルで行うとすればFTPとエディタ(mi)ぐらいです
windowsを使わない方法があれば…