aboutsummaryrefslogtreecommitdiff
path: root/oop2eindopdr/ZipExport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'oop2eindopdr/ZipExport.cpp')
-rw-r--r--oop2eindopdr/ZipExport.cpp28
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;
}