         <pre>{@props.contents}</pre>
 
 
-Archive = rclass
+Archive = (name) -> rclass
+    reduxProps:
+        "#{name}" :
+            contents       : rtypes.string
+            info           : rtypes.string
+            type           : rtypes.string
+            loading        : rtypes.bool
+            command        : rtypes.string
+            error          : rtypes.any
+            extract_output : rtypes.string
+
     propTypes:
-        path : rtypes.string
-        actions: rtypes.object
+        path       : rtypes.string
+        actions    : rtypes.object
+        project_id : rtypes.string
 
     title : ->
         <tt><Icon name="file-zip-o" /> {@props.path}</tt>

            command : 'xz'
            args    : ['-vfd']

flux_name = (project_id, path) ->
    return "editor-#{project_id}-#{path}"

class ArchiveActions extends Actions
    _set_to: (payload) =>
        payload

    parse_file_type : (file_info) ->
        if file_info.indexOf('Zip archive data') != -1
            return 'zip'


        ], (err, info, type, contents) =>
            if not err
                @setState
                    error    : err
                    info     : info.stdout
                    contents : contents.stdout
                    type     : type
        )

    extract_archive_files : (project_id, path, type, contents) ->
