Sha256: a0b1fbcb678544591b5309c2387a396845a50307c0559485e0558c05f9a81d2f

Contents?: true

Size: 1.48 KB

Versions: 3

Compression:

Stored size: 1.48 KB

Contents

#!/usr/bin/env ruby
# Author Eric Monti (emonti at matasano)
#
# urldec converts a url-encoded string back to its raw form.
# (url encoding is really just fancy hex encoding)
#
# Usage: urldec [options] <data | blank for stdin>
#     -h, --help                       Show this message
#     -v, --version                    Show version and exit
#     -f, --file FILENAME              Input from FILENAME
#     -p, --[no-]plus                  Convert '+' to space (default is true)
#

require 'rbkb'
require 'rbkb/command_line'

include RBkB::CommandLine

#-------------------------------------------------------------------------------
# Init options and arg parsing
OPTS = {}
arg = bkb_stdargs(nil, OPTS)

arg.banner += " <data | blank for stdin>"

arg = bkb_inputargs(arg, OPTS)

arg.on("-p", "--[no-]plus", "Convert '+' to space (default is true)") do |p|
  OPTS[:noplus] = (not p)
end


#------------------------------------------------------------------------------
# Add local options here

#------------------------------------------------------------------------------
# Parse arguments
arg.parse!(ARGV) rescue bail "Error: #{$!}\n#{arg}"

# default string arg
if OPTS[:indat].nil? and a=ARGV.shift
	OPTS[:indat] = a
end

# catchall
if ARGV.length != 0 
    bail "Error: bad arguments - #{ARGV.join(' ')}\n#{arg}"
end

OPTS[:indat] ||= STDIN.read()

#------------------------------------------------------------------------------
# Do stuff

STDOUT.write(OPTS[:indat].urldec(:noplus => OPTS[:noplus]))

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
emonti-rbkb-0.6.1.1 bin/urldec
emonti-rbkb-0.6.1.2 bin/urldec
emonti-rbkb-0.6.1.3 bin/urldec