>> 古い記事: (solved) Ruby/Tk / Ubuntu 9.04: TkPackage can't find package img::png
<< 新しい記事: Emacs: shell-mode で日本語が文字化けする場合の対処法

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

zipruby: zipファイルのルートがディレクトリのみかどうか調べる

展開したときに、ポンとディレクトリが 1つだけ出てくるか、 それとも複数のファイルがばらっと出てくるか判別する。

require "zipruby"

def filelist_in_zip(zip_path)
  result = []
  Zip::Archive.open(zip_path) do |ar|
    n = ar.num_files
    
    n.times do |i|
      result << ar.get_name(i)
    end
  end

  result
end

def zip_root_dir(zip_path)
  entries = filelist_in_zip(zip_path).map do |path|
    path.sub(/^(.+?)\/.*$/, '\1')
  end
  
  !(entries.size != 1) && entries.all?{ |x| entries.first == x }
end

>> 古い記事: (solved) Ruby/Tk / Ubuntu 9.04: TkPackage can't find package img::png
<< 新しい記事: Emacs: shell-mode で日本語が文字化けする場合の対処法
** ホームに戻る

コメント

コメントの投稿

管理者にだけ表示を許可する

|
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。