Skip to content

Commit

Permalink
Merge branch 'pdf-processing' into mainline-master
Browse files Browse the repository at this point in the history
  • Loading branch information
GerHobbelt committed Dec 23, 2019
2 parents cbb8dba + 47dbdda commit 6ae59ea
Show file tree
Hide file tree
Showing 21 changed files with 8,070 additions and 688 deletions.
1,154 changes: 621 additions & 533 deletions CHANGELOG_full.md

Large diffs are not rendered by default.

Binary file modified Qiqqa.Build/Packaging/Include/couninst.exe
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ private void CmdSave_Click(object sender, RoutedEventArgs e)

private List<BlackWhiteListEntry> ProcessNewUserEntries()
{
List<BlackWhiteListEntry> new_entries = new List<BlackWhiteListEntry>(entries);
List<BlackWhiteListEntry> new_entries = (entries == null ? new List<BlackWhiteListEntry>() : new List<BlackWhiteListEntry>(entries));

// Flag all the old ones as deleted
foreach (var entry in new_entries)
Expand Down Expand Up @@ -110,7 +110,7 @@ public void SetLibrary(Library library_)
TxtBlack.Text = "";

// Reflect the library
if (null != library)
if (null != library_)
{
library = library_;
entries = library_.BlackWhiteListManager.ReadList();
Expand Down Expand Up @@ -152,7 +152,7 @@ protected override void OnClosed(EventArgs e)
// This NULLing stuff is really the last rites of Dispose()-like so we stick it at the end here.

library = null;
entries.Clear();
entries?.Clear();
entries = null;
}
}
Expand Down
48 changes: 24 additions & 24 deletions Qiqqa/DocumentLibrary/DocumentLibraryIndex/LibraryIndex.cs
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,12 @@ private void Init()
{
l5_clk.LockPerfTimerStop();

Utilities.LockPerfTimer l4_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l4_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
lock (word_index_manager_lock)
{
l4_clk.LockPerfTimerStop();
//l4_clk.LockPerfTimerStop();
if (null != pdf_documents_in_library && null != word_index_manager)
{
Logging.Warn("LibraryIndex has already been initialized.");
Expand All @@ -102,10 +102,10 @@ private void Init()
Stopwatch clk = new Stopwatch();
clk.Start();
Logging.Info("+Loading historical progress file: {0}", Filename_DocumentProgressList);
Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();
pdf_documents_in_library = (Dictionary<string, PDFDocumentInLibrary>)SerializeFile.LoadSafely(Filename_DocumentProgressList);
}
Logging.Info("-Loaded historical progress file: {0} (time spent: {1} ms)", Filename_DocumentProgressList, clk.ElapsedMilliseconds);
Expand All @@ -114,19 +114,19 @@ private void Init()
catch (Exception ex)
{
Logging.Error(ex, "FAILED to load historical progress file \"{0}\". Will start indexing afresh.", Filename_DocumentProgressList);
Utilities.LockPerfTimer l2_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l2_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l2_clk.LockPerfTimerStop();
//l2_clk.LockPerfTimerStop();
pdf_documents_in_library = null;
}
}

// If there was no historical progress file, start afresh
Utilities.LockPerfTimer l3_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l3_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l3_clk.LockPerfTimerStop();
//l3_clk.LockPerfTimerStop();
if (null == pdf_documents_in_library)
{
Logging.Warn("Cound not find any indexing progress, so starting from scratch.");
Expand Down Expand Up @@ -186,10 +186,10 @@ protected virtual void Dispose(bool disposing)
//this.word_index_manager = null;
library = null;

Utilities.LockPerfTimer l4_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l4_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l4_clk.LockPerfTimerStop();
//l4_clk.LockPerfTimerStop();

pdf_documents_in_library?.Clear();
pdf_documents_in_library = null;
Expand Down Expand Up @@ -246,10 +246,10 @@ public void IncrementalBuildIndex()
word_index_manager.WriteMasterList();
}

Utilities.LockPerfTimer l2_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l2_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l2_clk.LockPerfTimerStop();
//l2_clk.LockPerfTimerStop();
SerializeFile.SaveSafely(Filename_DocumentProgressList, pdf_documents_in_library);
}

Expand All @@ -264,10 +264,10 @@ public void ReIndexDocument(PDFDocument pdf_document)
{
try
{
Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();
pdf_documents_in_library.Remove(pdf_document.Fingerprint);
}
}
Expand All @@ -285,10 +285,10 @@ private void GetStatusCounts(out int numerator_documents, out int denominator_do
pages_so_far = 0;
pages_to_go = 0;

Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();
foreach (PDFDocumentInLibrary pdf_document_in_library in pdf_documents_in_library.Values)
{
++denominator_documents;
Expand Down Expand Up @@ -400,10 +400,10 @@ private bool RescanLibrary()
{
bool go;

Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();

go = !pdf_documents_in_library.ContainsKey(pdf_document.Fingerprint);
}
Expand All @@ -428,10 +428,10 @@ private bool RescanLibrary()
pdf_document_in_library.finished_indexing = true;
}

Utilities.LockPerfTimer l2_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l2_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l2_clk.LockPerfTimerStop();
//l2_clk.LockPerfTimerStop();
pdf_documents_in_library[pdf_document_in_library.fingerprint] = pdf_document_in_library;
}
}
Expand Down Expand Up @@ -498,10 +498,10 @@ private bool IncrementalBuildNextDocuments()

List<PDFDocumentInLibrary> pdf_documents_in_library_to_process;

Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();

// Get all documents that are not been finished with their indexing
pdf_documents_in_library_to_process = new List<PDFDocumentInLibrary>(
Expand Down Expand Up @@ -692,10 +692,10 @@ public int NumberOfIndexedPDFDocuments
{
get
{
Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (pdf_documents_in_library_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();
return pdf_documents_in_library.Count;
}
}
Expand Down
8 changes: 4 additions & 4 deletions Qiqqa/DocumentLibrary/FolderWatching/FolderWatcherManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ public void Dispose()
Logging.Debug("FolderWatcherManager::Dispose() @{0}", ++dispose_count);
#endif

Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (folder_watcher_records_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();
// Dispose of all the folder watchers
foreach (var folder_watcher_record in folder_watcher_records)
{
Expand Down Expand Up @@ -140,10 +140,10 @@ internal void TaskDaemonEntryPoint(Utilities.Daemon daemon)
}
}

Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
//Utilities.LockPerfTimer l1_clk = Utilities.LockPerfChecker.Start();
lock (folder_watcher_records_lock)
{
l1_clk.LockPerfTimerStop();
//l1_clk.LockPerfTimerStop();
// Kill off any unwanted folders
HashSet<string> folders_to_watch_deleted = new HashSet<string>(folder_watcher_records.Keys);
foreach (var folder_to_watch in folders_to_watch)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,12 @@ public void PutBlob(string filename, byte[] data)
{
bool managed_update = false;

using (var command = new SQLiteCommand("UPDATE LibraryItem WHERE filename=@filename", connection, transaction))
using (var command = new SQLiteCommand("UPDATE LibraryItem SET MD5=@md5, DATA=@data, LAST_UPDATED_BY=@last_updated_by WHERE filename=@filename", connection, transaction))
{
command.Parameters.AddWithValue("@filename", filename);
command.Parameters.AddWithValue("@last_updated_by", Environment.UserName);
command.Parameters.AddWithValue("@md5", md5);
command.Parameters.AddWithValue("@data", data);
int num_rows_updated = command.ExecuteNonQuery();
if (1 == num_rows_updated)
{
Expand Down
Loading

0 comments on commit 6ae59ea

Please sign in to comment.