User talk:HippoKing/script

From Kolmafia
Jump to navigation Jump to search

This is the perl script I used to generate the page, in case it needs updating.

Note that this needs to share a folder with the defaults.txt file from kolmafia, and you have to change the revision number manually. It was intended to be used, not to be published, so it works but it's not pretty in the slightest.

Output overwrites wiki.txt.

#!perl
use strict;
use warnings;

my $revision = 7582;

open INFILE, '< defaults.txt' or die $!;
open OUTFILE, '> wiki.txt' or die $!;

my @global;
my @user;

while(<INFILE>) {
	chomp;
	my @line = split /\t/;
	if (exists($line[0])) {
		if ($line[0] eq "global") {
			shift @line;
			push @global,\@line;
		}
		if ($line[0] eq "user") {
			shift @line;
			push @user,\@line;
		}
	}
}

print OUTFILE ("This is a list of all the Property variables included in KoLmafia. It was automatically generated from r",$revision);
# global variables

print OUTFILE (
	"\n==Global Variables==\n",
	'{| class="wikitable" border="1"',
	"\n|-\n!  Variable Name\n!  Default Value\n!  Notes\n");

foreach my $line (@global) {
	print OUTFILE ('|-',"\n");
	
	for (my $i = 0; $i<3;$i++) {
		if (defined(@$line[$i])) {
			print OUTFILE ('|  ',@$line[$i],"\n");
		}
		else {
			print OUTFILE ('|  ',"\n");
		}
	}
	
}

print OUTFILE ('|}',"\n");

# user Variables

print OUTFILE (
	"\n==Per-Account Variables==\n",
	'{| class="wikitable" border="1"',
	"\n|-\n!  Variable Name\n!  Default Value\n!  Notes\n");

foreach my $line (@user) {
	print OUTFILE ('|-',"\n");
	
	for (my $i = 0; $i<3;$i++) {
		if (defined(@$line[$i])) {
			print OUTFILE ('|  ',@$line[$i],"\n");
		}
		else {
			print OUTFILE ('|  ',"\n");
		}
	}
	
}

print OUTFILE ('|}',"\n");