Code Monkey home page Code Monkey logo

cfiler's People

Contributors

crftwr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cfiler's Issues

長いファイル名で位置ずれ

長いファイル名は末尾が省略されるが、その際に拡張子以降が1文字分ずれて日時の末尾が追い出されてしまう
日本語のファイル名のせいかも知れないが、未検証

いくつかのフォントで確認してみたら、Migu 1Mの場合にずれるようだ
日本語でもアルファベットでも関係なくおかしくなる

[¥¥ホスト]にショートカットされているlnkファイルをEnterするとエラーになる

内骨格 version 2.53
Windows10(1809)
Traceback (most recent call last):
File ".\cfiler_mainwindow.py", line 894, in _onKeyDown
File "../ckit\ckit_command.py", line 28, in call
File ".\cfiler_mainwindow.py", line 2710, in executeCommand
File ".\cfiler_mainwindow.py", line 3128, in command_Enter
File ".\cfiler_filelist.py", line 374, in getLink
File ".\cfiler_filelist.py", line 209, in init
OSError: file does not exist. []

サブスレッドの中から、paintが呼ばれて、status_bar_paint_hookが無効になっている。 マルチスレッドの問題。

名前が似ているファイルを検索 :
Traceback (most recent call last):
File "cfiler_threadutil.pyo", line 173, in run
File "C:\ols\cfiler\config.py", line 523, in jobCheckSimilar
File "cfiler_mainwindow.pyo", line 1698, in setProgressValue
File "cfiler_mainwindow.pyo", line 1899, in paint
TypeError: 'NoneType' object is not callable

サブスレッドの中から、paintが呼ばれて、status_bar_paint_hookが無効になっている。
マルチスレッドの問題。

ルートディレクトリへのファイルコピーが失敗することがある

ルートディレクトリへのファイルコピーが失敗することがある。

(USBメモリなどで発生?HDDでは起きなかった。)

軽微な問題ではありますが、C:\などルートへファイルをコピーしようとすると失敗するようなのでご報告させていただきます。
os.makedirs にルートが渡されるとフォルダがすでに存在する場合とは違う例外が投げられることが原因なようで、
cfiler_filelist.lister_LocalFS.getCopyDst 内の当該関数呼び出しをコピー先がルートの場合は回避することで、当方の環境では今のところ問題なく動作しております。

シンボリックリンクディレクトリを削除すると中身のファイルも同時に消える

Issue type

  • Bug report

Versions

  • cfiler
    • 2.45
  • OS
    • Windows 10 64bit Pro

Description:

  1. MKLINK /D <リンク> <ターゲット>でファイルを含むディレクトリのシンボリックリンクを作成する
  2. cfilerでリンクを作ったディレクトリに移動
  3. シンボリックリンクを選択して削除する
  4. シンボリックリンクの元のディレクトリを覗くと中身が消えている

Expected behavior

シンボリックリンク自体のみ削除され、中身のファイルは削除されない

ini ファイルのマージ、あるいは自動リロード

複数のCfilerでiniファイルを上書きしあわないような工夫。
履歴などが消えてしまわないように。

自分が読み込んだiniファイルのタイムスタンプを覚えておき、
書き出すときに、必要に応じてマージするとよいかも。

あるいは、別のファイルに書き出しておき、読み出すときに
複数のファイルを読み出すといいかも。

OSX 版で PageUp PageDown が出来るように #MacPort

Beta版としてOSX版を愛用させて頂いてております。
使用している状況でPage UpやPage Downができません。
可能であればPage UpやPage Downへの対応をお願い致します。

もし、キーバインドやconfig.pyでの設定方法など対応可能な方法があれば教えてください。

画像閲覧中の不具合レポート

画像が100枚ほど入ったディレクトリで

ENTERで画像を閲覧→5回スペース→Esc→画像を削除をループする
再現率:2/10回
Escを押下した時にカーソル位置が最初のエンターを押して画像を閲覧した時から,カーソル位置が動いておらず選択出来ていない現象が起きることがあります.

ファイルの削除時にエラーが出て削除できない

現象

ファイルの削除時に以下のエラーが出てファイルが削除できない。

ごみ箱に投棄 :
  ファイル : C:/Users/wildlarva/Downloads\Q631YSTR001201901070923141.pdf
Traceback (most recent call last):
  File "../ckit\ckit_threadutil.py", line 231, in run
  File ".\cfiler_mainwindow.py", line 3307, in jobDelete
  File "../ckit\ckit_misc.py", line 410, in deleteFilesUsingRecycleBin
ValueError: embedded null character
Done.

本現象の再現方法

  1. 内骨格を起動する。
  2. スペースキーを押下し、いずれかのファイルを1つ選択する。
  3. Kキーを押下し、ファイルを削除する。
  4. "ゴミ箱への投棄の確認"ダイアログにおいてエンターキーを押下し、"はい"を選択する。

本現象の発生した環境

  • 内骨格: version 2.48
  • Windows: 10 Pro 1809
  • 内骨格の設定
    • 削除動作選択: デフォルトでOSのごみ箱を使用する

参考:考えられる原因(未検証)

以下の箇所においてctypes.c_wchar_p"\0"の文字列を設定している。
ckit_misc.py

def deleteFilesUsingRecycleBin( hwnd, filename_list ):
    ...
    joint_filenames = ""
    for filename in filename_list:
        filename = filename.replace("/","\\")
        joint_filenames += filename
        joint_filenames += '\0'
    joint_filenames += '\0'
    ...
    fileopdata.pFrom = joint_filenames
    ...

pythonの以下のバグにより本箇所がエラーとなっている可能性がある。
https://bugs.python.org/issue32745

テーマ拡張

ファイルの種類、属性での色分けができるようにして欲しい

migemoが有効にならない

