From 0c8ed6c9a4000af8f48581a81c4b5c2f5b9fd502 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 13 Oct 2024 11:56:14 +0900 Subject: Rearrange folders structure to remove unnecessary 'krecipes' second level subfolder Signed-off-by: Michele Calgaro --- src/importers/kredbimporter.cpp | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/importers/kredbimporter.cpp (limited to 'src/importers/kredbimporter.cpp') 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 (jkivlighn@gmail.com) * +* * +* 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 +#include +#include + +#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; +} -- cgit v1.2.1