Exemple #1
0
    //make file stream clear

    public static MemoryStream MakeFileStreamClear(FileStream stream)
    {
        string dirtyText = FileProcesser.StreamToString(stream);
        string clearText = RemoveInvalidXmlChars(dirtyText);

        return(FileProcesser.StringToStream(clearText));
    }
Exemple #2
0
    public void GetMainPageTableOfContent(XMLParser obj)
    {
        string postDataTextContent = string.Format("prop={0}&page={1}&format={2}",
                                                   HttpUtility.UrlEncode("wikitext"),
                                                   HttpUtility.UrlEncode("Main Page"),
                                                   HttpUtility.UrlEncode("xml"));
        string textWikiContent = this.postData(address + "action=parse", postDataTextContent, "namespaces");



        string postDataParseWikiText = string.Format("text={0}&format={1}",
                                                     HttpUtility.UrlEncode(textWikiContent),
                                                     HttpUtility.UrlEncode("xml"));
        string parsedWikiContent = this.postData(address + "action=parse", postDataParseWikiText, "namespaces");

        XDocument contentTree;

        try
        {
            contentTree = XDocument.Load(FileProcesser.StringToStream(parsedWikiContent.ToString()));
            var pageNameLst = contentTree.Descendants()
                              .Where(rc => rc.Name == "pl" && rc.Ancestors("parse").Any())
                              .Where(n => n.Parent.Name == "links")
                              .Select(c => (string)c).ToList();

            pageNameLst.Add(this.objNameSpace.namespaces + ":" + obj.usecasename);
            string[] uniqueCategoryList = CreateUniquePageCategoryList(pageNameLst.ToArray());
            AddNewPageLinkToTableOfContent(pageNameLst.ToArray(), uniqueCategoryList);
        }
        catch (ArgumentException ex)
        {
            ExceptionHandling.errorMessage = ex.Message + " " + "Wiki sections of Main Page is  making this exception";
            return;
        }
    }
Exemple #3
0
    public List <NameSpace> GetNameSpace()
    {
        string postDataNameSpace = string.Format("meta={0}&siprop={1}&format={2}",
                                                 HttpUtility.UrlEncode("siteinfo"),
                                                 HttpUtility.UrlEncode("namespaces"),
                                                 HttpUtility.UrlEncode("xml"));

        string namespaces = this.postData(address + "action=query", postDataNameSpace, "namespaces");

        XDocument xmlC         = XDocument.Load(FileProcesser.StringToStream(namespaces.ToString()));
        var       lstNameSpace = xmlC.Descendants()
                                 .Where(rc => rc.Name == "ns" && rc.Ancestors("query").Any())
                                 .Where(n => n.Parent.Name == "namespaces")
                                 .Select(c => (string)c).ToList();


        lstnsp = new List <NameSpace>();

        foreach (var lst in lstNameSpace)
        {
            NameSpace obj = new NameSpace();
            obj.namespaces = lst;
            lstnsp.Add(obj);
        }
        return(lstnsp);
    }
        public async Task <IActionResult> UploadFileToS3(IFormFile file)
        {
            var fileName = Path.GetFileName(
                ContentDispositionHeaderValue
                .Parse(file.ContentDisposition)
                .FileName.Value.Trim('"'));

            string objectKey = S3KeyGen.GenerateObjectKey(fileName);

            using (var stream = file.OpenReadStream())
            {
                UploadFileInfo info = FileProcesser.GetUploadFileInfo(stream, file.ContentType);

                FileUploaded model = await FileUploadService.UploadFile(
                    S3Settings.OriginalBucketName,
                    S3Settings.OriginalBucketUrl,
                    objectKey,
                    S3StorageClass.Standard, //Need to check with Ginu
                    S3CannedACL.PublicRead, info);

                if (model.Exception != null)
                {
                    //log the error:
                    return(StatusCode((int)HttpStatusCode.InternalServerError));
                }
                return(Created(model.ObjectLocation, model));
            }
        }
