[Kmymoney-devel] KMyMoney - CSV Importer

Cristian Oneţ onet.cristian at gmail.com
Fri Jun 25 09:34:30 CEST 2010


On Fri, Jun 25, 2010 at 2:21 AM, allan <aganderson at ukonline.co.uk> wrote:
[snip]

> You guys are light-years ahead of me, and I'm totally aware of the need
> for a more expert involvement - at the moment I'm just glad I got it all
> to work.  Now that Kmm has more or less completed the transition to
> KDE4, the need for the stand-alone version to produce QIF files
> diminishes, and with some expectation of the acceptance of the plugin
> version, that need diminishes further.  So, I'm happy to keep the
> stand-alone version out of the game, at least unless someone finds a
> need for it.
>
>> In order for that to happen the code needs a lot of cleanup. I would mention
>> here the following:
>> - generated ui files are not part of the source code
>
> Yep, understand that - they'll get produced at the user end.
>
>> - the #ifdefs for plugin/exec compilation have to go I think
>
> I was quite pleased I got those to work!  But, from the above, they can
> now be dropped.
>
>> - the stdlib includes that are not really used have to go
>> - include files cleanup (see the techbase article on include files)
>> - the way the plugin keep it settings now it's pretty bad (
>> KSharedConfig::openConfig("/home/aga/.kde4/share/config/csvimporterrc");) this
>> has to be done the proper way
>
> That was a stupidity.  It was meant to be temporary, and got overlooked.
>
>> - there are too many global variables/file which make the code hard to
>> understand
>>
>> I already done some of the needed cleanup and propose the following: if I get
>> you go ahead (as the author of the plugin) after a bit of cleanup I'll commit
>> the code and we can work together from there to maintain it and to improve it.
>
> Yes, absolutely.
>
>> That will make it harder to build the csv importer as a standalone
>> application. If you would like to keep it as a standalone application also
>> then I would suggest that you keep maintaining the plugin (as it is a plugin
>> you can provide a separate package for it).
>>
>
> As above, no real need for the standalone now.
>
>> I would also need some short info about the main components:
>> - csvimporter
>> - csvimporterdlg
>> - investmentdlg
>> - redefinedlg
>> What is the purpose of them and why do they depend on each other?
>
> From my 20 June email,
> "  I'm attaching a file containing the following:-
>
> 1)      A complete directory - cvsimporter - to go in the plugins directory.
>  It contains:-
> 1a)     convdatelib     - library to convert various date formats to QDate()
> format.
> 1b)     plugin          - csvimporterdlg for bank statements.
>                                - investmentdlg for investment statements.
>                                - redefinedlg to edit/change unrecognised investment activity types.
> 1c)     tester          - some unit tests.
>
> 2)      A patch file:
> 2a)     patch to kmymoney/kmymoney/CMakeLists.txt to add convdate library
> for tester.
> 2b)     patch to plugins/CMakeLists.txt to add csvimporter directory.
>
> 3)      README file with some instructions on use.
>
> 4)      Some sample files for testing."

Sorry I forgot about the description in your previous mail.

> When import from csv is selected, csvimporterdlg gets called.  From
> this, the user may select to import a bank statement.  Alternatively, if
> the user wishes to import an investment statement, from the
> csvimporterdlg ui,  investmentdlg gets called.  Because of the absence
> of any standard for csv importing, the activity type within an
> investment file is at the discretion, or otherwise, of the producer of
> the file.  Even from the few I've seen, these may be unrecognised or
> just plain wrong.  So redefinedlg gets called from csvimporterdlg, for
> checking of validity and for redefing erroneous activity types.
>
> If you want further info., I'm ready and waiting.
>
> I mentioned this afternoon that the unit testing had been overtaken by
> events since I sent it to you, it being CPPUNIT based.  I now have the
> QTest version working in isolation, and will the integrate it into the
> plugin version and let you have that as soon as poss.

Then, after I clean up the plugin code, I'll commit it to SVN. I'm not
sure how will we handle the unit tests though since the tests have to
be standalone in the plugin (not built with the kmymoney tests) but I
think QTest can handle that.

Regards,
Cristian


More information about the KMyMoney-devel mailing list