Class | LsCLI |
In: |
lib/davclient/dav-ls.rb
lib/davclient/dav-ls.rb |
Parent: | Object |
# File lib/davclient/dav-ls.rb, line 15 15: def self.ls(args) 16: options = read_options(args) 17: url = args[0] 18: tmp_cwurl = WebDAV.CWURL 19: if(not url)then 20: url = WebDAV.CWURL 21: if(not url)then 22: puts "#{$0} ls: no current working url" 23: puts "Usage: Use '#{$0} cd [url|dir] to set current working url" 24: exit 25: end 26: else 27: WebDAV.cd(url) # TODO Hva er denne til?. Crasher 'dav-ls filnavn.html'! 28: end 29: 30: url = WebDAV.CWURL 31: names = [] 32: items_data = { } 33: 34: WebDAV.find(url, :recursive => false ) do |item| 35: if(options[:showUrl])then 36: puts item.href 37: 38: elsif(options[:longFormat]) 39: locked = item.search("d:lockdiscovery").search("d:owner").inner_text 40: items_data.merge!(item.basename => [item.href, 41: locked, 42: item.getlastmodified, 43: item.getcontentlength]) 44: 45: else 46: # Collect all names in a folder and show them with multiple columns 47: 48: name = item.basename 49: if(item.isCollection?) 50: path = item.href.sub(/#{name}\/$/,"") 51: else 52: path = item.href.sub(/#{name}$/,"") 53: end 54: 55: name += "/" if item.isCollection? 56: 57: # puts name.ljust(35) + path 58: names << name 59: end 60: end 61: 62: if(options[:oneColumn]) 63: puts names.sort.join("\n") 64: 65: elsif(options[:longFormat]) 66: max_key_size = max_string_size(items_data.keys) 67: items_data.keys.sort.each do |key| 68: locked = "" 69: locked = "Locked by: " + items_data[key][1] if(items_data[key][1] != "") 70: puts key.ljust(max_key_size) + " " + items_data[key][2] + 71: " " + items_data[key][3].rjust(12) + 72: " " + locked 73: end 74: 75: else 76: multicolumn_print(names.sort) 77: end 78: 79: # Restore CWURL 80: WebDAV.cd(tmp_cwurl) 81: end
# File lib/davclient/dav-ls.rb, line 15 15: def self.ls(args) 16: options = read_options(args) 17: url = args[0] 18: tmp_cwurl = WebDAV.CWURL 19: if(not url)then 20: url = WebDAV.CWURL 21: if(not url)then 22: puts "#{$0} ls: no current working url" 23: puts "Usage: Use '#{$0} cd [url|dir] to set current working url" 24: exit 25: end 26: else 27: WebDAV.cd(url) # TODO Hva er denne til?. Crasher 'dav-ls filnavn.html'! 28: end 29: 30: url = WebDAV.CWURL 31: names = [] 32: items_data = { } 33: 34: WebDAV.find(url, :recursive => false ) do |item| 35: if(options[:showUrl])then 36: puts item.href 37: 38: elsif(options[:longFormat]) 39: locked = item.search("d:lockdiscovery").search("d:owner").inner_text 40: items_data.merge!(item.basename => [item.href, 41: locked, 42: item.getlastmodified, 43: item.getcontentlength]) 44: 45: else 46: # Collect all names in a folder and show them with multiple columns 47: 48: name = item.basename 49: if(item.isCollection?) 50: path = item.href.sub(/#{name}\/$/,"") 51: else 52: path = item.href.sub(/#{name}$/,"") 53: end 54: 55: name += "/" if item.isCollection? 56: 57: # puts name.ljust(35) + path 58: names << name 59: end 60: end 61: 62: if(options[:oneColumn]) 63: puts names.sort.join("\n") 64: 65: elsif(options[:longFormat]) 66: max_key_size = max_string_size(items_data.keys) 67: items_data.keys.sort.each do |key| 68: locked = "" 69: locked = "Locked by: " + items_data[key][1] if(items_data[key][1] != "") 70: puts key.ljust(max_key_size) + " " + items_data[key][2] + 71: " " + items_data[key][3].rjust(12) + 72: " " + locked 73: end 74: 75: else 76: multicolumn_print(names.sort) 77: end 78: 79: # Restore CWURL 80: WebDAV.cd(tmp_cwurl) 81: end