Exemple #5
0
    //make file clear

    public static string MakeFileClear(string filePath)
    {
        string content;

        using (FileStream stream = File.OpenRead(filePath))
        {
            content = RemoveInvalidXmlChars(FileProcesser.StreamToString(stream));
        }
        return(content);
    }
        /// <summary>
        /// 处理上传文件的格式
        /// </summary>
        /// <param name="fileModel"></param>
        private void FormatFile(TraficFiles fileModel)
        {
            if (FileHelper.IsOfficeWordDocument(fileModel.FilePath) || FileHelper.IsPdfDocument(fileModel.FilePath))
            {
                fileModel = FileProcesser.Format(fileModel);

                var fileBll = new TraficFilesBll();
                fileBll.Update(fileModel);

                SearchHelper.AddSearchTask(1, fileModel.Id);
            }
        }
Exemple #7
0
    public void TestFunction()
    {
        string clearFile = file;

        Stream    s   = FileProcesser.StringToStream(clearFile);
        XDocument xml = XDocument.Load(s);
        var       T   = xml.Descendants()
                        .Where(rc => rc.Name == "item" && rc.Ancestors("sections").Any())
                        .Where(rc => rc.Name == "item" && rc.Ancestors("section").Any())
                        .Where(rc => rc.Name == "item" && rc.Ancestors("body").Any())
                        .Where(n => n.Parent.Name == "paragraphs")
                        .Select(c => c).ToList();

        foreach (var lst in T)
        {
            XDocument xmlC = XDocument.Load(FileProcesser.StringToStream(lst.ToString()));

            string look = lst.ToString();

            string tableHeading = string.Empty;
            if (look.Contains("table"))
            {
                XNode XNODE = lst.PreviousNode;

                if (XNODE != null)
                {
                    var heading = (XNODE as XElement).Descendants()
                                  .Where(rc => rc.Name == "text" && rc.Ancestors("items").Any())
                                  .Where(n => n.Parent.Name == "item")
                                  .Select(c => (string)c).ToList();


                    foreach (var h in heading)
                    {
                        tableHeading += h;
                    }
                }
                this.testwikioriginal += ParseTestFunction(xmlC, tableHeading, "original");
                if (obj.englishversion)
                {
                    this.testwikienglish += ParseTestFunction(xmlC, tableHeading, "english");
                }
            }
        }
        if (obj.englishversion)
        {
            this.testwikioriginal += "[[" + objGoogle.MicrosoftTranslate(obj.namespaces + ":" + usecasename) + "]]";
        }
    }
Exemple #8
0
    public void GetUseCaseName()
    {
        string fullcontent = "";
        //string clearFile = HexFilter.MakeFileClear(Server.MapPath("~/XMLDocument/prexml.xml"));
        string    clearFile = file;
        Stream    s         = FileProcesser.StringToStream(clearFile);
        XDocument xml       = XDocument.Load(s);

        var T = xml.Descendants()
                .Where(rc => rc.Name == "item" && rc.Ancestors("sections").Any())
                .Where(rc => rc.Name == "item" && rc.Ancestors("section").Any())
                .Where(rc => rc.Name == "item" && rc.Ancestors("body").Any())
                .Where(n => n.Parent.Name == "paragraphs")

                .Select(c => c).ToList();


        bool suspect = false;

        foreach (var lst in T)
        {
            if (suspect)
            {
                XDocument xmlC = XDocument.Load(FileProcesser.StringToStream(lst.ToString()));
                var       TC   = xmlC.Descendants()
                                 .Where(rc => rc.Name == "text" && rc.Ancestors("items").Any())
                                 .Where(n => n.Parent.Name == "item")
                                 .Select(c => (string)c).ToList();
                foreach (var lstS in TC)
                {
                    fullcontent += lstS.ToString() + "";
                }

                suspect = false;
            }
            string look = lst.ToString();

            if (look.Contains(content))
            {
                suspect = true;
            }
        }
        this.usecasename = fullcontent;
    }
