diff --git a/Doc/A69WD.org b/Doc/A69WD.org
index 8e7008b..661ad5f 100644
--- a/Doc/A69WD.org
+++ b/Doc/A69WD.org
@@ -35,7 +35,7 @@ velocemente ai link fatti, e a quelli da fare
- Update :: indica la data in cui eseguo l'ultimo update al record
-* TODO Vrs 0.1.5.2 :WORKING:
+* TODO Vrs 0.1.5.2 :DONE:
Modifica per:
- Inserire l'importazione di link (solo Idx o Rac di A69) da file di testo
- Correggere l'importazione ed esportazione degli elenchi dal DB
diff --git a/Src/A69WD/Data/DBTools.cs b/Src/A69WD/Data/DBTools.cs
index 8bbea22..1d40124 100644
--- a/Src/A69WD/Data/DBTools.cs
+++ b/Src/A69WD/Data/DBTools.cs
@@ -156,6 +156,7 @@ namespace A69WD {
racLinks.Add(url);
Res++;
}
+
} catch (Exception ex) {
Logger.Log(new object[] { "Error Code: DB07003", "Errore in Data.DBTools.LoadData()", ex });
if (Res > 0) Res = -1 * Res;
@@ -238,44 +239,7 @@ namespace A69WD {
}
- /////
- ///// Ricava dal DB tutti i dati
- /////
- ///// Numero di link inseriti nell'engine. Un numero negativo se si è avuto un errore.
- //public long RetrieveLinks() {
- // // MRK: TODO:
- // // Può essere utile amplificare questa funzione in modo che si possa specificare quali link reinserire:
- // // Ad esempio dei filtri tipo:
- // // - solo link con Status pari a ErrorDownload o CancelDownload
- // // - solo link con Status pari a OnDownload
- // // - ecc...
-
- // //return 0; // MRK: BYPASSATO TUTTO PER EVITARE CHE ALL'INIZIO CARICHI I LINK IN SOSPESO.
-
- // object obj = new Object();
- // lock (obj) {
- // long Res = 0;
- // System.Data.DataTable table = new System.Data.DataTable("LinksLog");
- // try {
- // System.Data.SQLite.SQLiteCommand cmd = new SQLiteCommand("SELECT [URL], [Tipo], [Status], [LastUp] FROM [LinksLog] WHERE [Tipo]='Testo' AND [Status]<>4", cn); // Donwloaded = 4
- // SQLiteDataReader rdr = cmd.ExecuteReader();
- // while (rdr.Read()) {
- // string url = rdr["URL"] as string;
- // ATLinkState status = ATLinkState.ToDownload;
- // try { status = ((ATLinkState)((long)rdr["Status"])); } catch (Exception ex) { throw new Exception("ERRORE AFFABULANTE \n" + ex.Message); }
-
- // ATLib.Net.ATLink lk = new ATLib.Net.ATLink(plugin, url, fileName, status);
- // ATLib.ATWDEngine.Instance.AddLink(lk);
- // Res++;
- // }
- // } catch (Exception ex) {
- // ATLib.Logger.Log(new object[] { "Error Code: DB07003", "Errore in ATLib.Data.DBTools.RetrieveLinks()", ex });
- // if (Res > 0) Res = -1 * Res;
- // }
- // return Res;
- // }
- //}
-
+
diff --git a/Src/A69WD/Net/cA69Engine.cs b/Src/A69WD/Net/cA69Engine.cs
index 0401c72..9f3ebef 100644
--- a/Src/A69WD/Net/cA69Engine.cs
+++ b/Src/A69WD/Net/cA69Engine.cs
@@ -94,8 +94,22 @@ namespace A69WD {
return true;
}
- public void Stop() {
- state = EngineStatusEnum.Stopping;
+ public bool Stop() {
+ switch (state) {
+ case EngineStatusEnum.NotReady:
+ case EngineStatusEnum.StandBy:
+ SaveState();
+ state = EngineStatusEnum.Stopped;
+ return true;
+ case EngineStatusEnum.Starting:
+ case EngineStatusEnum.Started:
+ case EngineStatusEnum.Stopping:
+ state = EngineStatusEnum.Stopping;
+ return false;
+ case EngineStatusEnum.Stopped:
+ return true;
+ }
+ return true;
}
public int ImportLinkFromFile(string SrcFilePath) {
@@ -113,7 +127,7 @@ namespace A69WD {
if (IsRacLink(row)) {
// Link ad un racconto
allLinks.Add(row);
- if (downRac) { toDownload.Add(row); }
+ toDownload.Add(row);
racLinks.Add(row);
res++;
} else {
@@ -308,7 +322,7 @@ namespace A69WD {
///
/// Engine da inizializzare
///
- NotReady = 1,
+ NotReady = 0,
///
/// Engine inizializzato e pronto a partire
///
diff --git a/Src/A69WD/Net/frmDownloader.cs b/Src/A69WD/Net/frmDownloader.cs
index 96b437f..b54ae48 100644
--- a/Src/A69WD/Net/frmDownloader.cs
+++ b/Src/A69WD/Net/frmDownloader.cs
@@ -44,13 +44,7 @@ namespace A69WD {
}
}
- private void btnClose_Click(object sender, EventArgs e) {
- if ((engine.State == EngineStatusEnum.Stopped) || (engine.State == EngineStatusEnum.StandBy)) {
- this.Close();
- } else {
- engine.Stop();
- }
- }
+ private void btnClose_Click(object sender, EventArgs e) { if (engine.Stop()) this.Close(); }
#region Gestione eventi dal engine
diff --git a/Src/A69WD/Properties/AssemblyInfo.cs b/Src/A69WD/Properties/AssemblyInfo.cs
index e3870f6..d0bac45 100644
--- a/Src/A69WD/Properties/AssemblyInfo.cs
+++ b/Src/A69WD/Properties/AssemblyInfo.cs
@@ -32,8 +32,19 @@ using System.Runtime.InteropServices;
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
// usando l'asterisco '*' come illustrato di seguito:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("0.1.5.1")]
-[assembly: AssemblyFileVersion("0.1.5.1")]
+[assembly: AssemblyVersion("0.1.5.2")]
+[assembly: AssemblyFileVersion("0.1.5.2")]
+
+
+/*
+ *
+ * Vrs 0.1.5.2
+ *
+ * Compilata da CSiCoAlm il 2021/10/27
+ * - Inserito l'importazione di link (solo Idx o Rac di A69) da file di testo.
+ * - Corretto Load/Save degli elenchi sul DB
+ *
+ */
/*