コード例 #1
0
        public void RelationProgress(int progressPercent, string text = null)
        {
            trace.TraceInformation("RelationFinderViewPanel::RelationProgress(" + progressPercent + ")");
            parentForm.TextCallback(progressPercent, text);

            if (progressPercent < 0)
            {
                //AddToListView(ref resultList, stats);        if (relWorker != null)
                RelationStackList relations = relWorker.GetRelationStack();
                if (relations != null)
                {
                    this.relationList = relations;
                    ShowRelations(this.relationList);

                    SaveListToFile("relations_" + FamilyUtility.MakeFilename(familyTree.GetSourceFileName() + "_" + DateTime.Now.ToString() + "_" + resultNoCtrl.SelectedItem.ToString() + "_gen_" + ".fsrel"), relationList);
                }
                relWorker = null;


                //SaveListToFile(utility.GetCurrentDirectory() + "\\" + FamilyUtility.MakeFilename("relations_" + familyTree.GetSourceFileName() + "_" + DateTime.Now.ToString() + "_" + resultNoCtrl.SelectedItem.ToString() + "_gen_" + (checkDescendants ? "_desc_" : "") + ".fss"));
                resultNoCtrl.Enabled = true;
                stopButton.Enabled   = false;
                startButton.Enabled  = true;
                //descendants.Enabled = true;
            }
        }
コード例 #2
0
 public void WriteToFile(string filename)
 {
     using (StreamWriter writer = new StreamWriter(FamilyUtility.MakeFilename(filename + "_import_" + DateTime.Now.ToString() + ".txt")))
     {
         foreach (string str in importResultList)
         {
             writer.Write(str + FamilyUtility.GetLinefeed());
         }
     }
 }
コード例 #3
0
        /*void resultList_MouseClick(object sender, MouseEventArgs e)
         * {
         * trace.TraceInformation("CompletenessViewPanel1::resultList_MouseClick()" +sender.ToString() );
         * }*/


        public void CompletenessProgress(int progressPercent, string text = null)
        {
            trace.TraceInformation("CompletenessViewPanel1::CompletenessProgress(" + progressPercent + ")");
            parentForm.TextCallback(progressPercent, text);

            if (progressPercent < 0)
            {
                AddToListView(ref resultList, stats);

                SaveListToFile(utility.GetCurrentDirectory() + "\\" + FamilyUtility.MakeFilename("treeanalysis_" + familyTree.GetSourceFileName() + "_" + DateTime.Now.ToString() + "_" + stats.GetAncestorGenerationNo() + "_ancestGen_" + stats.GetDescendantGenerationNo() + "_descGen_.fss"));
                ancestorGenerationNoCtrl.Enabled = true;
                stopButton.Enabled  = false;
                startButton.Enabled = true;
                descendantGenerationNoCtrl.Enabled = true;
            }
        }
コード例 #4
0
        public bool ReadFile(String filename, ref IFamilyTreeStoreBaseClass inFamilyTree)
        {
            printMemory = false;// true;

            trace.TraceInformation("TextDecoder::Readfile(" + filename + ") Start " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            familyTree = inFamilyTree;

            trace.TraceInformation(familyTree.GetShortTreeInfo());
            //familyTree.Print();

            if (printMemory)
            {
                memory = new MemoryClass();

                memory.PrintMemory();
            }

            xrefMapLists = new XrefMapLists(inFamilyTree);

            fileBuffer = new FileBufferClass();

            fileBuffer.ReadFile(filename);

            trace.TraceInformation("TextDecoder::Readfile() size " + fileBuffer.GetSize());
            if (printMemory)
            {
                memory.PrintMemory();
            }

            String HeadString = "";

            trace.TraceInformation("Text file " + filename + " read ok, size " + fileBuffer.GetSize());

            if (fileBuffer.GetSize() < 12)
            {
                trace.TraceInformation("Text file too small!: " + filename + ", size:" + fileBuffer.GetSize());
                return(false);
            }

            Byte[] fileDataBuffer = fileBuffer.GetBuffer();

            for (int i = 0; i < 12; i++)
            {
                trace.TraceInformation(" data:" + (int)fileDataBuffer[i]);
                HeadString += (char)fileDataBuffer[i];
            }
            trace.TraceInformation("");

            familyTree.SetSourceFileType("Text");

            if (printMemory)
            {
                memory.PrintMemory();
            }

            if (printMemory)
            {
                memory.PrintMemory();
            }
            //familyTree.Print();
            trace.TraceData(TraceEventType.Verbose, 0, familyTree.GetShortTreeInfo());
            trace.TraceInformation("TextDecoder::Readfile() Done " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));

            string directory = "/tmp/";

            if (!Directory.Exists(directory))
            {
                //Directory.CreateDirectory(directory);
                directory = "";
            }

            if ((directory.Length > 0) && filename.Contains(directory))
            {
                filename = filename.Substring(directory.Length);
            }
            Parse(directory + FamilyUtility.MakeFilename(filename + "_text_parsed_" + DateTime.Now.ToString("yyyy-MM-dd_HHmmss") + ".txt"));

            xrefMapLists.Analyze(trace);
            return(true);
        }
