From 9df2ffe29154a4fe3cf0769d7d3f954a384381fa Mon Sep 17 00:00:00 2001 From: David Date: Wed, 23 Sep 2020 11:30:59 +0200 Subject: [PATCH] Initial commit --- LICENSE.md | 22 ++++ README.md | 50 ++++++++ build.gradle | 29 +++++ src/advisor/Main.java | 97 +++++++++++++++ src/advisor/auth/Authorization.java | 42 +++++++ src/advisor/auth/LocalServer.java | 61 ++++++++++ src/advisor/config/Params.java | 27 +++++ src/advisor/controller/AdvisorController.java | 112 ++++++++++++++++++ src/advisor/model/AdvisorModel.java | 28 +++++ src/advisor/resources/auth.png | Bin 0 -> 11494 bytes src/advisor/resources/categories.png | Bin 0 -> 4868 bytes src/advisor/resources/exit.png | Bin 0 -> 1630 bytes src/advisor/resources/featured.png | Bin 0 -> 32288 bytes src/advisor/resources/new.png | Bin 0 -> 39389 bytes src/advisor/resources/playlists.png | Bin 0 -> 36120 bytes src/advisor/view/AdvisorView.java | 55 +++++++++ 16 files changed, 523 insertions(+) create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 build.gradle create mode 100644 src/advisor/Main.java create mode 100644 src/advisor/auth/Authorization.java create mode 100644 src/advisor/auth/LocalServer.java create mode 100644 src/advisor/config/Params.java create mode 100644 src/advisor/controller/AdvisorController.java create mode 100644 src/advisor/model/AdvisorModel.java create mode 100644 src/advisor/resources/auth.png create mode 100644 src/advisor/resources/categories.png create mode 100644 src/advisor/resources/exit.png create mode 100644 src/advisor/resources/featured.png create mode 100644 src/advisor/resources/new.png create mode 100644 src/advisor/resources/playlists.png create mode 100644 src/advisor/view/AdvisorView.java diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..fc7a97f --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2020 David Álvarez González + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b29982c --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# MusicAdvisor +CLI app using Spotify API to create a personal music advisor that makes preference-based suggestions and even shares links to new releases and featured playlists. + +## How to run +In root of the project: + + > gradle run -q --console=plain + + +## Parameters +`-access` + +Authorization server path. If it isn't set, default server is https://accounts.spotify.com + +`-resource` + +API server path. If it isn't set, default server is https://api.spotify.com + +`-page` + +Number of entries that should be shown on a page. If it isn't set, default value is 5. + +## Commands +`auth` Creates a link to confirm access of the app. + +![](src/advisor/resources/auth.png) + +`featured` Gets a paginated list of Spotify-featured playlists with their links fetched from API. + +![](src/advisor/resources/featured.png) + +`new` Gets a paginated list of new albums with artists and links on Spotify. + +![](src/advisor/resources/new.png) + +`categories` Gets a paginated list of all available categories on Spotify (just their names) + +![](src/advisor/resources/categories.png) + +`playlists C_NAME` Gets a paginated list containing playlists of this category (where C_NAME is the name of category) and their links on Spotify. + +![](src/advisor/resources/playlists.png) + +`next` Goes to next page. + +`prev` Goes to previous page. + +`exit` Exits the program. + +![](src/advisor/resources/exit.png) \ No newline at end of file diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..3bd785d --- /dev/null +++ b/build.gradle @@ -0,0 +1,29 @@ +apply plugin: 'java' +apply plugin: 'application' + +group 'advisor' +version '1.0-SNAPSHOT' + +sourceCompatibility = 11 +mainClassName = 'advisor.Main' + +repositories { + mavenCentral() +} + +dependencies { + compile 'com.google.code.gson:gson:+' +} + +jar { + manifest { + attributes 'Main-Class' : 'advisor.Main' + } + from { + configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + } +} + +run{ + standardInput = System.in +} \ No newline at end of file diff --git a/src/advisor/Main.java b/src/advisor/Main.java new file mode 100644 index 0000000..4b92481 --- /dev/null +++ b/src/advisor/Main.java @@ -0,0 +1,97 @@ +package advisor; + +import advisor.auth.Authorization; +import advisor.auth.LocalServer; +import advisor.config.Params; +import advisor.controller.AdvisorController; +import advisor.model.AdvisorModel; +import advisor.view.AdvisorView; + +import java.util.List; +import java.util.Scanner; +import java.util.StringJoiner; + +public class Main { + + public static void main(String[] args) throws Exception { + Scanner sc = new Scanner(System.in); + String accessServer = Params.ACCESS_SERVER; + String resourceServer = Params.RESOURCE_SERVER; + boolean userAuth = false, exit = false, access = false, resource = false, page = false; + + for (int i = 0; i < args.length; i++) { + if (args[i].equals("-access") && !access) { + accessServer = args[i + 1]; + access = true; + i++; + } + if (args[i].equals("-resource") && !resource) { + resourceServer = args[i + 1]; + resource = true; + i++; + } + if (args[i].equals("-page") && !page) { + Params.RESULTS_PER_PAGE = Integer.parseInt(args[i + 1]); + page = true; + i++; + } + } + + AdvisorController advisorController = new AdvisorController(resourceServer); + + while (!exit) { + String[] input = sc.nextLine().split("\\s+"); + if (!userAuth) { + if (input[0].equals("auth")) { + LocalServer localServer = new LocalServer(accessServer); + localServer.startServer(); + localServer.getCode(); + localServer.stopServer(); + Authorization authorization = new Authorization(accessServer); + authorization.getToken(); + userAuth = true; + AdvisorView.printMessage(Params.SUCCESS); + } else { + AdvisorView.printMessage(Params.ANSWER_DENIED_ACCESS); + } + } else { + switch (input[0]) { + case "featured": + AdvisorView.print(advisorController.getFeaturedPlaylists()); + break; + case "new": + AdvisorView.print(advisorController.getNewReleases()); + break; + case "categories": + AdvisorView.print(advisorController.getCategories()); + break; + case "playlists": + StringJoiner sj = new StringJoiner(" "); + for (int i = 1; i < input.length; i++) { + sj.add(input[i]); + } + String categoryName = sj.toString(); + List categoryPlaylists = advisorController.getCategoryPlaylists(categoryName); + if (categoryPlaylists != null) { + AdvisorView.print(categoryPlaylists); + } else { + AdvisorView.printMessage(Params.UNKNOWN_CATEGORY_NAME); + } + break; + case "next": + AdvisorView.printNextPage(); + break; + case "prev": + AdvisorView.printPrevPage(); + break; + case "exit": + AdvisorView.printMessage(Params.GOODBYE); + exit = true; + break; + default: + AdvisorView.printMessage(Params.INCORRECT_COMMAND); + } + } + } + } +} \ No newline at end of file diff --git a/src/advisor/auth/Authorization.java b/src/advisor/auth/Authorization.java new file mode 100644 index 0000000..f041cac --- /dev/null +++ b/src/advisor/auth/Authorization.java @@ -0,0 +1,42 @@ +package advisor.auth; + +import advisor.config.Params; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +import java.io.IOException; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; + +public class Authorization { + + private static String accessServer; + + public Authorization(String accessServer) { + Authorization.accessServer = accessServer; + } + + public void getToken() throws IOException, InterruptedException { + + System.out.println(Params.MAKING_HTTP_REQUEST_FOR_TOKEN); + + HttpRequest request = HttpRequest.newBuilder() + .POST(HttpRequest.BodyPublishers.ofString( + "client_id=" + Params.CLIENT_ID + + "&client_secret=" + Params.CLIENT_SECRET + + "&grant_type=" + Params.GRANT_TYPE + + "&code=" + Params.AUTH_CODE + + "&redirect_uri=" + Params.REDIRECT_URI)) + .header("Content-Type", "application/x-www-form-urlencoded") + .uri(URI.create(accessServer + Params.TOKEN_PART)) + .build(); + + HttpClient client = HttpClient.newBuilder().build(); + HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); + + JsonObject responseJson = JsonParser.parseString(response.body()).getAsJsonObject(); + Params.TOKEN_CODE = responseJson.get("access_token").getAsString(); + } +} diff --git a/src/advisor/auth/LocalServer.java b/src/advisor/auth/LocalServer.java new file mode 100644 index 0000000..a258d87 --- /dev/null +++ b/src/advisor/auth/LocalServer.java @@ -0,0 +1,61 @@ +package advisor.auth; + +import advisor.config.Params; +import com.sun.net.httpserver.HttpServer; + +import java.io.IOException; +import java.net.InetSocketAddress; + +public class LocalServer { + + private static String accessServer; + private static HttpServer httpServer; + + public LocalServer(String accessServer) { + LocalServer.accessServer = accessServer; + } + + public void startServer() throws IOException { + httpServer = HttpServer.create(); + httpServer.bind(new InetSocketAddress(8080), 0); + httpServer.start(); + } + + public void getCode() throws InterruptedException { + System.out.println("use this link to request the access code:"); + System.out.println(accessServer + Params.AUTHORIZE_PART + + "?client_id=" + Params.CLIENT_ID + + "&redirect_uri=" + Params.REDIRECT_URI + + "&response_type=" + Params.RESPONSE_TYPE); + System.out.println("waiting for code..."); + + httpServer.createContext("/", + exchange -> { + String code = exchange.getRequestURI().getQuery(); + String result, answer; + + if (code != null && code.contains("code")) { + Params.AUTH_CODE = code.substring(5); + result = "Got the code. Return back to your program."; + answer = "code received"; + } else { + result = "Not found authorization code. Try again."; + answer = "code not received"; + } + + exchange.sendResponseHeaders(200, result.length()); + exchange.getResponseBody().write(result.getBytes()); + exchange.getResponseBody().close(); + + System.out.println(answer); + } + ); + while (Params.AUTH_CODE.equals("")) { + Thread.sleep(10); + } + } + + public void stopServer() { + httpServer.stop(10); + } +} diff --git a/src/advisor/config/Params.java b/src/advisor/config/Params.java new file mode 100644 index 0000000..7271f33 --- /dev/null +++ b/src/advisor/config/Params.java @@ -0,0 +1,27 @@ +package advisor.config; + +public class Params { + public static final String CLIENT_ID = "dd6e7d19d2624ee48db69174ac093a2f"; + public static final String CLIENT_SECRET = "84fcf5eab40a4854a722bd95802cec5c"; + public static final String AUTHORIZE_PART = "/authorize"; + public static final String RESPONSE_TYPE = "code"; + public static final String TOKEN_PART = "/api/token"; + public static final String GRANT_TYPE = "authorization_code"; + public static final String ACCESS_SERVER = "https://accounts.spotify.com"; + public static final String RESOURCE_SERVER = "https://api.spotify.com"; + public static final String NEW_RELEASES= "/v1/browse/new-releases"; + public static final String MAKING_HTTP_REQUEST_FOR_TOKEN= "making http request for access_token..."; + public static final String FEATURED_PLAYLISTS= "/v1/browse/featured-playlists"; + public static final String CATEGORIES = "/v1/browse/categories"; + public static final String PLAYLISTS= "/playlists"; + public static final String REDIRECT_URI = "http://localhost:8080"; + public static final String SUCCESS = "---SUCCESS---"; + public static final String ANSWER_DENIED_ACCESS = "Please, provide access for application."; + public static final String UNKNOWN_CATEGORY_NAME = "Unknown category name."; + public static final String GOODBYE = "---GOODBYE!---"; + public static final String INCORRECT_COMMAND = "Incorrect command. Try again."; + public static final String NO_MORE_PAGES = "No more pages."; + public static String AUTH_CODE = ""; + public static String TOKEN_CODE = ""; + public static int RESULTS_PER_PAGE = 5; +} \ No newline at end of file diff --git a/src/advisor/controller/AdvisorController.java b/src/advisor/controller/AdvisorController.java new file mode 100644 index 0000000..c678a6b --- /dev/null +++ b/src/advisor/controller/AdvisorController.java @@ -0,0 +1,112 @@ +package advisor.controller; + +import advisor.model.AdvisorModel; +import advisor.config.Params; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +import java.io.IOException; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.StringJoiner; + +public class AdvisorController { + private static String resourceServer; + + public AdvisorController(String resourceServer) { + AdvisorController.resourceServer = resourceServer; + } + + public List getNewReleases() throws IOException, InterruptedException { + List newReleases = new ArrayList<>(); + HttpRequest newReleasesRequest = createRequest(resourceServer + Params.NEW_RELEASES); + for (JsonElement item: Objects.requireNonNull(getJsonItems(newReleasesRequest, "albums"))) { + AdvisorModel album = new AdvisorModel(); + album.setAlbum(item.getAsJsonObject().get("name").toString()); + StringJoiner joiner = new StringJoiner(", ", "[", "]"); + for (JsonElement artist: item.getAsJsonObject().getAsJsonArray("artists")) { + String artistName = artist.getAsJsonObject().get("name").getAsString(); + joiner.add(artistName); + } + album.setArtists(String.valueOf(joiner)); + album.setLink(item.getAsJsonObject().get("external_urls").getAsJsonObject().get("spotify").toString()); + newReleases.add(album); + } + return newReleases; + } + + public List getFeaturedPlaylists() throws IOException, InterruptedException { + List featuredPlaylists = new ArrayList<>(); + HttpRequest featuredPlaylistsRequest = createRequest(resourceServer + Params.FEATURED_PLAYLISTS); + return getPlaylists(featuredPlaylists, featuredPlaylistsRequest); + } + + private List getPlaylists(List categoryPlaylists, HttpRequest categoryPlaylistsRequest) throws IOException, InterruptedException { + for (JsonElement item: Objects.requireNonNull(getJsonItems(categoryPlaylistsRequest, "playlists"))) { + AdvisorModel categoryPlaylist = new AdvisorModel(); + categoryPlaylist.setAlbum(item.getAsJsonObject().get("name").toString()); + categoryPlaylist.setLink(item.getAsJsonObject().get("external_urls").getAsJsonObject().get("spotify").toString()); + categoryPlaylists.add(categoryPlaylist); + } + return categoryPlaylists; + } + + public List getCategories() throws IOException, InterruptedException { + List categories = new ArrayList<>(); + HttpRequest categoriesRequest = createRequest(resourceServer + Params.CATEGORIES); + for (JsonElement item: Objects.requireNonNull(getJsonItems(categoriesRequest, "categories"))) { + AdvisorModel category = new AdvisorModel(); + category.setAlbum(item.getAsJsonObject().get("name").toString()); + categories.add(category); + } + return categories; + } + + public List getCategoryPlaylists(String categoryName) throws IOException, InterruptedException { + List categoryPlaylists = new ArrayList<>(); + String categoryID = getCategoryIdByCategoryName(categoryName); + HttpRequest categoryPlaylistsRequest = + createRequest(resourceServer + Params.CATEGORIES + "/" + categoryID + Params.PLAYLISTS); + return (categoryID == null) ? null : getPlaylists(categoryPlaylists, categoryPlaylistsRequest); + } + + private String getCategoryIdByCategoryName(String categoryName) throws IOException, InterruptedException { + HttpRequest categories = createRequest(resourceServer + Params.CATEGORIES); + JsonArray items = getJsonItems(categories, "categories"); + assert items != null; + for(JsonElement item: items){ + String name = item.getAsJsonObject().get("name").getAsString(); + if(categoryName.equalsIgnoreCase(name)){ + return item.getAsJsonObject().get("id").getAsString(); + } + } + return null; + } + + private JsonArray getJsonItems(HttpRequest request, String element) throws IOException, InterruptedException { + HttpClient client = HttpClient.newBuilder().build(); + HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); + JsonObject responseJson = JsonParser.parseString(response.body()).getAsJsonObject(); + if (responseJson.get("error") == null){ + JsonObject featured = responseJson.getAsJsonObject(element); + return featured.getAsJsonArray("items"); + } + System.out.println(responseJson.getAsJsonObject("error").get("message").getAsString()); + return null; + } + + private static HttpRequest createRequest(String requestedFeatureURL) { + return HttpRequest.newBuilder() + .header("Authorization", "Bearer " + Params.TOKEN_CODE) + .uri(URI.create(requestedFeatureURL)) + .GET() + .build(); + } +} \ No newline at end of file diff --git a/src/advisor/model/AdvisorModel.java b/src/advisor/model/AdvisorModel.java new file mode 100644 index 0000000..e36ae79 --- /dev/null +++ b/src/advisor/model/AdvisorModel.java @@ -0,0 +1,28 @@ +package advisor.model; + +public class AdvisorModel { + String album = null; + String artists = null; + String link = null; + + public void setAlbum(String album) { + this.album = album; + } + + public void setArtists(String authors) { + this.artists = authors; + } + + public void setLink(String link) { + this.link = link; + } + + @Override + public String toString() { + StringBuilder info = new StringBuilder(); + if (album != null) { info.append(album).append("\n"); } + if (artists != null) { info.append(artists).append("\n"); } + if (link != null) { info.append(link).append("\n"); } + return info.toString().replaceAll("\"", ""); + } +} diff --git a/src/advisor/resources/auth.png b/src/advisor/resources/auth.png new file mode 100644 index 0000000000000000000000000000000000000000..83b77441970a0d53f20e5bc0e1ee8e13de8b54ec GIT binary patch literal 11494 zcmbW7XH-+o+V?F82!tX?iBzc~h;#%Y(mSCFh;)!nXrgol>4YX#N~8-aO{$bgkuDI5 zROz83EtG_mH{SPsp7Wk(y&ukcKP0nfW!By^liAn&uit-S_4U*N6hMkgmo5P`HB<~Q zUAhb5@>8ri!BRORK%S3kwGGcN=H>vFn&*pP;pj>tMb+Q{6nm%LbRP8A}M0 zh^S^$+z!{LV9Y9fpK8XLnrajEwDuWnM*Hkx%lP=0#+mGyW-tT{IXg9)l%KS`*m=P% zc61{kR)*{b$>+1^kz<>7I{x8+5#%lJ;lozKx;h9$M;^{e9!_=x@Ta)-A4QHlJ)mP6 z0Jgc|k*&15uf&V7^02FWaQcGSbY)4oP?45I(d(_TgqT*&^1Hz6uybm>^l{d%T;hs^ zV=@y7edRFO!FyhApOAVtmX$vKxVG7A5YAUsaJ+2PH>^n(2^SCWR?~}RhNz8TTAbAo zb$w@+;%y~b67Nw>T7aT}%0{=?Gtyb_i6@t}y8`CJgjWnUmXq_ifZ1pP@oXDcKU=Q* zQ0?@w#Ur@(aS9zB^m%LOu9EuaYmDkNrBgpkP?X$TbR>$jWb~C=HlL?~UfTXW`)oG@kp{LY6RzfN& z%IkejlxAnBBDBUe!M$HzRTxqKPTCy3VHX|GK+#z%s80Y_t47V+KMxIV;)#nwIU3B* zCv8oIw$is{wFQyZGtG+@a;+H`x;ZcoLR4e!iiigMdacBTkH1a-GoIe;WlMp3bDp!& zUjA(aas21BnqO)4{*0iX^G}_#iR=HfKz~qOt=?l*crMkE#U9k%e_;oQfoVx<=2*=T z8j?Lt!BH9INK#U=;UYe#Gg1$uBz|D0)RNjp!J5lH3LUN={+sEtPQwOI{c#}@q{L-H zD4tb_JyS=XOkXvPoj7+^wXf2UW>wSFyslMIrHLMAgyty~9)@xv&X*q**0k`%kb;v- z>c*a-Kvu87^WRFtSiTflR#z;PM$Ws+s5{lP^1;GeUfr3xp5~*6AfLSV^6Klpx!|?W zp?E=^6eAyLul>$DR3m6kOj{P4YosUxLAkW=0ezdu!6p7xy(LE^jI5w9)*OHs4Qfv% zn9O@ZzQ?Gi6OzMLRJmVndu=c*+@tAA864&w4C`>Cdh7=nv2ihZvnZDoJ;f%VWnado z=1H?KwvieDH=mZwZ?fh_r+EoIfSKC|HOvHHB4JlhA=W*|DY_GuR1){)nW@O&PGBS?bQ)u<}IM zl#MvUs0eRh<*F5X;z&FfL!qx7i}=+&8Q0IRN|qn~hBKC+Xw)l3&jPD!Wa6lEuC33C zGl$;k9Cur;E!$nR+_c7^$06|W2v$ z`@VlBQH~aR)IJ!veA@=`Dif`NzWs88cFNAJt63E}#2`OVXPNk_+M)rfQjYuxWWRGJm; zw;n;?=mecAh`TKV`;L)rIekc)3%E~$>#8kVUo^g8k_*G^nfAlo!IUMLQ9T7F>COii zAnrzT^o*9QN*bFkIDKH8_m;vC7;NLW1RQ>lkaAg_mX$f>W}rRW&JLGU!|ezq835y4 zw)jtql{EL!48$Nvq&zmtAKz72!+Qa-r@y>N3p9qUw>n>dD`Ac(6VyKoHJ9bwZbl8^aiff)U`IB}sKsw~nYKWIjuejzQ@XdGd;ay(hR zSAHR#j{lws+B?k|sxGHOF`^2d%Rz^x^q{sM(K!wjUANEkeL@^uPO&F90l00)re-BmlA1!2)=?+Rf_a*6_Tw-7c+5cU>j!RGD!YwSfv zPTsON5#&`aX%Ap_A>|zPbFA}qxU$0l(87RaD6u_oAz9yLbA!@+cqt`e~q4jn}>qP)Lor zM4Dpi_=TDOWYq4A7gd$U8O{5Wo&+rmvZ#llLnkUsD=%q%^z41c;}NH>X@ig}s>>T+ zWF2LxuJKkxZr;hwB;0#IrTlgN1Bw^{k{1$cP8yj(*0Ez*DD#oUd}s14lct*L*BhCG zDLsg-PUj1ey5#fuNO}`P+;m=6@UiCwg^pA zyXTP<_kt?$zo7UM7zlUzQRq$89ZDqeribT|UJ8V9r6ws&Rpq{Nm8m|VjKu+qF)O>H zuU8`ldmZ16*lhOS`1w=1X8FwSx1zMG31t2#qd~i9q~v1pj>S5uT_fuer!@7>_v=Ef zzw{d<)D|4f@(crvbf<5yWT_`0p5YqwYoN?+YrmzBtrF*`5AonXvNejfqNjQQFz-HA|a)b{}WK zZ%}ax8q6>JvowaVqO*`E2+{f6P-tU;aHH_lGkaXuGNCVHPJP39(1TS|HG*@2e_Imj z;2+LOP0a)BZvUeIIfz$8=T9L{LLh z>`h_xha9v$Yogqj$SHg~?NOA$F-k=LNpT7|3a5;Ge;!tLe=ajQ(fxwbSZ04k-+x6i zJUO~G5%z5zPu=^Bz`^?4WG(C!WIJe5p&mOpM=**s2`lF`vtHgDI`h&Y02`Js4O9%4 zY#hpSUkq83%xPEu7{ZdM0&QK-#0X;Lr;B@QA{)Dl?+>4V4K2hJ0ug<(Cq@#~Ae9WY zBHI~|F?Af_h1Njc`Y30G6Q1$riIl_5$G1PeKaa>=nE7~Gj$AzB1qQ_?dz+OXuc)oT zFi!%#lSv5=+mFa+_>c>6F8!d{!kVep5qyhw;bB#EZtIo70}(*fVVqU-V->BX%76&#M~FRwQq7f>if`R zyOCr-KuTAG@xm3krgjRKvrpa0v;spZ=87G{&NF3v8t$gHb53-=+z&F_%TC#$u{>9w z4$9>U>I;KCr9tn*8cje)k`M8d%KM@Dm`P!fIv)92;^;z$b1U2AU4-2sgDVW5lqLP5 z;F)TL8{M^BHi;69q=F)@k759#+0GIW^>FU)L`zugJ8|9A{gtDy5vTp`pr<&a76RG$ z=pF0x0I3aK*5BxTL-rB{+1l4P>?IVUtZ;Wmz(X*ck16V1?z6O~XcqUR;*Bsg+-t4V z(V_gPOpP|NQ|6RSaHr@{-0Xy@wbX_|5?I*b8WxD2gW?Cnv*E4Bh8Gud<({Dtfm6y1 zmghUaXrYUpKlc?=kODrgrTVzd7awFRyRkRLw302K#_zh)Y&+rUwV;3U6Uz9AL-wpw zFU(czoSD zom{^^W~69OCXE59YhH$1(k2LCo&w498k3zWqL=$}mjd=i;<)ByyxSaUZ4n?ykynGoF1H|MAoXd7_Awk_MWH~0!W2!GV| z`Oey{on(8qSE>ULUG3*QP>m-pqz)zl`e$qVwi0Tvj%|2H&~p`K5CMbMt|vsnilRgD zJ_cS$)9S@+WyR(R&`$n0+0(%oXYx+-EPmw>HC=+&<|g5(Fyfrum}Gm_?4w!O{q;2y9u-eqmvWybP|RLApZ%4-k?>c$L;5H|U^wQzQP^9IBtV zUCg9N*tvB6h;PA=@bgbidIghPanO{l@&x;^gdT4iYE4M5QWSmqZ|kn7Z*OWUC#CI} zGD7=J6<_zYo%@=xk&;KA8OVLPX+)i!R}aRW(nrmJBxjkxxc(8}Ceqt@My<6#%nKP- zkVSGa-fmZkg`x`2dOCNOLLXoRQA3}L7}!D=-cBBgZv`~o9-*{y%2V&6-zr(&s?zsu z;09_(8HA-=JXhh?89VLmTl9ohJ#^jxSHhhgx>|o*m#c6yWq06js4LojAV?j5c3Jbo z-eiSY#tr9Mu@)O9OUk!VswILDbR$)iVz)rGEKA?tw zwfz=3*WhHv(II;T?ieAwAJBq|Y)^D!KibZ<*mx7Tb&!Wh4gl%m20e6Qo8N@6{cEJc z`Z2l-e&`2mQ&is%<@#uGBQ8v_S(1M1%`mKL~mb$bZmr)q??~G3dJi2U!*W~ z@s|XBDGb&BJyiw2FUJJHVfWMsNL9HoqI}7d1fcO(?*Na|6r&Dr#LYg_58WHF2|Cgp z+7O{pIxI%H5XuA)W|zimDOpmD%0eTy6XWlv2?|aDw38@7Y-AnnTN8(yxdhf%rqp!Hwq*K zQ)|N@u!;?AYVg97UK@p9EEufAjHJRo=t9UCU%P|?Paby0$nTF^clnF5QcKliW-`KP zOnA;SpMzRLPX;;g(8+cOe?g#P(09t|9s#bil;~1Z0c4 zD9d-Q-VrfDXxwF2nw$W27+M35TN1?Djy^lYR&F z{bl4!^5DOK)&Zl#i_-U_xA$>+V8@U|ZZMuDz4u+Z%JFg2t`-Ka+_e|Eq*Pv;e9Go} zo3cc5%n7}3@WPR{*>SQ@%2EkE3bAdWg&y8&)pO!{O1o{tiffbbO7F%F+cSwF%j2z! zv|Lr9Qq|TZg^PS-PLG9~lBL$wQ&b1wNIoI^#lllR`AqrRWSKQZ#Yo{geXNDCr1~NX zuu;4L6?*^3YV*^(N0Vz1n;K;FZ}8{PCY;6nH`^}#aGG^5fl|cQ;z*^nKRRN{WgT>N ztGPgRY)NSmuI}xHn0Vti$v|%;5so}(Pdr2~&8mf47GcH8Cq$B*iGbu}7R;6z}gAJQwox-UkmGnkF-a3zu_ zV$Y}yr!tP%fnoOIO~Nq5L?dhfrFo;p^@q~^+(-TCgxl%+L{a=@ioRh8IE)am1*(`|skH+RR`^WD>*552HVz) z=mEUAeXlh$KfM=n{(308^N_zImqQVQpc$*YEp z8wnw%A#Ym0yks@&wt34^!pkdgXV^(iU+zOP5oOj`@WiM=-B|J$D7JLvm@Jd7nl*W* zjZ;HxXWg4BAYuQsY0#A@c z+_dZxH+yn(`D}P~`8ipfF|sNnc(d(SqBys2YLd#Qm+g;C9rbj8f#lh0b*Pq_>f1^v z;m%)S6pq_Qb}S>{yM9YiL3D0~9PviKHvQTX?!c2R02`Y^8B@h5Q^xy9+1G~euJDkD zN01-{TJJ*}m8o64Dk&(sawVpVuYYesxwA-DAd6m8A|BKvWWV-jt$+M&%!~cZI{xKE zIfbj8z@u2K|H4a3?Zb%BX9@#4d|5zCGjg3(!xB^@c7F`pSDyd%j7(LzJN1H3)>XJ# zCh&e+1NE6X@|CorKxZWXtpoYr-$g&N{9J8o+Bo!ykJA4YZMw5#wmALmu?=MoQP_P{ zuGU5;7qzpop_GEXDfvJCsFtwmOp|D88Bw*z4-|3*mWhs9(P%qf&84?;4+yj|PFJS! zts=V>U$j|mZc`~Av7A}RvzGB5dJ_C#LGgG~uzTi~b7ktlq95C8e7go3dH>ztJW&IG zCwk^*Y>ny8%XQ-`bMz#No5Y3d(yLyrFd3Vhz^J1m|1F~TmjI)yX!Q|^CAy!ijR^2L z6N6I^T8P~2y7KOOjv8+rFmH=B9rTrihFZkHv}ct{zDTk3D!%l#mu*njHww73bL_kF z`!8?1>g!~xQppt}76gkGLwyT{eHP$CK#N)$Wdh?Lh-UnAd}h`Wz#X4|Z2suR@_Zj; zrhY?o$^F&qRU(vTtG!FNu~uL37aZ&J=fIehjWWu?G|?U)FaGu$B;E%aw15sD0HsJ( z!Tdx-Z^Xu^ocx=pgvUA`7{iZm1&aPQ?|Jv3H4@^k1zFQ1MYhpHbrYo2!^Exg)Rz~;PyM1)`^pcdclC^$ERmJBlEO8#4Qv`qy*k1B1M6OO-Hsz_+CAJ{Uc>(Wh zllvkJOC>fx{flB*ygXhS>!5=syk%Z|+WlO6!s;$yCFmZJg1N@^_)ph3zsVor2U=0( zQH3c+3JixpHV)}Y4wq8}fJ#??e`-dIACq(Ix_oFpWDdzBt(Ki(pO@!h7SWE_B0?y} zXUHv@3md=ThkU~F2!T0n1Z~3Rq5JaWfo9q>N6waA2GWO+7X}g%rO`bW+-_p!v1%(Q zkb_emz}w#WShPTXLWpcm!*96dieQ)#%*9p)5DF9 zwKayoyChq}{uK1|Z_S!LjCRd`Fw;*RXaKu~km=R1wul<0ZRr_5W(qB1${8aW5rU-; zGwCEX8`p*epL83uN0nMLw$#F5=_`yEC>HhAYUqT!zzupn}C<6iCu zv7)ix-D^27h#R0B1AxVm3;Q1=DeljTcjOAzH5bTa>P+etdE?Y2+8X|Rx`0~`>dY~g89`Q7tDM&rB{FeDM#xSxh1dtz%`!qLiC#ZqKN_i=o<@A2lZ zzsJA{ zX!)jo=MOvTUU>AkmH3aN_+J$%SN`6o?(n&C5^vEv6hsG25>=}YCe8dGiwU9{VHZqK z;;m0Kh%Rvw=!jPufYx!pH5*)=0kTr{%@xyes-LKt!de+`^je7q~6rv z8>7d0MaxD{nEu4@F%O-?zOueRNaN~IA8T-7%*_#|&5EJeY4a`d!QLi#--9CA5b1jh z(MVZF=`yc%eN-b=Z}M9Fh4ZjssC~)E5eKomp((}^X)me&9X4-2Y}0Cu)Obktz)HEE zC8I|>E0uI{`X%*8S|`YR^Tdr&296P~|EC!fpb)==SY2?Ts+;OEoVm2|hRGtIow=kV zhd%^&RI?A3X85oY(oGgy`yS$bmEL3doYSQm(Av>LCfv8)$1xa2`~xmD!<~8JSu-tz z*sl(g;`+SlJ^H9-)BC)-sCn%yj{3Y6P;-S>J^t}Bih#i<$*T5l72-Z^`iS_dD{p1; z*h1U=F}p{H8{oTQwkC^(T09P6pY2;s&^PQhz>9xB;|5~dHes7(L(0yWth%`-@#KW| zmPN`%*V!f=$C^gIXKkZoCl49au6V>$p&jcI8>K%PJ+;E*oN;X592E)GtYb-Yn?{eH z{WX8JL4}8?6)Baj_=2~5S!?&JY~y@W*rm^13z%4vi1r8i{HTnWn@xRpqvP%sx82U} zDn;G&7VrZQ{SG`gdH6KAskF?;U61Pd+(}tkkA?E`lk~0h|2yVDn25+746{_g|LKbk zG_ALOnfmFwnQz8Up=&Sv@hF@+QMAA|h2AVGtLL$-fAvogipgquN>``K*a>U#DjZ1A zYN3A%S@L;c{NuPU>H)&tWbo!L>U5qa&QXw*K_8)C3p z)305QJoty2M+A}?f2Lgc9xxQ2aP!Q#;@bxVA+-$G9Ws?d8h_d*ME_4ECTF{c84 zpx7r=Hgde#nwDZI_qs~MyjtVJa8Ylu7WZdH+`^@X(v}-jO3Y|`bP^}I9h~?I{ducX zsQ%-uz<-_`_%CWXAvd924Zi0SGbBaZ<(f4~iZT^UbIlzsqP)x#Id zJ{Jc+$H~->J%lhJSzG0CBwPam9#L-FyumAS=Zi!3wfi!0;|vzTMX7LsIJvR|{{ZI1 zr^t7=Hxjn}rq7w@j^4M&&Fy_=K0N>1L55~`4oKA7IzM9x^#+Laio9>mBrurq67_70 z7e$wE1*)rT`f~t7`0`bVL#X#ih)?#-DU$gTk`S355j8o5WFBi_P zC+6OY4)Y)fbSRe5=Ftyku{ie{xLp$hYYq1_Fh=dFHXS%zZSQT9d6vGai_(ht@*=0OCUGjsQgjQn zO;rNRP7-^NYE?u@`P$`a1(oX0yFX0Bb!v7yP>Z$!UpbsyyAIW)4p4TQN>+8`)GPlx zQbue!b$Fivf`7A@W0CjgWJUSXH;5j0t7+odKd$l?n$cKF#(SeV(?Vi;%c&5FmpgCw z>wIjh5^$o~l#e+mY&5J9$I^$EGAcdiu)3za&9WtUqwACq1d_J4>gko=HMp*%7b!&-h+l~3qAbB~@r&0|K3{_Q;%^d$)ex#E#0 zAj-YdkNeh-3C}Wlx)s2#*Wld?!E0^5|@Blbbm6xk1uA=7)3t;WRy5$eqYL>gOC=xZY z%H`ayEY29Yo6!5Sc-@48%6l*@M4k{CHm(d0;m4Q)=JLOW1z<<)%J7aS`+0RE4!9(l zCU*;oH#+48|5n*H$4iFc&N|i&oeuKRv5gAluT>VmPV8z(i0Rn{`_fGb8w7op&LJA;@=B3}!i_GdLE~o@YzHXiG%yI$~}Q1u+5A z!%nch;lJAHaUY{Rz`x)R@lG{H#5HrKH_IQ}6aD>Em3Sh_)tv?bw31;Qv*9rAy_6K% zK0vtVtMDCT2y%T(#V&UP&=JEv!e|A6skl5QtsT^}{dVksrdpK11qAx@;-fmij$_#>;GmR^7oPYIm%0?LvaOgBo2A5{!4ZSROiw`t7iii!%qF{yOU zFgzHR$r{CF+3@97dO;#o@u)q7Pf_}I_aTuB_h^2?Dw{U#Qk_WWECnB74} z9>g=hvxv>c%N)&w`-OqtB^kdTTL7F@aM<&AqMb@0N>xtulxM?*9d>UF0#~2QhebP@ zdW^D1Awi6@g>+9og#7M|tvFDN_$#Bh2~fMpFkt+;Ur;nmO+JGw7pp=tY~&8)>fsm84%uYDrm6BB>+ zfxmLUH8!U%N?r(9G(4JN;eE~bOxByRRY602qBu>vSfu8Q8$Bx1KC4w z&UHODqAY@&=u^NnIFQ_QzQ1GLw)b*x^z*SC~X!(^|EGY8hbsXx(mKX1zl8ime| z`VVRVsfasF&cY2U^)xJ5qn{RfpXhQ|2e1SMh`LM8~5qN*eCD@nmKhtNTR=ts>?_asbBzPZaq zUkv6Ppt2&QGMxL$ntslkbz`u!Pu!43DstgvF$#nUhOaP3Qx*Ht-iqA1TczJmPb%9)-!OEB@ z+4*81QSt6AFA`~>g4(H~#F#C7HDYm3B_K8HhdV+)y!*qR>$HD{bM;Xfgoq5!vu0qD z&`$fNJ-V8$V;k%x&~&Fp4b@8s2r z&Zl6RBQw|2KHsrpTlq<7L7A0%oXDs}i4K382qLS^kj>Z6&sJ~u)L#nC$g3&s z7~tq)$3y@0*@1(xQ`_rsOLjrWvPabIfnWu=kkCxNSba6SLs6a$aMh|cC{(!gB^a-WWZoNlS7lS}Q`i?4nBj^cE~) zN`x%mx^t*cb>hR7)xpOS=BT%pNP&Vs?Z*FgCY6KlKUd*@)c8T21Tx7-%9n-kQ5D3q$(J-$^;9aAY{LH! DIcCIF literal 0 HcmV?d00001 diff --git a/src/advisor/resources/categories.png b/src/advisor/resources/categories.png new file mode 100644 index 0000000000000000000000000000000000000000..be4b2a37ab46a4ee942e66070f2e31450916c29d GIT binary patch literal 4868 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 literal 0 HcmV?d00001 diff --git a/src/advisor/resources/featured.png b/src/advisor/resources/featured.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1327a0018d41cba5d07e4e5b96906c426d0b32 GIT binary patch literal 32288 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 literal 0 HcmV?d00001 diff --git a/src/advisor/resources/new.png b/src/advisor/resources/new.png new file mode 100644 index 0000000000000000000000000000000000000000..58d428f5fda955aa26489dff48fa98a0d492b70b GIT binary patch literal 39389 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 literal 0 HcmV?d00001 diff --git a/src/advisor/resources/playlists.png b/src/advisor/resources/playlists.png new file mode 100644 index 0000000000000000000000000000000000000000..34eff721271e92ee7ab341282fa65d02d1a33673 GIT binary patch literal 36120 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 data; + static int pagesCount; + + public static void printMessage(String message) { + System.out.println(message); + } + + public static void print(List data) { + elem -= Params.RESULTS_PER_PAGE; + page = 0; + AdvisorView.data = data; + pagesCount = data.size() / Params.RESULTS_PER_PAGE; + pagesCount += data.size() % Params.RESULTS_PER_PAGE != 0 ? 1 : 0; + + printNextPage(); + } + + public static void printNextPage() { + if (page >= pagesCount) { + System.out.println(Params.NO_MORE_PAGES); + } else { + elem += Params.RESULTS_PER_PAGE; + page++; + print(); + } + } + + public static void printPrevPage() { + if (page == 1) { + System.out.println(Params.NO_MORE_PAGES); + } else { + elem -= Params.RESULTS_PER_PAGE; + page--; + print(); + } + } + + public static void print() { + data.stream() + .skip(elem) + .limit(Params.RESULTS_PER_PAGE) + .forEach(System.out::println); + System.out.printf("---PAGE %d OF %d---\n", page, pagesCount); + } +}