Exemple #1
0
        public void HTMLParseTest2()
        {
            List <string> urlList;

            urlList = HTMLService.Parse("");
            Assert.AreEqual(0, urlList.Count);
            string htmlCode = HTMLService.DownloadUrl("https://www.baidu.com/");

            urlList = HTMLService.Parse(htmlCode);
            Assert.AreNotEqual(0, urlList.Count);
            foreach (string url in urlList)
            {
                Assert.IsTrue(url.Contains("http"));
            }
        }
Exemple #2
0
 public void HTMLParseTest1()
 {
     HTMLService.Parse(null);
 }
Exemple #3
0
 public void DownloadUrlTest1()
 {
     Assert.AreEqual("", HTMLService.DownloadUrl("baidu"));
     Assert.AreEqual("", HTMLService.DownloadUrl(null));
 }
Exemple #4
0
 public void DownloadUrlTest2()
 {
     Assert.AreNotEqual("", HTMLService.DownloadUrl("https://www.baidu.com/"));
 }
Exemple #5
0
        public Response Merge(InputFiles files, string outputType)
        {
            try
            {
                List <string> FileNames = new List <string>();


                foreach (InputFile inputFile in files)
                {
                    FileNames.Add(inputFile.LocalFileName);
                }

                using (var service = new HTMLService())
                    using (new HTMLOperationContextScope(service, new HttpRequestMessage()))
                        using (var dataProvider = new UrlDataProvider(FileNames.ToArray()))
                        {
                            var data = dataProvider.GetData();
                            if (data.Count(x => x.IsValid()) == 0)
                            {
                                return(BadDocumentResponse);
                            }

                            if (data.Count(x => x.IsValid()) > MaximumUploadFiles)
                            {
                                return(MaximumFileLimitsResponse);
                            }

                            // HTMLOperationContextScope.Context.DeleteSourceFolder = true;

                            var options = HTMLOperationContextScope
                                          .Context
                                          .ApplicationOptionsFactory
                                          .CreateMergerOptions();

                            var result = service.Merge(dataProvider, options);

                            if (!result.IsValid)
                            {
                                string message;
                                switch (result.ErrorCode)
                                {
                                case ErrorCodes.InvalidInputFormat:
                                    message = $"Input type '{options.InputFormat}' is not supported.";
                                    break;

                                case ErrorCodes.InvalidOutputFormat:
                                    message = $"Output type '{options.InputFormat}' is not supported.";
                                    break;

                                case ErrorCodes.MergingIsNotAllowed:
                                    message = $"Document merging is not supported for the '{options.OutputFormat}' format.";
                                    break;

                                case ErrorCodes.NotEnoughFilesToPerformOperation:
                                    message = "Merging is required more than one input file.";
                                    break;

                                case ErrorCodes.SystemException:


                                    message = $"Document processing error.";
                                    break;

                                case ErrorCodes.DocumentLoadError:
                                case ErrorCodes.DocumentRenderingError:
                                default:
                                    message = $"Document processing error.";
                                    break;
                                }

                                return(new Response
                                {
                                    FileName = null,
                                    Status = message,
                                    StatusCode = 500
                                });
                            }



                            return(new Response
                            {
                                FileName = Path.GetFileName(result.DataFiles.First()),
                                FolderName = $"{HTMLOperationContextScope.Context.Id}",
                                Status = "OK",
                                StatusCode = 200,
                            });
                        }
            }
            catch (Exception e)
            {
                return(new Response
                {
                    FileName = null,
                    Status = $"Document processing error.",
                    StatusCode = 500
                });
            }
        }