Changeset 2671

Show
Ignore:
Timestamp:
02/11/06 22:25:37 (18 years ago)
Author:
jerome
Message:

Now pkbcodes displays percent done for all actions.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/bin/pkbcodes

    r2658 r2671  
    9090             
    9191        if options["delete"] :     
    92             self.display("%s...\n" % _("Processing")) 
     92            self.display("%s...\n" % _("Deletion")) 
    9393            todelete = self.storage.getMatchingBillingCodes(",".join(names)) 
    9494            nbtotal = len(todelete) 
     
    9797                percent = 100.0 * float(i) / float(nbtotal) 
    9898                self.display("\r%.02f%%" % percent) 
    99             self.display("\r100.00%%\r        ") 
    100             self.display("\r%s\n" % _("Done.")) 
    10199        else : 
    102             if (options["list"] or options["reset"]) and not names : 
    103                 names = ["*"] 
    104                  
    105100            if options["add"] :     
     101                self.display("%s...\n" % _("Creation")) 
    106102                billingcodes = [] 
    107                 for bname in names : 
     103                nbtotal = len(names) 
     104                for i in range(nbtotal) : 
     105                    bname = names[i] 
    108106                    billingcode = self.storage.getBillingCode(bname) 
    109107                    if billingcode.Exists : 
     
    119117                        else :      
    120118                            billingcodes.append(billingcode) 
     119                    percent = 100.0 * float(i) / float(nbtotal) 
     120                    self.display("\r%.02f%%" % percent) 
     121                self.display("\r100.00%%\r        \r%s\n" % _("Done.")) 
    121122            else :         
     123                if not names : 
     124                    names = ["*"] 
    122125                billingcodes = self.storage.getMatchingBillingCodes(",".join(names)) 
    123126                if not billingcodes : 
    124127                    raise PyKotaCommandLineError, _("There's no billingcode matching %s") % " ".join(names) 
    125128                         
    126             for billingcode in billingcodes :         
     129            nbtotal = len(billingcodes)             
     130            if not options["list"] : 
     131                self.display("Modification...\n") 
     132            for i in range(nbtotal) :         
     133                billingcode = billingcodes[i] 
    127134                if options["list"] :     
    128135                    print "%s [%s] %s %s %s %.2f %s" % \ 
     
    138145                    if options["description"] is not None : 
    139146                        billingcode.setDescription(options["description"].strip()) 
     147                    percent = 100.0 * float(i) / float(nbtotal) 
     148                    self.display("\r%.02f%%" % percent) 
     149                         
     150        if not options["list"] :                 
     151            self.display("\r100.00%%\r        \r%s\n" % _("Done.")) 
    140152                      
    141153if __name__ == "__main__" :