Index: /pykota/trunk/bin/pkprinters
===================================================================
--- /pykota/trunk/bin/pkprinters (revision 2658)
+++ /pykota/trunk/bin/pkprinters (revision 2674)
@@ -130,5 +130,5 @@
             
         if options["delete"] :    
-            self.display("%s...\n" % _("Processing"))
+            self.display("%s...\n" % _("Deletion"))
             todelete = self.storage.getMatchingPrinters(",".join(names))
             nbtotal = len(todelete)
@@ -137,9 +137,39 @@
                 percent = 100.0 * float(i) / float(nbtotal)
                 self.display("\r%.02f%%" % percent)
-            self.display("\r100.00%%\r        ")
-            self.display("\r%s\n" % _("Done."))
         else :
-            if options["list"] and not names :
-                names = ["*"]
+            if options["add"] :    
+                self.display("%s...\n" % _("Creation"))
+                printers = []
+                nbtotal = len(names)
+                for i in range(nbtotal) :
+                    pname = names[i]
+                    printer = self.storage.getPrinter(pname)
+                    if printer.Exists :
+                        if options["skipexisting"] :
+                            self.printInfo(_("Printer %s already exists, skipping.") % printer.Name)
+                        else :    
+                            self.printInfo(_("Printer %s already exists, will be modified.") % printer.Name)
+                            printers.append(printer)
+                    else :
+                        if self.isValidName(pname) :
+                            printer = self.storage.addPrinter(pname)
+                            if not printer.Exists :
+                                raise PyKotaToolError, _("Impossible to add printer %s") % pname
+                            else :    
+                                printers.append(printer)
+                        else :    
+                            raise PyKotaCommandLineError, _("Invalid printer name %s") % pname
+                    percent = 100.0 * float(i) / float(nbtotal)
+                    self.display("\r%.02f%%" % percent)
+                self.display("\r100.00%%\r        \r%s\n" % _("Done."))
+            else :        
+                if not names :
+                    names = ["*"]
+                printers = self.storage.getMatchingPrinters(",".join(names))
+                if not printers :
+                    raise PyKotaCommandLineError, _("There's no printer matching %s") % " ".join(names)
+                        
+            if not options["list"] :
+                self.display("%s...\n" % _("Modification"))
                 
             if options["groups"] :        
@@ -147,5 +177,5 @@
                 if not printersgroups :
                     raise PyKotaCommandLineError, _("There's no printer matching %s") % " ".join(options["groups"].split(','))
-                
+                    
             if options["charge"] :
                 try :
@@ -170,30 +200,7 @@
                 maxjobsize = None
                     
-                    
-            if options["add"] :    
-                printers = []
-                for pname in names :
-                    printer = self.storage.getPrinter(pname)
-                    if printer.Exists :
-                        if options["skipexisting"] :
-                            self.printInfo(_("Printer %s already exists, skipping.") % printer.Name)
-                        else :    
-                            self.printInfo(_("Printer %s already exists, will be modified.") % printer.Name)
-                            printers.append(printer)
-                    else :
-                        if self.isValidName(pname) :
-                            printer = self.storage.addPrinter(pname)
-                            if not printer.Exists :
-                                raise PyKotaToolError, _("Impossible to add printer %s") % pname
-                            else :    
-                                printers.append(printer)
-                        else :    
-                            raise PyKotaCommandLineError, _("Invalid printer name %s") % pname
-            else :        
-                printers = self.storage.getMatchingPrinters(",".join(names))
-                if not printers :
-                    raise PyKotaCommandLineError, _("There's no printer matching %s") % " ".join(names)
-                        
-            for printer in printers :        
+            nbtotal = len(printers)
+            for i in range(nbtotal) :        
+                printer = printers[i]
                 if options["list"] :    
                     parents = ", ".join([p.Name for p in self.storage.getParentPrinters(printer)])
@@ -224,4 +231,9 @@
                             else :
                                 pgroup.addPrinterToGroup(printer)    
+                    percent = 100.0 * float(i) / float(nbtotal)
+                    self.display("\r%.02f%%" % percent)
+                                
+        if not options["list"] :                
+            self.display("\r100.00%%\r        \r%s\n" % _("Done."))
                      
 if __name__ == "__main__" : 
