Hi all !

I need some help and invoke a java king

Afficher l'image d'origine

The command chatBot.writeAIML() from programAB broke UTF8 aiml files. because the new file encode format change to ANSI and must be UTF8

The command chatBot.writeAIMLIF() create a .csv as ANSI format too

Thank you for help if you can change this format it will be so great !

calamity

7 years 10 months ago

Hi moz4r

those function are in the programAB library, not on the MRL code that wrap that library.

Do you need those method?

writeAIML just rewrite the AIML files.

I had some problem with AIMLIF files,but if I delete all the files in the aimlif folder after I edit a aiml file and all work nicely

Hi !! Yes like you I delete those files. writeAIML is usefull about Learn Tag if I remember my previous test. personaly I don't use it but a homemade learning storage . maybe others want to use this official tag.

I will disable it into the french base bot. If one day we want use learn tag, is mod of programAB library  possible ?

Hi moz4r,  

  I think I have a fix for it in programab 

https://github.com/kwatters/program-ab/commit/25f9ea3b3dbe49cd13d7b9d74…

but i think i could use some help to test it .. what are you using the writeAIML for ?  Do you have new categories that are getting learned that you are saving out?  

Do you have some example AIML / test case that we could work up.  I maintain a JUnit test for ProgramAB to make sure if we fix things like this that they stay fixed.  So,  I'd like to update it with a test case to make sure ProgramAB is utf-8 compliant.  

Reality is, there's a lot of things that I'd like to clean up in program ab, including logging.

Aynway...  if you can help with some test case that shows it broken, I can test to make sure it's fixed and I'll check in a new build of programab into the repo.

-Kevin

Hi kevin !

I think this fix is the way to do . I try to explain to you what I do :

this is a test aiml https://github.com/MyRobotLab/pyrobotlab/blob/master/home/moz4r/test/le…

I use aiml learn tag. It worky great if I didnt restart mrl.

I I want the bot save the data learned, I must use chatBot.writeAIMLIF() . So a file null.aiml.csv is created.
The file fomat at this time is ANSI but accents seem to be parsed correctly.

Now at this time because of AIMLIF folder creation , AIML folder is not parsed anymore, it is now AIMLIF folder the reference. And if I mod an original AIML file of course it is not parsed.

So we need to use chatBot.writeAIML(), after chatbot.writeAIMLIF()

This is the problem, now AIML files have lost every UTF8 things like accents.

If it is not clear enough I can give you more informations, like screenshots

A question why an AIMLIF folder + AIML folder ? csv files are parsed more quickly ?