/* * public void AddTTHL(QueueEntry me) * { * QueueEntry existing = FindExistingEntryForFileList(hub, username); * if (existing == null) * { * QueueEntry entry = new QueueEntry(); * entry.Type = QueueEntry.EntryType.FileList; * string temp_hub_address = hub.Address.Replace(":", "_"); * entry.OutputFilename = filelists_directory + "\\" + temp_hub_address + "-" + Base32.ToBase32String(Encoding.Default.GetBytes(username)) + ".xml.bz2";//TODO .. maybe changes needed here to incorporate other filelist formats * entry.AddSource(new Queue.QueueEntry.Source(username, "", hub)); * lock (queue_lock) * { * items.Add(entry); * } * GrabEntry(entry); * try * { * if (EntryAdded != null) * EntryAdded(entry); * if (EntriesChanged != null) * EntriesChanged(); * } * catch (Exception ex) * { * Console.WriteLine("Exception occured in added event callback: " + ex.Message); * } * * } * }*/ public void AddFileList(Hub hub, string username) { QueueEntry existing = FindExistingEntryForFileList(hub, username); if (existing == null) { QueueEntry entry = new QueueEntry(); entry.Type = QueueEntry.EntryType.FileList; string temp_hub_address = hub.Address.Replace(":", "_"); entry.OutputFilename = filelists_directory + "\\" + temp_hub_address + "-" + Base32.ToBase32String(Encoding.Default.GetBytes(username)) + ".xml.bz2";//TODO .. maybe changes needed here to incorporate other filelist formats entry.AddSource(new Queue.QueueEntry.Source(username, "", hub)); lock (queue_lock) { items.Add(entry); } GrabEntry(entry); try { if (EntryAdded != null) { EntryAdded(entry); } if (EntriesChanged != null) { EntriesChanged(); } } catch (Exception ex) { Console.WriteLine("Exception occured in added event callback: " + ex.Message); } } }
public void AddSearchResult(SearchResults.SearchResult result) { if (result.IsFile) { QueueEntry existing = FindExistingEntryForSearchResult(result); if (existing != null) {//This should be a deprecated case.. never ever be called again :-) //lock (queue_lock) //{ existing.AddSource(new QueueEntry.Source(result.UserName, result.Filename, result.Hub)); //TODO source add event //} return; } QueueEntry entry = new QueueEntry(); entry.Type = QueueEntry.EntryType.File; entry.Filesize = result.Filesize; entry.OutputFilename = download_directory + "\\" + System.IO.Path.GetFileName(result.Filename); //TODO add directory support somehow if (File.Exists(entry.OutputFilename)) { //already some file existing with this name ... try a (i) at the end increment until file is not there int i = 1; string new_extension = Path.GetExtension(entry.OutputFilename); string new_filename = Path.GetDirectoryName(entry.OutputFilename) + "\\" + Path.GetFileNameWithoutExtension(entry.OutputFilename) + "(" + i + ")" + new_extension; while (File.Exists(new_filename)) { i++; new_filename = Path.GetDirectoryName(entry.OutputFilename) + "\\" + Path.GetFileNameWithoutExtension(entry.OutputFilename) + "(" + i + ")" + new_extension; } entry.OutputFilename = new_filename; } if (result.HasTTH) { entry.TTH = result.TTH; } //if(result.IsHubResolved) entry.AddSource(new Queue.QueueEntry.Source(result.UserName, result.Filename, result.Hub)); lock (queue_lock) { items.Add(entry); } GrabEntry(entry); //Console.WriteLine("Queue Entry added: '"+entry.OutputFilename+"'"); try { if (EntryAdded != null) { EntryAdded(entry); } if (EntriesChanged != null) { EntriesChanged(); } } catch (Exception ex) { Console.WriteLine("Exception occured in added event callback: " + ex.Message); } } //download_directory + "\\" + }