summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/deck_convert.adb41
1 files changed, 38 insertions, 3 deletions
diff --git a/src/deck_convert.adb b/src/deck_convert.adb
index 3d8d953..3b15a2f 100644
--- a/src/deck_convert.adb
+++ b/src/deck_convert.adb
@@ -91,7 +91,7 @@ begin
GCom.Define_Switch
(Config => Config, Output => Format_Arg'Access,
Switch => "-t:", Long_Switch => "--type=",
- Help => "format of output data, valid options are CSV or FMD");
+ Help => "format of output data, valid options are CSV or FMD, default is FMD");
GCom.Define_Switch
(Config => Config, Output => Input_Arg'Access,
@@ -109,7 +109,7 @@ begin
Usage => "[switches]",
Help =>
"Utility to convert Anki flashcard decks to Fresh Memory dictionaries." & Latin.LF &
- "At minimum the type, input, and output options are required." & Latin.LF);
+ "At minimum input and output options are required." & Latin.LF);
begin
@@ -127,7 +127,7 @@ begin
if Format_Arg.all = "" then
if Verbose then
Put_Line (Standard_Error, "WARNING: No output deck format selected. " &
- "Proceeding with FMD as default.");
+ "Proceeding with FMD as default." & Latin.LF);
end if;
Deck_Format := +"fmd";
else
@@ -176,20 +176,55 @@ begin
-- Program functionality proper starts here
+ if Verbose then
+ Put (Standard_Error, "Opening input deck database...");
+ end if;
Deck_IO.Open_Database (-Input_Name, Deck);
+ if Verbose then
+ Put_Line (Standard_Error, " Done");
+ Put (Standard_Error, "Querying models...");
+ end if;
Deck_IO.Query_Models (Deck, Models);
+ if Verbose then
+ Put_Line (Standard_Error, " Done");
+ Put (Standard_Error, "Querying notes...");
+ end if;
Deck_IO.Query_Notes (Deck, Notes);
+ if Verbose then
+ Put_Line (Standard_Error, " Done");
+ Put (Standard_Error, "Closing database...");
+ end if;
Deck_IO.Close_Database (Deck);
+ if Verbose then
+ Put_Line (Standard_Error, " Done");
+ New_Line (Standard_Error);
+ end if;
declare
Contain_Dir : String := FD.Containing_Directory (-Output_Name);
Simple_Name : String := FD.Simple_Name (-Output_Name);
begin
if Deck_Format = "csv" then
+ if Verbose then
+ Put (Standard_Error, "Writing output to CSV...");
+ end if;
Deck_IO.Write_CSV (Contain_Dir, Simple_Name, Models, Notes, Overwrite);
+ if Verbose then
+ Put_Line (Standard_Error, " Done");
+ end if;
elsif Deck_Format = "fmd" then
+ if Verbose then
+ Put (Standard_Error, "Reading media...");
+ end if;
Deck_IO.Read_Media_Map (-Input_Name, Media);
+ if Verbose then
+ Put_Line (Standard_Error, " Done");
+ Put (Standard_Error, "Writing output to Fresh Memory Dictionary...");
+ end if;
Deck_IO.Write_FMD (Contain_Dir, Simple_Name, Models, Notes, Media, Overwrite);
+ if Verbose then
+ Put_Line (Standard_Error, " Done");
+ end if;
else
raise Constraint_Error;
end if;