Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
718
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 19.89 KB | None | 0 0
  1. /************************************************
  2.  *
  3.  *
  4.  *
  5.  *
  6.  *
  7.  ************************************************/
  8.  
  9.  
  10. import java.io.IOException;
  11. import java.util.ArrayList;
  12. import java.util.List;
  13. import game.scraper.searchResult;
  14. import game.scraper.gameInformation;
  15. import static jdk.nashorn.internal.objects.NativeString.trim;
  16. import org.jsoup.Jsoup;
  17. import org.jsoup.nodes.Document;
  18. import org.jsoup.nodes.Element;
  19. import org.jsoup.select.Elements;
  20. import java.util.regex.Matcher;
  21. import java.util.regex.Pattern;
  22.  
  23. public class ServiceProvider {
  24.    
  25.     public static String pluginName = "MobyGames";
  26.     public static String authorName = "SthrnFriedChkn";
  27.     public static String pluginVers = "1.0.0.0";
  28.    
  29.     public static String GetPluginName() {
  30.        
  31.         // Return the name of the plugin to the system
  32.         return pluginName;
  33.        
  34.     }
  35.    
  36.     public static String GetAuthorName() {
  37.        
  38.         // Return the name of the author to the system
  39.         return authorName;
  40.        
  41.     }
  42.    
  43.     public static String GetPluginVersion() {
  44.        
  45.         // Return the version of the plugin to the system
  46.         return pluginVers;
  47.        
  48.     }
  49.    
  50.     public static void main(String[] args) throws IOException {
  51.        
  52.         // Returns basic usage information to the system.
  53.             System.out.println(pluginName + " scraper, v" + pluginVers + " (C)opyright 2015, " + authorName);
  54.            
  55.     }
  56.    
  57.     public static List<String> getSupportedSystems() {
  58.            
  59.         // Compile and return a list of supported systems.
  60.         List<String> supportedSystems = new ArrayList();
  61.         supportedSystems.add("All Platforms");
  62.         supportedSystems.add("3DO");
  63.         supportedSystems.add("Acorn 32-bit");
  64.         supportedSystems.add("Amiga");
  65.         supportedSystems.add("Amiga CD32");
  66.         supportedSystems.add("Amstrad CPC");
  67.         supportedSystems.add("Amstrad PCW");
  68.         supportedSystems.add("Android");
  69.         supportedSystems.add("Apple II");
  70.         supportedSystems.add("Apple IIgs");
  71.         supportedSystems.add("Arcade");
  72.         supportedSystems.add("Atari 2600");
  73.         supportedSystems.add("Atari 5200");
  74.         supportedSystems.add("Atari 7800");
  75.         supportedSystems.add("Atari 8-bit");
  76.         supportedSystems.add("Atari ST");
  77.         supportedSystems.add("Atom");
  78.         supportedSystems.add("bada");
  79.         supportedSystems.add("Bally Astrocade");
  80.         supportedSystems.add("BBC Micro");
  81.         supportedSystems.add("BlackBerry");
  82.         supportedSystems.add("BREW");
  83.         supportedSystems.add("Browser");
  84.         supportedSystems.add("Camputers Lynx");
  85.         supportedSystems.add("Casio Loopy");
  86.         supportedSystems.add("Casio PV-1000");
  87.         supportedSystems.add("CD-i");
  88.         supportedSystems.add("CDTV");
  89.         supportedSystems.add("Channel F");
  90.         supportedSystems.add("Coleco Adam");
  91.         supportedSystems.add("ColecoVision");
  92.         supportedSystems.add("Commodore 128");
  93.         supportedSystems.add("Commodore 16, Plus/4");
  94.         supportedSystems.add("Commodore 64");
  95.         supportedSystems.add("Commodore PET/CBM");
  96.         supportedSystems.add("DoJa");
  97.         supportedSystems.add("DOS");
  98.         supportedSystems.add("Dragon 32/64");
  99.         supportedSystems.add("Dreamcast");
  100.         supportedSystems.add("Electron");
  101.         supportedSystems.add("Epoch Cassette Vision");
  102.         supportedSystems.add("Epoch Game Pocket Computer");
  103.         supportedSystems.add("ExEn");
  104.         supportedSystems.add("Fire OS");
  105.         supportedSystems.add("FM-7");
  106.         supportedSystems.add("FM Towns");
  107.         supportedSystems.add("Game Boy");
  108.         supportedSystems.add("Game Boy Advance");
  109.         supportedSystems.add("Game Boy Color");
  110.         supportedSystems.add("Game.Com");
  111.         supportedSystems.add("GameCube");
  112.         supportedSystems.add("Game Gear");
  113.         supportedSystems.add("GameStick");
  114.         supportedSystems.add("Game Wave");
  115.         supportedSystems.add("Genesis");
  116.         supportedSystems.add("Gizmondo");
  117.         supportedSystems.add("GP2X");
  118.         supportedSystems.add("GP2X Wiz");
  119.         supportedSystems.add("GP32");
  120.         supportedSystems.add("Intellivision");
  121.         supportedSystems.add("iPad");
  122.         supportedSystems.add("iPhone");
  123.         supportedSystems.add("iPod Classic");
  124.         supportedSystems.add("J2ME");
  125.         supportedSystems.add("Jaguar");
  126.         supportedSystems.add("Jupiter Ace");
  127.         supportedSystems.add("Kindle Classic");
  128.         supportedSystems.add("Linux");
  129.         supportedSystems.add("Lynx");
  130.         supportedSystems.add("Macintosh");
  131.         supportedSystems.add("Maemo");
  132.         supportedSystems.add("Mattel Aquarius");
  133.         supportedSystems.add("MeeGo");
  134.         supportedSystems.add("Memotech MTX");
  135.         supportedSystems.add("Microvision");
  136.         supportedSystems.add("Mophun");
  137.         supportedSystems.add("MSX");
  138.         supportedSystems.add("Neo Geo");
  139.         supportedSystems.add("Neo Geo CD");
  140.         supportedSystems.add("Neo Geo Pocket");
  141.         supportedSystems.add("Neo Geo Pocket Color");
  142.         supportedSystems.add("NES");
  143.         supportedSystems.add("N-Gage");
  144.         supportedSystems.add("N-Gage (service)");
  145.         supportedSystems.add("Nintendo 3DS");
  146.         supportedSystems.add("Nintendo 64");
  147.         supportedSystems.add("Nintendo DS");
  148.         supportedSystems.add("Nintendo DSi");
  149.         supportedSystems.add("Nuon");
  150.         supportedSystems.add("Odyssey");
  151.         supportedSystems.add("Odyssey 2");
  152.         supportedSystems.add("Oric");
  153.         supportedSystems.add("OS/2");
  154.         supportedSystems.add("Ouya");
  155.         supportedSystems.add("Palm OS");
  156.         supportedSystems.add("PC-6001");
  157.         supportedSystems.add("PC-88");
  158.         supportedSystems.add("PC-98");
  159.         supportedSystems.add("PC Booter");
  160.         supportedSystems.add("PC-FX");
  161.         supportedSystems.add("Philips VG 5000");
  162.         supportedSystems.add("Pippin");
  163.         supportedSystems.add("Playdia");
  164.         supportedSystems.add("PlayStation");
  165.         supportedSystems.add("PlayStation 2");
  166.         supportedSystems.add("PlayStation 3");
  167.         supportedSystems.add("PlayStation 4");
  168.         supportedSystems.add("Pokémon Mini");
  169.         supportedSystems.add("PSP");
  170.         supportedSystems.add("PS Vita");
  171.         supportedSystems.add("RCA Studio II");
  172.         supportedSystems.add("SAM Coupé");
  173.         supportedSystems.add("SEGA 32X");
  174.         supportedSystems.add("SEGA CD");
  175.         supportedSystems.add("SEGA Master System");
  176.         supportedSystems.add("SEGA Pico");
  177.         supportedSystems.add("SEGA Saturn");
  178.         supportedSystems.add("SG-1000");
  179.         supportedSystems.add("Sharp X1");
  180.         supportedSystems.add("Sharp X68000");
  181.         supportedSystems.add("Sinclair QL");
  182.         supportedSystems.add("SNES");
  183.         supportedSystems.add("Sord M5");
  184.         supportedSystems.add("Spectravideo");
  185.         supportedSystems.add("Super A'can");
  186.         supportedSystems.add("SuperGrafx");
  187.         supportedSystems.add("Supervision");
  188.         supportedSystems.add("Symbian");
  189.         supportedSystems.add("Tatung Einstein");
  190.         supportedSystems.add("Thomson MO");
  191.         supportedSystems.add("Thomson TO");
  192.         supportedSystems.add("TI-99/4A");
  193.         supportedSystems.add("Tomy Tutor");
  194.         supportedSystems.add("TRS-80");
  195.         supportedSystems.add("TRS-80 CoCo");
  196.         supportedSystems.add("TurboGrafx-16");
  197.         supportedSystems.add("TurboGrafx CD");
  198.         supportedSystems.add("Vectrex");
  199.         supportedSystems.add("VIC-20");
  200.         supportedSystems.add("Videopac+ G7400");
  201.         supportedSystems.add("Virtual Boy");
  202.         supportedSystems.add("V.Smile");
  203.         supportedSystems.add("webOS");
  204.         supportedSystems.add("Wii");
  205.         supportedSystems.add("Wii U");
  206.         supportedSystems.add("Windows");
  207.         supportedSystems.add("Windows 3.x");
  208.         supportedSystems.add("Windows Mobile");
  209.         supportedSystems.add("Windows Phone");
  210.         supportedSystems.add("WonderSwan");
  211.         supportedSystems.add("WonderSwan Color");
  212.         supportedSystems.add("Xbox");
  213.         supportedSystems.add("Xbox 360");
  214.         supportedSystems.add("Xbox One");
  215.         supportedSystems.add("Zeebo");
  216.         supportedSystems.add("Zodiac");
  217.         supportedSystems.add("ZX80");
  218.         supportedSystems.add("ZX81");
  219.         supportedSystems.add("ZX Spectrum");
  220.         return supportedSystems;
  221.     }
  222.    
  223.     public static class GetGame {
  224.        
  225.         public static void main(String[] args) throws IOException {
  226.             /* This code is executed whenever the system queries the script. */
  227.             System.out.println(pluginName + " scraper, v" + pluginVers + " (C)opyright 2015, " + authorName);
  228.         }
  229.        
  230.         /******************************************************************************************
  231.          * getInfo() will return a gameInformation object back to the calling object.  All you needed
  232.          * to do is pass getInfo() an URL where the game information is stored on mobygames.com.
  233.          *
  234.          * gameInformation fields:
  235.          *
  236.          * publishedBy = the name of the company whom published the game.
  237.          * developedBy = the name of the developing company.
  238.          * releaseDate = the release date of the game.
  239.          * gameGenre = the genre of the game (if applicable).
  240.          * gamePerspective = the perspective in which the game is played (if applicable).
  241.          * gameScore = the user rating of the game (not the moby score (which is useless)).
  242.          * gameScreenshots = a List<String> of screenshot URL's gathered by the scraper.
  243.          * gameOtherArtwork = a List<String> of other artwork URL's gathered by the scraper.
  244.          ******************************************************************************************/
  245.          
  246.         public static gameInformation getInfo(String queryUrl) {
  247.            
  248.             // Declare the screenshot URL & artwork URL (appended to original URL).
  249.             String screenshotUrl = queryUrl + "/screenshots";
  250.             String artworkUrl = queryUrl + "/";
  251.             gameInformation returnInformation = new gameInformation();
  252.             try {
  253.                 // Connnect to the site using a Mozilla/5 based client.
  254.                 Document generalInfo = Jsoup.connect(queryUrl).userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").get();
  255.                 Elements div = generalInfo.select("#coreGameRelease div");
  256.  
  257.                 // Begin the extraction of the basic elements.
  258.                 int countBase = 0;
  259.                 for (Element qt : div) {
  260.                    
  261.                     if (countBase == 1) {
  262.                         returnInformation.publishedBy = qt.text();
  263.                     }
  264.                     if (countBase == 3) {
  265.                         returnInformation.developedBy = qt.text();
  266.                     }
  267.                     if (countBase == 5) {
  268.                         returnInformation.releaseDate = qt.text();
  269.                     }
  270.                     countBase++;
  271.                 }
  272.                
  273.                 Elements genre = generalInfo.select("#coreGameGenre div div");
  274.                 // Begin the extraction of genre & perspective.
  275.                 int genreBase = 0;
  276.                 for (Element qt : genre) {
  277.                     if (genreBase == 1) {
  278.                         returnInformation.gameGenre = qt.text();
  279.                     }
  280.                     if (genreBase == 3) {
  281.                         returnInformation.gamePerspective = qt.text();
  282.                     }
  283.                     genreBase++;
  284.                 }
  285.                
  286.                 // Extract the games user score rating.
  287.                 returnInformation.gameScore = generalInfo.select(".fr.scoreBoxMed.scoreHi").first().text();
  288.                
  289.                 // Get the uncut wrapper text which contains the description and alot of other
  290.                 // useless information.
  291.                 String rawDescription = generalInfo.select("#wrapper").first().text();
  292.                
  293.                 // Setup our regex patters.
  294.                 String pattern1 = "Description";
  295.                 String pattern2 = "[edit description | view history]";
  296.                
  297.                 Pattern p = Pattern.compile(Pattern.quote(pattern1) + "(.*?)" + Pattern.quote(pattern2));
  298.                 Matcher m = p.matcher(rawDescription);
  299.                
  300.                 // Begin using regex to extract the full description.
  301.                 while (m.find()) {
  302.                     returnInformation.gameDescription = m.group(1);
  303.                 }
  304.            
  305.                 // Connnect to the screenshot site using a Mozilla/5 based client.
  306.                 Document imageInfo = Jsoup.connect(screenshotUrl).userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").get();
  307.                 Elements rows = imageInfo.select(".row img");
  308.  
  309.                 // Begin the extraction of image URL's
  310.                 for (Element image : rows) {
  311.                     returnInformation.gameScreenshots.add(image.attr("abs:src"));
  312.                 }
  313.                
  314.                 // Remove the first and last index from the array (they are MobyGames.com logos).
  315.                 returnInformation.gameScreenshots.remove(0);
  316.                 returnInformation.gameScreenshots.remove(returnInformation.gameScreenshots.size() -1);
  317.             }catch(IOException e) {
  318.                 e.printStackTrace();
  319.             }
  320.            
  321.             // Last but not least return the object to the
  322.             // calling system.
  323.             return returnInformation;
  324.            
  325.         }
  326.        
  327.     }
  328.    
  329.     public static class SearchGames {
  330.        
  331.         /******************************************************************************************
  332.          * SearchGames will return a list of all available games found
  333.          * using the scraper SearchGames method.  Each searchResults
  334.          * contain two parameters used to identify the game being searched
  335.          * for:
  336.          *
  337.          * searchGame.gameName = The name given by the search provider.
  338.          * searchGame.defaultLink = The default link to the game as given by the provider.
  339.          * searchGame.gameSystem = A list containing the system name (to the left) and the
  340.          *  URL (to the right), this list is parsed using an '|' as a separator
  341.          *  (ie SNES|http://www.mobygames.com/game/snes/super-mario-world).
  342.          *
  343.          * The above values will return all the information needed to pull a game
  344.          * and pass it to the processor class when called.
  345.          ******************************************************************************************/
  346.        
  347.         public static void main(String[] args) throws IOException {
  348.             /* This code is executed whenever the system queries the script. */
  349.             System.out.println(pluginName + " scraper, v" + pluginVers + " (C)opyright 2015, " + authorName);
  350.         }
  351.        
  352.         // returnSystem() returns the numerical value associated with
  353.         // each system.
  354.         public static String returnSystem(String inputId) {
  355.            
  356.             switch(inputId) {
  357.                 case "All Platforms": return "-1";
  358.                 case "3D0": return "35";
  359.                 case "Acorn 32-bit": return "117";
  360.                 case "Amiga": return "19";
  361.                 case "Amiga CD32": return "56";
  362.                 case "Amstrad CPC": return "60";
  363.                 case "Amstrad PCW": return "136";
  364.                 case "Android": return "91";
  365.                 case "Apple II": return "31";
  366.                 case "Apple IIgs": return "51";
  367.                 case "Arcade": return "143";
  368.                 case "Atari 2600": return "28";
  369.                 case "Atari 5200": return "33";
  370.                 case "Atari 7800": return "34";
  371.                 case "Atari 8-bit": return "39";
  372.                 case "Atari ST": return "24";
  373.                 case "Atom": return "129";
  374.                 case "bada": return "99";
  375.                 case "Bally Astrocade": return "160";
  376.                 case "BBC Micro": return "92";
  377.                 case "BlackBerry": return "90";
  378.                 case "BREW": return "63";
  379.                 case "Browser": return "84";
  380.                 case "Camputers Lynx": return "154";
  381.                 case "Casio Loopy": return "124";
  382.                 case "Casio PV-1000": return "125";
  383.                 case "CD-i": return "73";
  384.                 case "CDTV": return "83";
  385.                 case "Channel F": return "76";
  386.                 case "Coleco Adam": return "156";
  387.                 case "ColecoVision": return "29";
  388.                 case "Commodore 128": return "61";
  389.                 case "Commodore 16, Plus/4": return "115";
  390.                 case "Commodore 64": return "27";
  391.                 case "Commodore PET/CBM": return "77";
  392.                 case "DoJa": return "72";
  393.                 case "DOS": return "2";
  394.                 case "Dragon 32/64": return "79";
  395.                 case "Dreamcast": return "8";
  396.                 case "Electron": return "93";
  397.                 case "Epoch Cassette Vision": return "137";
  398.                 case "Epoch Game Pocket Computer": return "139";
  399.                 case "Epoch Super Cassette Vision": return "138";
  400.                 case "ExEn": return "70";
  401.                 case "Fire OS": return "159";
  402.                 case "FM-7": return "126";
  403.                 case "FM Towns": return "102";
  404.                 case "Game Boy": return "10";
  405.                 case "Game Boy Advance": return "12";
  406.                 case "Game Boy Color": return "11";
  407.                 case "Game.com": return "50";
  408.                 case "GameCube": return "14";
  409.                 case "GameStick": return "155";
  410.                 case "Game Wave": return "104";
  411.                 case "Genesis": return "16";
  412.                 case "Gizmondo": return "55";
  413.                 case "GP2X": return "122";
  414.                 case "GP2X Wiz": return "123";
  415.                 case "GP32": return "108";
  416.                 case "Intellivision": return "30";
  417.                 case "iPad": return "96";
  418.                 case "iPhone": return "86";
  419.                 case "iPod Classic": return "80";
  420.                 case "J2ME": return "64";
  421.                 case "Jaguar": return "17";
  422.                 case "Jupiter Ace": return "153";
  423.                 case "Kindle Classic": return "145";
  424.                 case "Linux": return "1";
  425.                 case "Lynx": return "18";
  426.                 case "Macintosh": return "74";
  427.                 case "Maemo": return "157";
  428.                 case "Mattel Aquarius": return "135";
  429.                 case "MeeGo": return "158";
  430.                 case "Memotech MTX": return "148";
  431.                 case "Microvision": return "97";
  432.                 case "Mophun": return "71";
  433.                 case "MSX": return "57";
  434.                 case "Neo Geo": return "36";
  435.                 case "Neo Geo CD": return "36";
  436.                 case "Neo Geo Pocket": return "52";
  437.                 case "Neo Geo Pocket Color": return "53";
  438.                 case "NES": return "22";
  439.                 case "N-Gage": return "32";
  440.                 case "N-Gage (service)": return "89";
  441.                 case "Nintendo 3DS": return "101";
  442.                 case "Nintendo 64": return "9";
  443.                 case "Nintendo DS": return "44";
  444.                 case "Nintendo DSi": return "87";
  445.                 case "Nuon": return "116";
  446.                 case "Odyssey": return "75";
  447.                 case "Odyssey 2": return "78";
  448.                 case "Oric": return "111";
  449.                 case "OS/2": return "146";
  450.                 case "Ouya": return "144";
  451.                 case "Palm OS": return "65";
  452.                 case "PC-6001": return "149";
  453.                 case "PC-88": return "94";
  454.                 case "PC-98": return "95";
  455.                 case "PC Booter": return "4";
  456.                 case "PC-FX": return "59";
  457.                 case "Philips VG 5000": return "133";
  458.                 case "Pippin": return "112";
  459.                 case "Playdia": return "107";
  460.                 case "PlayStation": return "6";
  461.                 case "PlayStation 2": return "7";
  462.                 case "PlayStation 3": return "81";
  463.                 case "PlayStation 4": return "141";
  464.                 case "Pokémon Mini": return "152";
  465.                 case "PSP": return "46";
  466.                 case "PS Vita": return "105";
  467.                 case "RCA Studio II": return "113";
  468.                 case "SAM Coupé": return "120";
  469.                 case "SEGA 32X": return "21";
  470.                 case "SEGA CD": return "20";
  471.                 case "SEGA Master System": return "26";
  472.                 case "SEGA Pico": return "103";
  473.                 case "SEGA Saturn": return "23";
  474.                 case "SG-1000": return "114";
  475.                 case "Sharp X1": return "121";
  476.                 case "Sharp X68000": return "106";
  477.                 case "Sinclair QL": return "131";
  478.                 case "SNES": return "15";
  479.                 case "Sord M5": return "134";
  480.                 case "Spectravideo": return "85";
  481.                 case "Super A'can": return "110";
  482.                 case "SuperGrafx": return "127";
  483.                 case "Supervision": return "109";
  484.                 case "Symbian": return "67";
  485.                 case "Tatung Einstein": return "150";
  486.                 case "Thomson MO": return "147";
  487.                 case "Thomson TO": return "130";
  488.                 case "TI-99/4A": return "47";
  489.                 case "Tomy Tutor": return "151";
  490.                 case "TRS-80": return "58";
  491.                 case "TRS-80 CoCo": return "62";
  492.                 case "TurboGrafx-16": return "40";
  493.                 case "TurboGrafx CD": return "45";
  494.                 case "Vectrex": return "37";
  495.                 case "VIC-20": return "43";
  496.                 case "Videopac+ G7400": return "128";
  497.                 case "Virtual Boy": return "38";
  498.                 case "V.Smile": return "42";
  499.                 case "webOS": return "100";
  500.                 case "Wii": return "132";
  501.                 case "Wii U": return "132";
  502.                 case "Windows": return "3";
  503.                 case "Windows 3.x": return "5";
  504.                 case "Windows Mobile": return "66";
  505.                 case "Windows Phone": return "98";
  506.                 case "WonderSwan": return "48";
  507.                 case "WonderSwan Color": return "49";
  508.                 case "Xbox": return "13";
  509.                 case "Xbox 360": return "69";
  510.                 case "Xbox One": return "142";
  511.                 case "Zeebo": return "88";
  512.                 case "Zodiac": return "68";
  513.                 case "ZX80": return "118";
  514.                 case "ZX81": return "119";
  515.                 case "ZX Spectrum": return "41";
  516.                 default: return "-1";
  517.             }
  518.         }
  519.        
  520.         public static List<searchResult> doSearch(String[] args) {
  521.            
  522.             String gameName = args[0];
  523.             String systemName = args[1];
  524.            
  525.             List<searchResult> searchResults = new ArrayList<searchResult>();
  526.            
  527.             try {
  528.                 Document doc = Jsoup.connect("http://www.mobygames.com/search/quick?q=" + gameName + "&p=" + returnSystem(systemName) + "&search=Go&sFilter=1&sG=on").userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").get();
  529.                 Elements div = doc.select(".searchResult");
  530.  
  531.                 for (Element qt : div) {
  532.                     searchResult gameResult = new searchResult();
  533.                     Element vr = qt.select(".searchTitle a").first();
  534.                     gameResult.gameName = vr.text();
  535.                     gameResult.defaultLink = vr.attr("abs:href");
  536.  
  537.                     if ("-1".equals(returnSystem(systemName))) {
  538.                         Elements systems = qt.select(".searchDetails a");
  539.                         for (Element rt : systems) {
  540.                             gameResult.gameSystem.add(rt.text() + "|" + rt.attr("abs:href"));
  541.                         }
  542.                     }else {
  543.                         gameResult.gameSystem.add(systemName);
  544.                     }
  545.                    
  546.                     searchResults.add(gameResult);
  547.                 }
  548.             }catch(IOException e) {
  549.                 e.printStackTrace();
  550.             }
  551.            
  552.             return searchResults;
  553.         }
  554.     }
  555. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement