@@ -722,14 +722,14 @@ def str2value(self, value):
722722 "stop-words (eg. A,AND,ARE,AS,AT,BE,BUT,BY, ...)" ),
723723 (OctalNumberOption , "umask" , "0o002" ,
724724 "Defines the file creation mode mask." ),
725- (IntegerNumberOption , 'csv_field_size' , '131072' ,
725+ (IntegerNumberGeqZeroOption , 'csv_field_size' , '131072' ,
726726 "Maximum size of a csv-field during import. Roundups export\n "
727727 "format is a csv (comma separated values) variant. The csv\n "
728728 "reader has a limit on the size of individual fields\n "
729729 "starting with python 2.5. Set this to a higher value if you\n "
730730 "get the error 'Error: field larger than field limit' during\n "
731731 "import." ),
732- (IntegerNumberOption , 'password_pbkdf2_default_rounds' , '10000' ,
732+ (IntegerNumberGeqZeroOption , 'password_pbkdf2_default_rounds' , '10000' ,
733733 "Sets the default number of rounds used when encoding passwords\n "
734734 "using the PBKDF2 scheme. Set this to a higher value on faster\n "
735735 "systems which want more security.\n "
@@ -819,7 +819,7 @@ def str2value(self, value):
819819additional REST-API parameters after the roundup web url configured in
820820the tracker section. If this variable is set to 'no', the rest path has
821821no special meaning and will yield an error message.""" ),
822- (IntegerNumberOption , 'api_calls_per_interval' , "0" ,
822+ (IntegerNumberGeqZeroOption , 'api_calls_per_interval' , "0" ,
823823 "Limit API calls per api_interval_in_sec seconds to\n "
824824 "this number.\n "
825825 "Determines the burst rate and the rate that new api\n "
@@ -830,7 +830,7 @@ def str2value(self, value):
830830 "another api request. A value of 0 turns off rate\n "
831831 "limiting in the API. Tune this as needed. See rest\n "
832832 "documentation for more info.\n " ),
833- (IntegerNumberOption , 'api_interval_in_sec' , "3600" ,
833+ (IntegerNumberGeqZeroOption , 'api_interval_in_sec' , "3600" ,
834834 "Defines the interval in seconds over which an api client can\n "
835835 "make api_calls_per_interval api calls. Tune this as needed.\n " ),
836836 (CsrfSettingOption , 'csrf_enforce_token' , "yes" ,
@@ -845,7 +845,7 @@ def str2value(self, value):
845845 the post.
846846Set this to 'no' to ignore the field and accept the post.
847847 """ ),
848- (IntegerNumberOption , 'csrf_token_lifetime' , "20160" ,
848+ (IntegerNumberGeqZeroOption , 'csrf_token_lifetime' , "20160" ,
849849 """csrf_tokens have a limited lifetime. If they are not
850850used they are purged from the database after this
851851number of minutes. Default (20160) is 2 weeks.""" ),
@@ -920,7 +920,7 @@ def str2value(self, value):
920920 log if the header is invalid or missing, but accept
921921 the post.
922922Set this to 'no' to ignore the header and accept the post.""" ),
923- (IntegerNumberOption , 'csrf_header_min_count' , "1" ,
923+ (IntegerNumberGeqZeroOption , 'csrf_header_min_count' , "1" ,
924924 """Minimum number of header checks that must pass
925925to accept the request. Set to 0 to accept post
926926even if no header checks pass. Usually the Host header check
@@ -978,11 +978,11 @@ def str2value(self, value):
978978 (NullableOption , 'read_default_group' , 'roundup' ,
979979 "Name of the group to use in the MySQL defaults file (.my.cnf).\n "
980980 "Only used in MySQL connections." ),
981- (IntegerNumberOption , 'sqlite_timeout' , '30' ,
981+ (IntegerNumberGeqZeroOption , 'sqlite_timeout' , '30' ,
982982 "Number of seconds to wait when the SQLite database is locked\n "
983983 "Default: use a 30 second timeout (extraordinarily generous)\n "
984984 "Only used in SQLite connections." ),
985- (IntegerNumberOption , 'cache_size' , '100' ,
985+ (IntegerNumberGeqZeroOption , 'cache_size' , '100' ,
986986 "Size of the node cache (in elements)" ),
987987 (BooleanOption , "allow_create" , "yes" ,
988988 "Setting this option to 'no' protects the database against table creations." ),
@@ -1039,7 +1039,7 @@ def str2value(self, value):
10391039 "If username is not empty, password (below) MUST be set!" ),
10401040 (Option , "password" , NODEFAULT , "SMTP login password.\n "
10411041 "Set this if your mail host requires authenticated access." ),
1042- (IntegerNumberOption , "port" , smtplib .SMTP_PORT ,
1042+ (IntegerNumberGeqZeroOption , "port" , smtplib .SMTP_PORT ,
10431043 "Default port to send SMTP on.\n "
10441044 "Set this if your mail server runs on a different port." ),
10451045 (NullableOption , "local_hostname" , '' ,
@@ -1236,7 +1236,7 @@ def str2value(self, value):
12361236 "\" multiple\" then a separate email is sent to each\n "
12371237 "recipient. If \" single\" then a single email is sent with\n "
12381238 "each recipient as a CC address." ),
1239- (IntegerNumberOption , "max_attachment_size" , sys .maxsize ,
1239+ (IntegerNumberGeqZeroOption , "max_attachment_size" , sys .maxsize ,
12401240 "Attachments larger than the given number of bytes\n "
12411241 "won't be attached to nosy mails. They will be replaced by\n "
12421242 "a link to the tracker's download page for the file." )
0 commit comments