+
+if not module.parent?
+    DEBUG = (arg...) ->
+      arg.unshift('====> ')
+      console.log arg...
+else
+    DEBUG = () ->
+
+util = require('util') # node
+assert = require('assert')
+path = require('path')
+_ = require('underscore')
+_.str = require('underscore.string')
+
+adir = './'
+adir = '../node_modules/argparse/lib/'
+
+# Constants
+$$ = require(adir+'const');
+
+
 # ==============
 # Action classes
 # ==============
 
-class Action(_AttributeHolder):
-    """Information about how to convert command line strings to Python objects.
+class Action
+    # py uses an _AttributeHolder to provide a format
+    ###Information about how to convert command line strings to Python objects.
 
     Action objects are used by an ArgumentParser to represent the information
     needed to parse a single argument from one or more strings from the

            help=help,
            metavar=metavar)

    def __call__(self, parser, namespace, values, option_string=None):
        items = _copy.copy(_ensure_value(namespace, self.dest, []))
        items.append(self.const)
        setattr(namespace, self.dest, items)


class _CountAction(Action):

    def __init__(self,
                 option_strings,
                 dest,
                 default=None,

            default=default,
            nargs=0,
            help=help)
        @version = version

    __call__: (parser, namespace, values, option_string=null) ->
        version = @version
        if version is None:
            version = parser.version
        formatter = parser._get_formatter()