Exemple #9
0
    public string GetTokenFromXML(string xml, string action)
    {
        Stream    stream = FileProcesser.StringToStream(xml);
        XDocument xdoc   = XDocument.Load(stream);
        var       t      = "";

        if (action == "login")
        {
            t = xdoc.Descendants()
                .Where(rc => rc.Name == "login")
                .Where(n => n.Parent.Name == "api")
                .Select(c => (string)c.Attribute("token")).Single();
        }
        else if (action == "edit")
        {
            t = xdoc.Descendants()
                .Where(rc => rc.Name == "tokens")
                .Where(n => n.Parent.Name == "api")
                .Select(c => (string)c.Attribute("edittoken")).Single();
        }
        return(t.ToString());
    }
Exemple #10
0
    /* public string GetIntroduction(string content)
     * {
     *
     *   string fullcontent = "";
     *   string clearFile = HexFilter.MakeFileClear(Server.MapPath("~/XMLDocument/prexml.xml"));
     *   Stream s = FileProcesser.StringToStream(clearFile);
     *   XDocument xml = XDocument.Load(s);
     *
     *   var T = xml.Descendants()
     *         .Where(rc => rc.Name == "item" && rc.Ancestors("sections").Any())
     *         .Where(rc => rc.Name == "item" && rc.Ancestors("section").Any())
     *         .Where(rc => rc.Name == "item" && rc.Ancestors("body").Any())
     *         .Where(n => n.Parent.Name == "paragraphs")
     *
     *         .Select(c => c).ToList();
     *
     *
     *   bool suspect = false;
     *
     *   foreach (var lst in T)
     *   {
     *
     *       if (suspect)
     *       {
     *
     *           XDocument xmlC = XDocument.Load(FileProcesser.StringToStream(lst.ToString()));
     *           var TC = xmlC.Descendants()
     *                   .Where(rc => rc.Name == "text" && rc.Ancestors("items").Any())
     *                   .Where(n => n.Parent.Name == "item")
     *                   .Select(c => (string)c).ToList();
     *           foreach (var lstS in TC)
     *           {
     *               fullcontent += lstS.ToString() + "";
     *           }
     *
     *           suspect = false;
     *       }
     *       string look = lst.ToString();
     *       string[] typical = look.Split('>');
     *       for (int i = 0; i < typical.Length; i++)
     *       {
     *           string text = typical[i].ToString();
     *           if (text.Contains(content))
     *           {
     *               suspect = true;
     *
     *               XDocument xmlC = XDocument.Load(FileProcesser.StringToStream(lst.ToString()));
     *               var TC = xmlC.Descendants()
     *                       .Where(rc => rc.Name == "text" && rc.Ancestors("items").Any())
     *                       .Where(n => n.Parent.Name == "item")
     *                       .Select(c => (string)c).ToList();
     *               foreach (var lstS in TC)
     *               {
     *                   fullcontent += lstS.ToString() + "";
     *               }
     *
     *           }
     *
     *       }
     *   }
     *   return fullcontent;
     * }*/


    //public void GetDescription()
    //{

    //    string clearFile = file;
    //    int count = 1;
    //    Stream s = FileProcesser.StringToStream(clearFile);
    //    XDocument xml = XDocument.Load(s);
    //    var T = xml.Descendants()
    //          .Where(rc => rc.Name == "item" && rc.Ancestors("sections").Any())
    //          .Where(rc => rc.Name == "item" && rc.Ancestors("section").Any())
    //          .Where(rc => rc.Name == "item" && rc.Ancestors("body").Any())
    //          .Where(n => n.Parent.Name == "paragraphs")
    //          .Select(c => c).ToList();

    //    foreach (var lst in T)
    //    {
    //         XDocument xmlC = XDocument.Load(FileProcesser.StringToStream(lst.ToString()));

    //         string look = lst.ToString();


    //        if (look.Contains("table") )
    //        {

    //            if (count == 1)
    //            {
    //                ParseFirstTable(xmlC);

    //            }

    //            else if (count == 2)
    //            {
    //                ParseSecondTable(xmlC);

    //            }

    //            else if (count == 3)
    //            {
    //                ParseThirdTable(xmlC);

    //            }


    //           else if (count == 4)
    //            {
    //                ParseFourthTable(xmlC);

    //            }

    //            else if (count == 5)
    //            {
    //                ParseFifthTable(xmlC);

    //            }

    //            else if (count == 7)
    //            {
    //                ParseTechFirstTable(xmlC);

    //            }
    //            else if (count == 8)
    //            {
    //                ParseTechSecondTable(xmlC);

    //            }

    //            else if (count == 9)
    //            {
    //                ParseTechThirdTable(xmlC);

    //            }
    //            else if (count == 10)
    //            {
    //                ParseTechFourthTable(xmlC);

    //            }
    //            else if (count == 11)
    //            {
    //                ParseStudyFirstTable(xmlC);

    //            }

    //            else if (count == 12)
    //            {
    //                ParseStudySecondTable(xmlC);

    //            }
    //            else if (count == 13)
    //            {
    //                ParseStudyThirdTable(xmlC);

    //            }

    //            else if (count == 14)
    //            {
    //                ParseInfoFirstTable(xmlC);

    //            }
    //            else if (count == 15)
    //            {
    //                ParseTechnicalRequirementTable(xmlC);

    //            }
    //            else if (count == 16)
    //            {
    //                ParseTermsDefinitionsTable(xmlC);

    //            }
    //            count++;

    //        }



    //    }

    //}



    public void GetDescription()
    {
        string    clearFile = file;
        int       count     = 1;
        Stream    s         = FileProcesser.StringToStream(clearFile);
        XDocument xml       = XDocument.Load(s);
        var       T         = xml.Descendants()
                              .Where(rc => rc.Name == "item" && rc.Ancestors("sections").Any())
                              .Where(rc => rc.Name == "item" && rc.Ancestors("section").Any())
                              .Where(rc => rc.Name == "item" && rc.Ancestors("body").Any())
                              .Where(n => n.Parent.Name == "paragraphs")
                              .Select(c => c).ToList();

        foreach (var lst in T)
        {
            XDocument xmlC = XDocument.Load(FileProcesser.StringToStream(lst.ToString()));

            string look = lst.ToString();


            if (look.Contains("table"))
            {
                if (count == 1)
                {
                    ParseFirstTable(xmlC);
                }

                else if (count == 2)
                {
                    ParseSecondTable(xmlC);
                }

                else if (count == 3)
                {
                    ParseThirdTable(xmlC);
                }


                else if (count == 4)
                {
                    ParseFourthTable(xmlC);
                }

                else if (count == 5)
                {
                    ParseFifthTable(xmlC);
                }

                else if (count == 7)
                {
                    ParseTechFirstTable(xmlC);
                }
                else if (count == 8)
                {
                    ParseTechSecondTable(xmlC);
                }

                else if (count == 9)
                {
                    ParseTechThirdTable(xmlC);
                }
                else if (count == 10)
                {
                    ParseTechFourthTable(xmlC);
                }
                else if (count == 11)
                {
                    ParseStudyFirstTable(xmlC);
                }

                else if (count == 12)
                {
                    ParseStudySecondTable(xmlC);
                }
                //else if (count == 13)
                //{
                //    ParseStudyThirdTable(xmlC);

                //}

                else if (count == 13)
                {
                    ParseInfoFirstTable(xmlC);
                }
                else if (count == 14)
                {
                    ParseTechnicalRequirementTable(xmlC);
                }
                else if (count == 15)
                {
                    ParseTermsDefinitionsTable(xmlC);
                }
                count++;
            }
        }
    }