diff options
author | Michele Calgaro <[email protected]> | 2024-10-13 11:56:14 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2024-10-21 09:29:11 +0900 |
commit | 0c8ed6c9a4000af8f48581a81c4b5c2f5b9fd502 (patch) | |
tree | 10f9d3223f0a0904a0748a28ca44da52ee1092b7 /src/importers/kredbimporter.cpp | |
parent | 7d5ba3180a82a0827c1fbd6dc93a2abf4f882c37 (diff) | |
download | krecipes-0c8ed6c9a4000af8f48581a81c4b5c2f5b9fd502.tar.gz krecipes-0c8ed6c9a4000af8f48581a81c4b5c2f5b9fd502.zip |
Rearrange folders structure to remove unnecessary 'krecipes' second level subfolder
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'src/importers/kredbimporter.cpp')
-rw-r--r-- | src/importers/kredbimporter.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/importers/kredbimporter.cpp b/src/importers/kredbimporter.cpp new file mode 100644 index 0000000..ebb4d3c --- /dev/null +++ b/src/importers/kredbimporter.cpp @@ -0,0 +1,67 @@ +/*************************************************************************** +* Copyright (C) 2004 by * +* Jason Kivlighn ([email protected]) * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +***************************************************************************/ + +#include "kredbimporter.h" + +#include <tdeapplication.h> +#include <tdeconfig.h> +#include <kdebug.h> + +#include "datablocks/recipelist.h" +#include "datablocks/categorytree.h" +#include "backends/recipedb.h" + +KreDBImporter::KreDBImporter( const TQString &_dbType, const TQString &_host, const TQString &_user, const TQString &_pass, int _port ) : BaseImporter(), + dbType( _dbType ), + host( _host ), + user( _user ), + pass( _pass ), + port( _port ) +{} + +KreDBImporter::~KreDBImporter() +{} + +void KreDBImporter::parseFile( const TQString &file ) //this is either a database file or a database table +{ + RecipeDB * database = RecipeDB::createDatabase( dbType, host, user, pass, file, port, file ); //uses 'file' as either table or file name, depending on the database + + if ( database ) { + database->connect( false ); //don't create the database if it fails to connect + + if ( database->ok() ) { + //set the category structure + CategoryTree * tree = new CategoryTree; + database->loadCategories( tree ); + setCategoryStructure( tree ); + + #if 0 + //set unit ratios + UnitRatioList ratioList; + UnitList unitList; + database->loadUnitRatios( &ratioList ); + database->loadUnits( &unitList ); + + setUnitRatioInfo( ratioList, unitList ); + #endif + + //now load recipes + RecipeList recipes; + database->loadRecipes( &recipes, RecipeDB::All ^ RecipeDB::Properties ); + + //now add these recipes to the importer + add( recipes ); + } + else + setErrorMsg( database->err() ); + } + + delete database; +} |