Index: /pykota/trunk/TODO
===================================================================
--- /pykota/trunk/TODO (revision 2452)
+++ /pykota/trunk/TODO (revision 2454)
@@ -49,6 +49,4 @@
           better integrate PyKota with these.
           
-        - Allow soft and hard limits to be increased/decreased.
-        
         - Add most configuration directives to the database itself,
           while still allowing to overwrite them with the configuration
Index: /pykota/trunk/bin/edpykota
===================================================================
--- /pykota/trunk/bin/edpykota (revision 2452)
+++ /pykota/trunk/bin/edpykota (revision 2454)
@@ -139,4 +139,8 @@
   
   -H | --hardlimit hl  Sets the quota hard limit to hl pages.
+  
+  -I | --increase v    Increase both Soft and Hard limits by the value
+                       of v. You can prefix v with + or -, if no sign is
+                       used, + is assumed.
 
   -U | --used usage    Sets the pagecounters for the user to usage pages;
@@ -270,4 +274,11 @@
             except ValueError :
                 raise PyKotaToolError, _("Invalid used value %s.") % used
+                
+        increase = options["increase"]
+        if increase :
+            try :
+                increase = int(increase.strip())
+            except ValueError :
+                raise PyKotaToolError, _("Invalid increase value %s.") % increase
 
         if not options["noquota"] :
@@ -275,4 +286,6 @@
                 try :
                     softlimit = int(options["softlimit"].strip())
+                    if softlimit < 0 :
+                        raise ValueError
                 except ValueError :    
                     raise PyKotaToolError, _("Invalid softlimit value %s.") % options["softlimit"]
@@ -280,4 +293,6 @@
                 try :
                     hardlimit = int(options["hardlimit"].strip())
+                    if hardlimit < 0 :
+                        raise ValueError
                 except ValueError :    
                     raise PyKotaToolError, _("Invalid hardlimit value %s.") % options["hardlimit"]
@@ -466,6 +481,18 @@
                     self.printInfo(_("Quota not found for object %s on printer %s.") % (entry.Name, printer.Name))
                 else :    
-                    if options["noquota"] or options["prototype"] or ((softlimit is not None) and (hardlimit is not None)) :
+                    if options["noquota"] or options["prototype"] \
+                       or ((softlimit is not None) and (hardlimit is not None)) :
                         entrypquota.setLimits(softlimit, hardlimit)
+                    if increase :
+                       if (entrypquota.SoftLimit is None) \
+                           or (entrypquota.HardLimit is None) :
+                           self.printInfo(_("You can't increase limits by %s when no limit is set.") % increase, "error")
+                       else :
+                           newsoft = entrypquota.SoftLimit + increase         
+                           newhard = entrypquota.HardLimit + increase         
+                           if (newsoft >= 0) and (newhard >= 0) :
+                               entrypquota.setLimits(newsoft, newhard)
+                           else :    
+                               self.printInfo(_("You can't set negative limits."), "error")
                     if limitby :
                         if changed[entry.Name].get("limitby") is None :
@@ -527,5 +554,5 @@
                      "comment" : "", \
                    }
-        short_options = "vhdo:c:C:l:b:i:naugrp:P:S:H:G:RU:"
+        short_options = "vhdo:c:C:l:b:i:naugrp:P:S:H:G:RU:I:"
         long_options = ["help", "version", "comment=", \
                         "overcharge=", "charge=", "delete", "limitby=", \
@@ -533,5 +560,5 @@
                         "groups", "reset", "hardreset", "prototype=", \
                         "printer=", "softlimit=", "hardlimit=", "pgroups=", \
-                        "used="]
+                        "increase=", "used="]
         
         # Initializes the command line tool
@@ -564,4 +591,5 @@
         options["overcharge"] = options["o"] or options["overcharge"]
         options["comment"] = options["C"] or options["comment"] or defaults["comment"]
+        options["increase"] = options["I"] or options["increase"]
         
         if options["help"] :
Index: /pykota/trunk/man/edpykota.1
===================================================================
--- /pykota/trunk/man/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/sv_SE/edpykota.1
===================================================================
--- /pykota/trunk/man/sv_SE/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/sv_SE/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/pt/edpykota.1
===================================================================
--- /pykota/trunk/man/pt/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/pt/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/tr/edpykota.1
===================================================================
--- /pykota/trunk/man/tr/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/tr/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/el_GR/edpykota.1
===================================================================
--- /pykota/trunk/man/el_GR/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/el_GR/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/de/edpykota.1
===================================================================
--- /pykota/trunk/man/de/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/de/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/nb_NO/edpykota.1
===================================================================
--- /pykota/trunk/man/nb_NO/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/nb_NO/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/zh_TW/edpykota.1
===================================================================
--- /pykota/trunk/man/zh_TW/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/zh_TW/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/pt_BR/edpykota.1
===================================================================
--- /pykota/trunk/man/pt_BR/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/pt_BR/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/fr/edpykota.1
===================================================================
--- /pykota/trunk/man/fr/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/fr/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/es/edpykota.1
===================================================================
--- /pykota/trunk/man/es/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/es/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/th/edpykota.1
===================================================================
--- /pykota/trunk/man/th/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/th/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/man/it/edpykota.1
===================================================================
--- /pykota/trunk/man/it/edpykota.1 (revision 2453)
+++ /pykota/trunk/man/it/edpykota.1 (revision 2454)
@@ -131,4 +131,9 @@
 Sets the quota hard limit to hl pages.
 .TP
+\fB\-I\fR | \fB\-\-increase\fR v
+Increase both Soft and Hard limits by the value
+of v. You can prefix v with + or \-, if no sign is
+used, + is assumed.
+.TP
 \fB\-U\fR | \fB\-\-used\fR usage
 Sets the pagecounters for the user to usage pages;
Index: /pykota/trunk/NEWS
===================================================================
--- /pykota/trunk/NEWS (revision 2452)
+++ /pykota/trunk/NEWS (revision 2454)
@@ -40,4 +40,7 @@
           group or groups (separated with commas).
           
+        - The -I | --increase command line switch to edpykota allows
+          to increase or decrease page limits.
+          
     - 1.23alpha29 :
     