コード例 #5
0
        public bool ReadFile(String fileName, ref FamilyTreeStoreBaseClass inFamilyTree)
        {
            printMemory = false;// true;

            trace.TraceInformation("TextDecoder::Readfile(" + fileName + ") Start " + DateTime.Now);

            familyTree = inFamilyTree;

            familyTree.Print();

            if (printMemory)
            {
                memory = new MemoryClass();

                memory.PrintMemory();
            }

            xrefMapLists = new XrefMapLists(inFamilyTree);

            fileBuffer = new FileBufferClass();

            fileBuffer.ReadFile(fileName);

            trace.TraceInformation("TextDecoder::Readfile() size " + fileBuffer.GetSize());
            if (printMemory)
            {
                memory.PrintMemory();
            }

            String HeadString = "";

            trace.TraceInformation("Text file " + fileName + " read ok, size " + fileBuffer.GetSize());

            if (fileBuffer.GetSize() < 12)
            {
                trace.TraceInformation("Text file too small!: " + fileName + ", size:" + fileBuffer.GetSize());
                return(false);
            }

            Byte[] fileDataBuffer = fileBuffer.GetBuffer();

            for (int i = 0; i < 12; i++)
            {
                trace.TraceInformation(" data:" + (int)fileDataBuffer[i]);
                HeadString += (char)fileDataBuffer[i];
            }
            trace.TraceInformation("");

            familyTree.SetSourceFileType("Text");

            if (printMemory)
            {
                memory.PrintMemory();
            }

            if (printMemory)
            {
                memory.PrintMemory();
            }
            familyTree.Print();
            trace.TraceInformation("TextDecoder::Readfile() Done " + DateTime.Now);

            Parse(FamilyUtility.MakeFilename(fileName + "_parsed_" + DateTime.Now.ToString() + ".txt"));

            xrefMapLists.Analyze(trace);
            return(true);
        }
コード例 #6
0
        public bool DownloadImages2(FamilyTreeStoreBaseClass tree)
        {
            IEnumerator <IndividualClass> individualIterator = tree.SearchPerson();
            List <IndividualClass>        individualList     = new List <IndividualClass>();
            FamilyUtility utility = new FamilyUtility();

            String dirname = utility.GetCurrentDirectory() + "\\" + FamilyUtility.MakeFilename("ImageDownload_" + tree.GetSourceFileName() + "_" + DateTime.Now.ToString());

            Directory.CreateDirectory(dirname);

            List <String> endings = new List <string>();

            endings.Add("_large.jpg");
            endings.Add("_medium.jpg");
            endings.Add("_t.jpg");
            endings.Add("_t2.jpg");

            while (individualIterator.MoveNext())
            {
                individualList.Add(individualIterator.Current);
            }
            foreach (IndividualClass person in individualList)
            {
                IList <MultimediaLinkClass> links = person.GetMultimediaLinkList();

                IList <MultimediaLinkClass> newLinks = new List <MultimediaLinkClass>();
                IList <String> dlLinks     = new List <String>();
                IList <String> dlLinksBase = new List <String>();
                IList <String> dlLinksTrue = new List <String>();

                foreach (MultimediaLinkClass link in links)
                {
                    Boolean webimage = (link.GetLink().ToLower().IndexOf("http:") >= 0) || (link.GetLink().ToLower().IndexOf("https:") >= 0);

                    if (webimage)
                    {
                        dlLinks.Add(link.GetLink());
                    }
                }

                foreach (String link in dlLinks)
                {
                    String basename = link;

                    if (link.ToLower().IndexOf(".jpg") >= 0)
                    {
                        foreach (String ending in endings)
                        {
                            if (link.ToLower().IndexOf(ending) >= 0)
                            {
                                basename = link.Substring(0, link.ToLower().IndexOf(ending));

                                if (dlLinksBase.IndexOf(basename) < 0)
                                {
                                    dlLinksBase.Add(basename);
                                }
                            }
                        }
                    }
                }
                foreach (String link in dlLinksBase)
                {
                    int bestIndex = -1;
                    int index     = 0;
                    while ((bestIndex < 0) && (index < endings.Count))
                    {
                        String newLink = link + endings[index];
                        bestIndex = dlLinks.IndexOf(newLink);
                        dlLinksTrue.Add(newLink);
                        index++;
                    }
                }

                foreach (String link in dlLinksTrue)
                {
                    String filename = dirname + "\\" + FamilyUtility.MakeFilename(person.GetXrefName() + " " + person.GetName() + " " + GetLastPart(link));

                    if (filename.Length > 255)
                    {
                        filename = filename.Substring(0, 255);
                    }
                    filename = filename + ".jpg";
                    //trace.TraceInformation(filename);

                    if (SaveImageLocal(filename, link, ImageFormat.Jpeg))
                    {
                        newLinks.Add(new MultimediaLinkClass("image/jpeg", filename));
                    }
                }
                foreach (MultimediaLinkClass link in newLinks)
                {
                    person.AddMultimediaLink(link);
                }
            }

            return(true);
        }