お世話になります。
久々に内骨格を触ってみようと思い、ver 2.46をダウンロードさせていただきました。
マニュアルの通りmigemo辞書の配置、I-Searchの切り替えを行いましたが思った挙動になりませんでした。
こちら何かさらに設定が必要なのでしょうか?
よろしくお願い致します。

ルートフォルダにファイルコピーしようとするとエラー

ルートフォルダにファイルコピーしようとするとエラーが発生します。
ログは以下の通りでした。
コピー : From : C:/Apps/cfiler/readme.txt
: To : D:/readme.txt …
Debug: Traceback (most recent call last):
File ".\cfiler_mainwindow.py", line 3490, in copy_file
File ".\cfiler_filelist.py", line 423, in getCopyDst
File "c:/Python35/Lib\os.py", line 241, in makedirs
PermissionError: [WinError 5] アクセスが拒否されました。: 'D:/'
失敗
[WinError 5] アクセスが拒否されました。: 'D:/'
中断しました.

環境は、Windows7およびWindows10です。

Grep の高速化

ファイル名パターンと
無視するディレクトリパターンを指定させるようにしたら
もっと高速にできる。

splitlines せずに re.findall か、re.finditer を使うことで高速化できるかもしれない。
あるいは、splitlines ではなくて、イテレータを使うことで1行ずつ検索したら、
メモリコピーを1回分減らすことができるかもしれない。

StringIO を使うと、splitlines せずに済ますことができそうだが、計測してみると余計に遅くなってしまうようだ。
from cStringIO import StringIO
def iterbuf(buf):
stri = StringIO(buf)
while True:
nl = stri.readline()
if nl != '':
yield nl.strip()
else:
raise StopIteration

Macで作ったファイル名の濁点などの表示がおかしい

どこに対策が必要か。

NFC:

  • ファイルリスト表示
  • ファイル操作時のログへの表示
  • リネーム
  • サーチ
  • インクリメンタルサーチ
  • フィルタ
  • ファイル名補完
  • アーカイブ作成

NFD:

  • 関連付け実行
  • シェル実行
  • コンテキストメニュー
  • ファイル操作 (コピー、移動、削除、編集)
  • ファイル名 Compare (?)
  • ファイル名を手で(NFCで)入力してからのファイル操作
  • ジャンプ
  • クリップボードへのファイル名のコピー (?)

対策の方向性

  1. データの持ち方はNFDのままで、表示とカーソルの動きだけNFCを配慮する
  2. item.getName() と item.getNormalizedName() を使い分ける

config.pyにてMキーの再割り当てをすると、期待した動作にならない

環境

  • ver. 2.45
  • Windows 10 64bit

事象

config.py にてMキーの再割り当てをしようとして、以下のような設定をしましたが、再読み込み後、Mキーをおしても以下の例の場合のジャンプリストは表示されず、Mkdirが起動します。
(ファイル選択状態の場合は、Moveではなくジャンプリストが表示されました)。

# config.py
def configure(window):
    window.keymap["M"]=window.command_JumpList

また、Mはkeymapに文字列ではなくckit.KeyEventオブジェクトをキーとしているためかと思い、以下を追加してみましたが、エラーとなりました。

# config.py
import ckit

def configure(window):
    del window.keymap[ckit.KeyEvent(ord('M'),0,extra=0)]
    del window.keymap[ckit.KeyEvent(ord('M'),0,extra=1)]
    window.keymap["M"]=window.command_JumpList

以下エラー内容

ERROR : 設定ファイルの実行中にエラーが発生しました.
Traceback (most recent call last):
  File "../ckit\ckit_userconfig.py", line 42, in callConfigFunc
  File "config.py", line 65, in configure
  File "../ckit\ckit_key.py", line 439, in \_\_delitem\_\_
  File "../ckit\ckit_key.py", line 338, in fromString
AttributeError: 'KeyEvent' object has no attribute 'upper'

期待される動作

文字列"M"によるキーの再割り当てで、指定したファンクションが呼ばれる。

不正な一括変名を行った際にcfilerがハングアップする

Issue type

  • Bug report

Versions

  • cfiler
    • 2.46
  • OS
    • Windows 10 64bit Pro

Description:

  1. 複数のファイルに対して一括変名を行う際に正規表現をONにします.
  2. 正規表現に.*を指定して全てとマッチングさせ置換内容に\1をセットします
  3. 実行するとno such groupとなり,変名の確認ウィンドウが閉じれなくなり操作不能となる

Expected behavior

エラーメッセージが表示されるかなどし,Escで元の状態に戻れること

note

対象を()でくくっていないにもかかわらず\1を指定するミスを起こしたイレギュラーなケースです.
画像は古いままですが2.46でも再現したため,バージョンと再現環境を更新しました.

2016y03m14d_213328093
2016y03m14d_213336377

ファイルサーバにファイルをMoveしようとするとエラー #MacPort

ファイルサーバにファイルをMoveしようとするとエラー

同一ファイルシステムだと誤認識している。

[Errno 18] Cross-device link: '/Users/xxxx/Downloads/CraftCommander_243_mac_beta1.zip' -> '/Volumes/home/software/CraftCommander_243_mac_beta1.zip’

stat で st_dev をチェックすれば、同一ファイルシステムであるか、確認できるかも。

#MacPort

LocalizedResourceNameに対応

WindowsのLocalizedResourceNameやLocalizedFileNamesが表示できるモードがあればうれしいが、extensionでは無理ですよね
自分なりに調べてみたが、LocalizedFileNameを返す関数は無さそう
自前でdesktop.iniから読み取るしか無いのか

ckitの関数に使えそうなものがあった
SHGetFileInfoWで表示まではできたが、並び順は元のファイル名になり、若干動作がもたつく

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.