Exemplo n.º 1
0
        public string GetStream(string address)
        {
            var serveralias = address.Split('/')[0];
            var filename = address.Substring(Math.Min(serveralias.Length + 1, address.Length));
            var server = "";
            var nameServers = new CSVDocument(File.ReadAllText("nameserver.csv"));
            foreach (var nameServer in nameServers)
            {
                server = new WebClient().DownloadString(string.Format(nameServer["Pattern"], serveralias)).Trim(' ', '\n', '\r');
                if (server != "") { break; }
            }

            if (!server.StartsWith("http://")) { server = "http://" + server; }
            var resolvedAddress = Path.Combine(server, filename).Replace('\\', '/');

            var siteContent = "";
            foreach (var appendage in new[] { "", ".tk", "/index.tk" })
            {
                try
                {
                    var siteRequest = ((HttpWebResponse)WebRequest.Create((resolvedAddress + appendage).Replace('\\', '/')).GetResponse());
                    siteContent = new StreamReader(siteRequest.GetResponseStream()).ReadToEnd();
                    if (!Regex.IsMatch(siteContent, "Apache.*at.*Port", RegexOptions.Singleline))
                    {
                        break;
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e);
                }
            }

            return siteContent;
        }
Exemplo n.º 2
0
        private static string Server(string serveralias)
        {
            var server = "";
            var nameServers = new CSVDocument(File.ReadAllText("nameserver.csv"));
            foreach(var nameServer in nameServers) {
                try {
                    server = new WebClient().DownloadString(string.Format(nameServer["Pattern"], serveralias)).Trim(' ', '\n', '\r');
                    if(server != "") { break; }
                } catch(Exception e) { /* ignored for now */ }
            }

            if(!server.StartsWith("http://")) { server = "http://" + server; }
            return server;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Creates Cell object.
        /// </summary>
        /// <param name="parentDoc">Reference to a document that contains cell.</param>
        /// <param name="xPosition">Horizontal position.</param>
        /// <param name="yPosition">Vertical position.</param>
        /// <param name="data">Text.</param>
        /// <param name="dataParsing">Data parsing condition.</param>
        /// <param name="delimiter">Delimiter.</param>
        public Cell(
            CSVDocument parentDoc,
            int         xPosition,
            int         yPosition,
            string      data,
            bool        dataParsing = false,
            char        delimiter   = DEFAULT_DELIMITER)
        {
            this.parentDoc = parentDoc;
            this.delimiter = delimiter;

            Data = dataParsing ? Parse(data) : data;

            this.commonX = X = xPosition;
            this.commonY = Y = yPosition;
        }
Exemplo n.º 4
0
 private CSVDocument AddDJVUToCsv(string file, int requestedDPI, CancellationTokenSource source, string rootFolder)
 {
     try
     {
         LogWriter.LogMessage($"Reading file {file}", LogDepth.UserLevel);
         CSVDocument csvDocument = null;
         try
         {
             csvDocument = CSVDocument.FromFile(file);
         }
         catch (FileNotFoundException ex)
         {
             LogWriter.LogMessage(ex.Message);
         }
         CSVRow anyRow        = csvDocument.Rows[0];
         var    imagesForDJVU = csvDocument.Rows.Select(s =>
         {
             if (s.Content.ContainsKey("DJVUIMAGES"))
             {
                 return(s.Content["DJVUIMAGES"]);
             }
             else if (s.Content.ContainsKey("FILES"))
             {
                 return(s.Content["FILES"]);
             }
             else
             {
                 throw new Exception("Columns in CSV are incorrect.");
             }
         });
         var outputDJVUPath = Regex.Replace(csvDocument.Rows.FirstOrDefault().PathToPDF, "[.]pdf", ".djvu");
         try
         {
             bool singlePDFInput = imagesForDJVU.Distinct().Count() == 1;
             if (singlePDFInput)
             {
                 PDFToDJVU.Executor.NewPrepareDJVU(imagesForDJVU.FirstOrDefault(), outputDJVUPath, source, requestedDPI);
             }
             else
             {
                 PDFToDJVU.Executor.PrepareDJVU(imagesForDJVU.ToArray(), outputDJVUPath, source, rootFolder, requestedDPI);
             }
         }
         catch (Exception)
         {
             source.Cancel();
             throw;
         }
         CSVRow DJVUFullDocument = (CSVRow)anyRow.Clone();
         DJVUFullDocument.Content["PAGES"] = "0";
         DJVUFullDocument.PathToPDF        = outputDJVUPath;
         LogWriter.LogMessage($"Adding a row with DJVUDocument {outputDJVUPath}", LogDepth.Debug);
         csvDocument.Add(DJVUFullDocument);
         return(csvDocument);
     }
     catch (Exception ex)
     {
         LogWriter.LogMessage(ex.Message, LogDepth.Debug);
         throw;
     }
 }