Followup-For: Bug #169805 Package: megahal Version: 9.0.3-6 Tags: patch Hi, I've added a "training mode" patch, so you can quickly learn from a file with "megahal -t < my_file". This probably closes #117336 as well. -- System Information Debian Release: 3.0 Architecture: i386 Kernel: Linux kolvir 2.4.20-netfilter #19 Wed Feb 19 23:53:18 CET 2003 i686 Locale: LANG=C, LC_CTYPE=fr_FR@euro Versions of packages megahal depends on: ii libc6 2.3.1-11 GNU C Library: Shared libraries an
diff -u -r megahal-9.0.3/docs/megahal.1 patched-megahal/docs/megahal.1
--- megahal-9.0.3/docs/megahal.1 2003-04-29 18:56:37.000000000 +0000
+++ patched-megahal/docs/megahal.1 2003-04-29 19:31:34.000000000 +0000
@@ -27,6 +27,15 @@
Supress the startup banner. This is a debian-specific
modification, and is useful mainly if you want to interface megahal to
another program.
+.IP "-t"
+Training mode. Don't waste time trying to formulate a reply to what
+the user types in, only learn from it. Useful for quick learning with
+something like:
+
+.B megahal -t < my_file
+
+(don't forget the trailing #quit command!)
+
.SH "SEE ALSO"
/usr/share/doc/megahal/README.TXT.gz
.SH AUTHOR
diff -u -r megahal-9.0.3/main.c patched-megahal/main.c
--- megahal-9.0.3/main.c 2003-04-29 18:56:37.000000000 +0000
+++ patched-megahal/main.c 2003-04-29 19:06:44.000000000 +0000
@@ -68,7 +68,7 @@
int c, fd, option_index = 0;
while(1) {
- if((c = getopt_long(argc, argv, "hpwb", long_options,
+ if((c = getopt_long(argc, argv, "hpwbt", long_options,
&option_index)) == -1)
break;
switch(c) {
@@ -81,6 +81,9 @@
case 'b':
megahal_setnobanner();
break;
+ case 't':
+ megahal_settrainingmode();
+ break;
case 'h':
usage();
return 0;
diff -u -r megahal-9.0.3/megahal.c patched-megahal/megahal.c
--- megahal-9.0.3/megahal.c 2003-04-29 18:56:37.000000000 +0000
+++ patched-megahal/megahal.c 2003-04-29 19:09:19.000000000 +0000
@@ -224,6 +224,7 @@
static bool quiet=FALSE;
static bool nowrap=FALSE;
static bool nobanner=FALSE;
+static bool trainingmode=FALSE;
static char *errorfilename = "megahal.log";
static char *statusfilename = "megahal.txt";
@@ -381,6 +382,13 @@
nobanner = TRUE;
}
+void megahal_settrainingmode (void)
+{
+ trainingmode = TRUE;
+ megahal_setnobanner();
+ megahal_setnoprompt();
+}
+
void megahal_seterrorfile(char *filename)
{
errorfilename = filename;
@@ -455,7 +463,10 @@
make_words(input, words);
learn(model, words);
- output = generate_reply(model, words);
+ if (trainingmode == FALSE)
+ output = generate_reply(model, words);
+ else
+ output = "\n";
capitalize(output);
return output;
}
diff -u -r megahal-9.0.3/megahal.h patched-megahal/megahal.h
--- megahal-9.0.3/megahal.h 2003-04-29 18:56:37.000000000 +0000
+++ patched-megahal/megahal.h 2003-04-29 18:59:09.000000000 +0000
@@ -100,6 +100,7 @@
void megahal_setnoprompt ();
void megahal_setnowrap ();
void megahal_setnobanner ();
+void megahal_settrainingmode ();
void megahal_seterrorfile(char *filename);
void megahal_setstatusfile(char *filename);
Attachment:
pgpgKzEET_fmJ.pgp
Description: PGP signature