Exemplo n.º 1
0
        public static void runMapTool(NameValueCollection loginData)
        {
            FileInfo svgMap = new FileInfo(SVGFileName);

            startTime = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
            // If the map does not exists, try to download it

            if (!svgMap.Exists)
            {
                HttpClientForKosmor.Login(loginData);
                HttpClientForKosmor.DownloadMap();
            }

            /*
             * If the -date parameter is used, the user has to input the date he
             * wishes to use in place of the current date
             */
            /*		if (useCustomDate) {
             *              System.out.println("Please set the date");
             *              BufferedReader reader = new BufferedReader(
             *                      new InputStreamReader(System.in));
             *              SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy HH");
             *              MapTool.date = df.parse(reader.readLine());
             *              cal = MapTool.dateToGMTDate(MapTool.date);
             *          }*/



            planetLister = new PlanetLister(date, getKosmorDate());
            HtmlBuilder.writeHTML(writeWarplanets, writePlanets,
                                  writeNeutral, date,
                                  loginData, fetchInfo);

            if (writeCSV)
            {
                CsvCreator csvCreator = new CsvCreator();
                csvCreator.WriteCSV(date, warplanetList, planetList);
            }

            //XMLParserWriter.serialize(MapTool.planetLister);

            endTime = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
            long time = (endTime - startTime) / 1000;
        }
Exemplo n.º 2
0
        public static void writeWarplanets(bool fetchInfo, List <Planet> warplanetList, StreamWriter sw)
        {
            String house;
            String player;
            int    combatPower;

            int    warplanetListSize       = warplanetList.Count;
            String warplanetListSizeString = String.Format("%.0f", warplanetListSize);

            double value = 0;
            String percentage;

            for (int i = 0; i < warplanetListSize; i++)
            {
                Warplanet warplanet = (Warplanet)warplanetList[i];
                String    url       = createURL(warplanet);
                if (fetchInfo)
                {
                    value      = (i / warplanetListSize) * 100;
                    percentage = String.Format("%.2f", value);

                    String[] info = HttpClientForKosmor.ParsePlanets(url, warplanet, true);
                    house       = info[0];
                    player      = info[1];
                    combatPower = 0;
                    if (warplanet.Ships.Contains("ships"))
                    {
                        combatPower = HttpClientForKosmor.CountShipsOnPlanet(
                            url, warplanet);
                    }
                    warplanet.House       = house;
                    warplanet.Owner       = player;
                    warplanet.CombatPower = combatPower;
                }
                url = createURL(warplanet);
                String link = "<a href=\"" + url + "\">" + warplanet.Name
                              + "</a>";
                String output = warplanet.toHTMLTable(link, fetchInfo);
                sw.WriteLine(output);
                sw.WriteLine(sw.NewLine);
                sw.WriteLine(sw.NewLine);
            }
            sw.WriteLine(sw.NewLine);
        }
Exemplo n.º 3
0
        public static void writePlanets(bool fetchHouse, List <Planet> planetList, StreamWriter sw)
        {
            String house;
            String owner;
            int    combatPower;
            int    planetListSize       = planetList.Count;
            String planetListSizeString = String.Format("%.0f", planetListSize);

            double value = 0;
            String percentage;

            for (int i = 0; i < planetListSize; i++)
            {
                Planet planet = planetList[i];
                String url    = HtmlBuilder.createURL(planet);
                if (fetchHouse)
                {
                    value      = (i / planetListSize) * 100;
                    percentage = String.Format("%.2f", value);


                    Object[] info = HttpClientForKosmor.ParsePlanets(url, planet, false);
                    house       = (String)info[0];
                    owner       = (String)info[1];
                    combatPower = 0;
                    if (planet.Ships.Contains("ships"))
                    {
                        combatPower = HttpClientForKosmor.CountShipsOnPlanet(url, planet);
                    }
                    planet.House       = house;
                    planet.Owner       = owner;
                    planet.CombatPower = combatPower;
                }
                url = HtmlBuilder.createURL(planet);
                String link   = "<a href=\"" + url + "\">" + planet.Name + "</a>";
                String output = planet.toHTMLTable(link);
                sw.WriteLine(output);
                sw.WriteLine(sw.NewLine);
                sw.WriteLine(sw.NewLine);
            }
        }
Exemplo n.º 4
0
        public static void writeHTML(bool doWriteWarplanets, bool doWritePlanets,
                                     bool writeNeutral, DateTime date, NameValueCollection loginData, bool fetchInfo)
        {
            KosmorMapTool.setKosmorDate(date);
            string kosmorDate = KosmorMapTool.getKosmorDate(); // Gets the kosmorDate

            List <Object> warplanetAndPlanetList = PlanetListBuilder.BuildPlanetList(kosmorDate, date, fetchInfo);

            planetList        = (List <Planet>)warplanetAndPlanetList[0];
            warplanetList     = (List <Planet>)warplanetAndPlanetList[1];
            neutralPlanetList = (List <Planet>)warplanetAndPlanetList[2];
            string dateString = KosmorMapTool.dateStringBuilder(kosmorDate, date);
            // Uses the kosmorDate to build the dateString

            //StatusMessageHandler.postStatusMessages(10);

            // Making sure the directory exists, if not, is is created
            DirectoryInfo htmldir = new DirectoryInfo("html");

            if (!htmldir.Exists)
            {
                htmldir.Create();
            }

            string fileName = htmldir + "/" + dateString
                              + (" - Planet & WP List - kosmor.com - .html");
            // Uses the dateString to create the fileName

            StreamWriter fileOut = new StreamWriter(fileName);

            //StatusMessageHandler.postStatusMessages(11);

            initializeHTML(dateString, fileOut);

            HttpClientForKosmor.Login(loginData);

            fileOut.WriteLine("<tbody>");
            fileOut.WriteLine(fileOut.NewLine);
            if (doWriteWarplanets)
            {
                writeWarplanets(fetchInfo, warplanetList, fileOut);
            }
            if (doWritePlanets)
            {
                writePlanets(fetchInfo, planetList, fileOut);
            }

            /*
             * if (writeNeutral) { HTMLBuilder.writeNeutral(fetchInfo,
             * HTMLBuilder.neutralPlanetList, out, httpclient); }
             */
            fileOut.WriteLine("</tbody>");
            fileOut.WriteLine(fileOut.NewLine);
            //httpclient.getConnectionManager().shutdown();
            fileOut.WriteLine("</table>");
            fileOut.WriteLine(fileOut.NewLine);
            importJavaScriptFile(fileOut);
            writeScriptInfo(fileOut);
            fileOut.WriteLine("</form>");
            fileOut.WriteLine(fileOut.NewLine);
            fileOut.WriteLine("</body>");
            fileOut.WriteLine(fileOut.NewLine);
            fileOut.WriteLine("</html>");

            fileOut.Close();

            //StatusMessageHandler.postStatusMessages(15);

            KosmorMapTool.warplanetList     = warplanetList;
            KosmorMapTool.planetList        = planetList;
            KosmorMapTool.neutralPlanetList = neutralPlanetList;
        }