-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENAMETOOLONGエラーが発生する #325
Comments
macOS だとファイル名ちょっと長い程度じゃ全く問題ないので塩対応部分… |
From: /Users/whiteleaf/github/narou/lib/extension.rb @ line 40 File.write: 変換中:1
変換中:1
26: def File.write(path, string, *options, mode: nil) 変換中:1
27: return super if mode 変換中:1
28: 変換中:1
29: dirpath = File.dirname(path) 変換中:1
30: temp_path = File.join(dirpath, SecureRandom.hex(15)) 変換中:1
31: if File.extname(path) == ".yaml" && File.basename(dirpath) != Downloader::SECTION_SAVE_DIR_NAME :1
32: backup = "#{path}.backup" 変換中:1
33: end 変換中:1
34: 変換中:1
35: res = super(temp_path, string, *options) 変換中:1
36: if backup 変換中:1
37: super(backup, string, *options) 変換中:1
38: end 変換中:1
39: binding.pry 変換中:1
=> 40: File.rename(temp_path, path) 変換中:1
41: res 変換中:1
42: end 変換中:1
変換中:1
[1] pry(File)> path
=> "/Users/whiteleaf/github/narou/小説データ/小説家になろう/26/n2656ev 本能寺から始める信長との天下統一 《4200万アクセス超え》☆戦国時代歴史改変タイ/長いよ.txt" 特に問題ないような気がするが |
setting.iniの変更が反映されない、というのはこちらのミスでした。こちらでも反映されていました。 |
自分も #220 のn6339doで同様のエラーが発生いたしました。 自分の場合
# 補足: ファイル名の最大長 自分の環境の場合CentOS7でXFSを使用しているため、最大ファイル名長が255byteとなっており、下記の通りオーバーしてしまったようです。
|
確認します |
https://jbbs.shitaraba.net/bbs/read.cgi/computer/44668/1511245701/192
という考えは改めようかなと思いました。 以下思考経路なぜ出力ファイル名に適用しなかったのかは、出力ファイル名は別途制御する方法があったからですが、filename-length-limit を適用せざるを得ない環境では、出力ファイル名も同様の問題が発生する可能性が高いので、出力ファイル名制御の設定の手間がたしかに省けるな、と思い直しました。 |
@whiteleaf7 |
デフォルト50文字だからいままで出力してたファイル名が変わって栞が消えるみたいな |
@whiteleaf7 https://github.com/whiteleaf7/narou/blob/develop/lib/command/backup.rb#L34 # 実際n6339doでbackupしてみたら 尚、現役で使われているファイルシステムの場合殆どが255文字 or 255byteが上限のようです(※)。 |
バックアップに関しては影響軽微という事でそのうち直しますね
|
やっぱり filename-length-limit で共有設定は厳しかったかもしれない |
厳しい理由: いままで出力ファイル名は50文字以上も許容していた。 ファイル名の長さの計算は、出力ファイル名に限れば作者名部分も含むので、意外と50文字に引っかかりやすかった。 いままでの設定にあわせて filename-length-limit を増やそうとする 以上の理由から、今回のアプデはなかったこととして、別設定名に変えます |
いつもお世話になっています。また、エラーが出るパターンがありましたので報告です。
https://ncode.syosetu.com/n2656ev/
これを変換すると以下のエラーとなります。フォルダ名の段階ではタイトルが省略されているのですが、.txtにするところで、タイトルが省略されなくなってしまうようでした。著者名が長いのも関係があるのかもしれません。
以前、類似の#220では、setting.iniのnovel_titleを短くすることで回避できていましたが、今回はnovel_titleやoutput_filenameを弄っても、rename先のファイル名が変わらずエラー内容に変化ありませんでした。
また、#220の際に伺った、database.yaml中のfile_titleを縮めてフォルダー名も合わせて変更するというのをやってみましたが、確かにフォルダ名は変わったのですが、ファイル名が長すぎるようで効果ありませんでした。
database.yaml中の、titleとfile_titleを縮めることで、なんとか回避しています。
The text was updated successfully, but these errors were encountered: