commit 329753ae5c8f553ed035ab50eae4a272c6767f21
Author: Stavros Sachtouris <saxtouri@admin.grnet.gr>
Date:   Wed Nov 21 12:39:52 2012 +0200

    Update docs, fix bug when progress not installed

diff --git a/docs/conf.py b/docs/conf.py
index e81bc72..94d8b2e 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -51,7 +51,7 @@ copyright = u'2012, GRNet'
 # The short X.Y version.
 version = '0.6'
 # The full version, including alpha/beta/rc tags.
-release = '0.6~rc1'
+release = '0.6.1'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff --git a/docs/connection.rst b/docs/connection.rst
index ca18134..1524150 100644
--- a/docs/connection.rst
+++ b/docs/connection.rst
@@ -3,9 +3,9 @@ Connection
 
 An http connection package with connection pooling.
 
-In version 0.6 and on it is safe to use parallel connections with greenlets.
+In version 0.6 and on it is safe to use threaded connections.
 
-It uses httplib and GRNet Synnefo snf-common packages. All pooling parameters are configures in the external snf-common package.
+It uses httplib and GRNet Synnefo snf-common packages. Pooling parameters are configures in the external snf-common package.
 
 .. automodule:: kamaki.clients.connection
     :members:
diff --git a/docs/man/kamaki.rst b/docs/man/kamaki.rst
index 184c055..f9ffa69 100644
--- a/docs/man/kamaki.rst
+++ b/docs/man/kamaki.rst
@@ -81,8 +81,9 @@ config commands
 history commands
 ****************
 
-Show command user history, as stored in ~/.kamaki.history
+Command user history, as stored in ~/.kamaki.history
 
+* all       show user history
 * clean     clean up history
 
 
@@ -105,7 +106,7 @@ server commands
 * setmeta    update server metadata
 * delmeta    delete server metadata
 * stats      get server statistics
-* wait: Wait for server to finish [BUILD, STOPPED, REBOOT, ACTIVE]
+* wait       wait for server to finish [BUILD, STOPPED, REBOOT, ACTIVE]
 
 
 flavor commands
@@ -124,6 +125,7 @@ image commands and options
 * shared      list shared images
 * delete      delete image
 * register    register an image
+* reregister  re-register an image (preserve and update properties)
 * meta        get image metadata
 * members     get image members
 * addmember   add a member to an image
diff --git a/docs/overview.rst b/docs/overview.rst
index 2174386..9d7b9e7 100644
--- a/docs/overview.rst
+++ b/docs/overview.rst
@@ -4,10 +4,7 @@ Overview
 History
 -------
 
-Here, at the
-`Greek Research and Technology Network `_,
-we have been developing an IaaS cloud management software called **synnefo**
-(or **+nefo**) that is accessed and managed via an extended OpenStack Compute API v1.1. Synnefo has been deployed in many environments to cover multiple needs. For example, the `~okeanos `_ IaaS service, running in our datacenters, is used to offer services for the Greek Research and Academic Community.
+Here, at the *Greek Research and Technology Network*, we have been developing an IaaS cloud management software called **synnefo** (or **+nefo**) that is accessed and managed via an extended OpenStack Compute API v1.1. Synnefo has been deployed in many environments to cover multiple needs. For example, the `~okeanos `_ IaaS service, running in our datacenters, is used to offer services for the Greek Research and Academic Community.
 
 From the early start, we needed a simple command-line tool to test the OpenStack API. That's why we developed *kamaki*, which proved to be powerful and intuitive enough, to be used not only for testing purposes but also as a complete Openstack Compute API v1.1 client, able to manage our cloud from the command line.
 
@@ -34,7 +31,5 @@ For any problems you may bump into while using *kamaki* or for help from the dev
 
 * synnefo@lists.grnet.gr
 
-Please be sure to have read the Documentation and check the known
-`issues `_ before contacting the
-team.
+Please be sure to have read the Documentation and check the known issues before contacting the team.
 
diff --git a/docs/setup.rst b/docs/setup.rst
index 4cfc641..20aaf48 100644
--- a/docs/setup.rst
+++ b/docs/setup.rst
@@ -20,9 +20,10 @@ Optional features
     * Can be switched on/off in kamaki configuration file: colors=on/off
     * Installation: pip install ansicolors
 
