view doc/format_config.awk @ 8286:6445e63bb423

feat(web) - Use native number type input for Number() and Integer(). When editing hyperdb.Number() or hyperdb.Integer() properties, use a native number input. For Number you can enter digits, +/-, . and e/E for exponent (1E2 = 100). For integer we have the same keys as number, but also add step=1 to the input. This stops submitting 23.5 suggesting 23 or 24. It does allow 2E4 to be submitted that is rejected with an error from the backend. However if the spinner is used with 2E4 it is turned into 20000, a pure integer and incremented/decremented by the spinner. The upgrade happens automatically. Directions on going back to text input provided. User guide updated to describe addition of spinner. Tests added.
author John Rouillard <rouilj@ieee.org>
date Sat, 18 Jan 2025 14:54:31 -0500
parents c3bf229d3d4b
children 20943bf4f1b7
line wrap: on
line source

#! /bin/awk
BEGIN {SECRET_KEY = "DWmbKgVUy6fF5D2Y5TD5Az+dnHhMYKCCpJzIY3H8nsU="}

# delete first 8 lines
NR < 9 {next}

# To prevent new file generation from causing the secret_key to
# change, we replace the secret key with a fixed value.
/^# Default: [0-9A-z+=]{44}/ {sub(/[0-9A-z+=]{44}/, SECRET_KEY)}
/^secret_key = [0-9A-z+=]{44}/ {sub(/[0-9A-z+=]{44}/, SECRET_KEY)}

# When we see a section [label]:
#  emit section index marker,
#  emit section anchor
#  set up for code formating
#  emit any comments/blank line that are accumulated before the
#     section marker
#  print the indented section marker
#
# zero the accumulator and the variable that prevents large blocks
#   of empty lines.
/^\[([a-z]*)\]/ { match($0, /^\[([a-z]*)\].*/, section_match);
                  section = section_match[1];
                  print("\n\n.. index:: config.ini; sections " section);
                  print(".. _`config-ini-section-" section "`:");
                  print(".. code:: ini\n");
		  if (accumulate) {
		      print("  " accumulate "\n");
		  }
		  print("  " $0);
		  accumulate = "";
		  prev_line_is_blank = 0;
	        }

# if the line is a setting line (even if commented out)
#  print the accumulated comments/blank lines and the setting line
#  zero the accumulator and the variable that prevents blocks of blank lines
# get the next input line
/^#?[a-z0-9_-]* =/ { print accumulate "\n  " $0;
                     accumulate = "";
		     prev_line_is_blank = 0;
		     next;
                   }

# accumulate comment lines and indent them
/^#/ { accumulate = accumulate "\n  " $0; prev_line_is_blank =  0;}

# accumulate a blank line only if the previous line was not blank.
/^$/ { if (! prev_line_is_blank) {accumulate = accumulate $0};
       prev_line_is_blank = 1;
     }


Roundup Issue Tracker: http://roundup-tracker.org/