diff options
Diffstat (limited to 'oop2eindopdr/ZipExport.cpp')
-rw-r--r-- | oop2eindopdr/ZipExport.cpp | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/oop2eindopdr/ZipExport.cpp b/oop2eindopdr/ZipExport.cpp index 3e91256..ae4f6bb 100644 --- a/oop2eindopdr/ZipExport.cpp +++ b/oop2eindopdr/ZipExport.cpp @@ -1,6 +1,7 @@ #include <csv2/reader.hpp> #include <fstream> #include <iostream> +#include <vector> #include <zip.h> #include "ZipExport.h" @@ -10,36 +11,21 @@ ZipExport::ZipExport() { } ZipExport::~ZipExport() { } -ZipExport::ZipExport(Pokedex* pokedex, std::string input_csv, std::string output_zip) { - set_pokedex(pokedex); - import_csv(input_csv); - export_zip(output_zip); -} - void ZipExport::set_pokedex(Pokedex* pokedex) { this->pokedex = pokedex; } -void ZipExport::export_zip(std::string filename) { +void ZipExport::export_zip(std::string filename, std::vector<PokemonCard*> cards) { this->zip_path = filename; std::vector<zip_source*> zip_srcs; zip_t* zip = zip_open(this->zip_path.c_str(), ZIP_CREATE | ZIP_EXCL, nullptr); std::string csv_content = "id,value\n"; - double total_value = 0.f; - - for (std::string card_id : this->id_list) { - PokemonCard* card = this->pokedex->get_card_by_id(card_id); - if (card == nullptr) { - csv_content.append(card->id + "," + "???" + "\n"); - continue; - } - card->fetch_market_value(); + for (PokemonCard* card : cards) { char* value_str; asprintf(&value_str, "%.2f", card->value); - total_value += card->value; csv_content.append(card->id + "," + std::string(value_str) + "\n"); free(value_str); @@ -52,13 +38,9 @@ void ZipExport::export_zip(std::string filename) { zip_file_add(zip, "cards.csv", csv_file, 0); zip_close(zip); - - char* total_value_str; - asprintf(&total_value_str, "%.2f", total_value); - std::cout << "sum of market value of cards: " << std::string(total_value_str) << std::endl; } -void ZipExport::import_csv(std::string filename) { +std::vector<std::string> ZipExport::import_csv(std::string filename) { this->csv_path = filename; csv2::Reader<csv2::delimiter<','>, @@ -78,5 +60,7 @@ void ZipExport::import_csv(std::string filename) { std::cout << "parsing csv failed!" << std::endl; exit(EXIT_FAILURE); } + + return this->id_list; } |