-* progressbar
-    * Attach progressbars to various kamaki commands (e.g. kamaki store upload)
+* progress 
+    * Attach progress bars to various kamaki commands (e.g. kamaki store upload)
     * Installation: pip install progressbar
+    * Since version 0.6.1 kamaki "requires" progress version 1.0.2 or better
 
 Any of the above features can be installed at any time before or after kamaki installation.
 
@@ -51,7 +52,7 @@ All kamaki commands can be used with the -o option in order to overide configura
 
 *kamaki store list -o global.account=anotheraccount -o global.token=aT0k3n==*
 
-will call *kamaki store list* with the specified options, but the initial global.account and global.token values will be restored afterwards.
+will invoke *kamaki store list* with the specified options, but the initial global.account and global.token values will be restored to initial values afterwards.
 
 Editing options
 ^^^^^^^^^^^^^^^
@@ -67,7 +68,7 @@ Kamaki config command allows users to see and manage all configuration options.
 * kamaki config set <group.option> <value>
     set the group.option to value
 
-*kamaki config delete <group.option>
+* kamaki config delete <group.option>
     delete a configuration option
 
 The above commands cause option values to be permanently stored in the Kamaki configuration file.
@@ -75,7 +76,7 @@ The above commands cause option values to be permanently stored in the Kamaki co
 Editing the configuration file
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-The configuration file is a simple text file that can be created by the user.d
+The configuration file is a simple text file that can be created by the user.
 
 A simple way to create the configuration file is to set a configuration option using the kamaki config command. For example:
 
@@ -94,7 +95,7 @@ two configuration options are created: *store.url* and *store.account*. These va
 Available options
 ^^^^^^^^^^^^^^^^^
 
-The [global] group is treated by kamaki as a generic group for arbitrary options, and it is used as a supergroup for vital Kamaki options like account, token, or url. For example if global.account option is set and store.account option is not set, store services will use the global.account option instead. In case of conflict, the most specific options override the global ones.
+The [global] group is treated by kamaki as a generic group for arbitrary options, and it is used as a supergroup for vital Kamaki options, namely account, token, url, cli. This feature does not work for types of configuration options. For example if global.account option is set and store.account option is not set, store services will use the global.account option instead. In case of conflict, the most specific options override the global ones.
 
 * global.colors <on|off>
     enable/disable colors in command line based uis. Requires ansicolors, otherwise it is ignored
@@ -135,4 +136,14 @@ The [global] group is treated by kamaki as a generic group for arbitrary options
     the url of the Astakos authentication service. Set to the Okeanos.grnet.gr Astakos service by default. Users should set a different value if they need to use a different service.
 
 * astakos.cli <UI command specifications for Astakos authentication service>
-    a special package that is used to load astakos-related commands to kamaki UIs. Don't touch this unless you know what you are doing.
\ No newline at end of file
+    a special package that is used to load astakos-related commands to kamaki UIs. Don't touch this unless you know what you are doing.
+
+Hidden features
+^^^^^^^^^^^^^^^
+
+Since version 0.6.1 kamaki contains a test suite for the kamaki.clients API. The test suite can be activated with the following option on the configuration file:
+
+[test]
+cli=test_cli
+
+After that, users can run "kamaki test" commands to unittest the prepackaged client APIs. Unittests are still experimental and there is a high probability of false alarms due to some of the expected values being hard-coded in the testing code.
diff --git a/kamaki/cli/argument.py b/kamaki/cli/argument.py
index 42b11fc..a5aaaf6 100644
--- a/kamaki/cli/argument.py
+++ b/kamaki/cli/argument.py
@@ -256,11 +256,12 @@ class ProgressBarArgument(FlagArgument):
     def get_generator(self, message, message_len=25):
         if self.value:
             return None
-        self.bar = IncrementalBar()
         try:
-            self.bar.message = message.ljust(message_len)
+            self.bar = IncrementalBar()
         except NameError:
-            pass
+            self.value = None
+            return self.value
+        self.bar.message = message.ljust(message_len)
         self.bar.suffix = '%(percent)d%% - %(eta)ds'
 
         def progress_gen(n):
diff --git a/setup.py b/setup.py
index b7a9ef5..b4bfc79 100755
--- a/setup.py
+++ b/setup.py
@@ -39,7 +39,7 @@ from sys import version_info
 import kamaki
 
 
-optional = ['ansicolors', 'progress']
+optional = ['ansicolors', 'progress>=1.0.2']
 required = ['snf-common>=0.10']
 
 setup(
