forked from j62/ctbrec
Implement login and followed tab for cherry.tv
This commit is contained in:
parent
36cacda106
commit
881e8afb4c
|
@ -29,6 +29,7 @@ public class CherryTvFollowedTab extends ThumbOverviewTab implements FollowedTab
|
||||||
super.createGui();
|
super.createGui();
|
||||||
group = new ToggleGroup();
|
group = new ToggleGroup();
|
||||||
addOnlineOfflineSelector();
|
addOnlineOfflineSelector();
|
||||||
|
setFilter(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addOnlineOfflineSelector() {
|
private void addOnlineOfflineSelector() {
|
||||||
|
@ -42,21 +43,25 @@ public class CherryTvFollowedTab extends ThumbOverviewTab implements FollowedTab
|
||||||
HBox.setMargin(offline, new Insets(5, 5, 5, 5));
|
HBox.setMargin(offline, new Insets(5, 5, 5, 5));
|
||||||
online.setSelected(true);
|
online.setSelected(true);
|
||||||
group.selectedToggleProperty().addListener(e -> {
|
group.selectedToggleProperty().addListener(e -> {
|
||||||
((CherryTvUpdateService) updateService).setFilter(m -> {
|
setFilter(online.isSelected());
|
||||||
try {
|
|
||||||
return m.isOnline(false) == online.isSelected();
|
|
||||||
} catch (InterruptedException ex) {
|
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
return false;
|
|
||||||
} catch (Exception ex) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
queue.clear();
|
queue.clear();
|
||||||
updateService.restart();
|
updateService.restart();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setFilter(boolean online) {
|
||||||
|
((CherryTvUpdateService) updateService).setFilter(m -> {
|
||||||
|
try {
|
||||||
|
return m.isOnline(false) == online;
|
||||||
|
} catch (InterruptedException ex) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
return false;
|
||||||
|
} catch (Exception ex) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onSuccess() {
|
protected void onSuccess() {
|
||||||
grid.getChildren().remove(status);
|
grid.getChildren().remove(status);
|
||||||
|
|
|
@ -76,7 +76,6 @@ public class CherryTvUpdateService extends PaginatedScheduledService {
|
||||||
try (var response = site.getHttpClient().execute(request)) {
|
try (var response = site.getHttpClient().execute(request)) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
String body = Objects.requireNonNull(response.body()).string();
|
String body = Objects.requireNonNull(response.body()).string();
|
||||||
LOG.debug(body);
|
|
||||||
Stream<Model> stream = parseModels(body).stream();
|
Stream<Model> stream = parseModels(body).stream();
|
||||||
if (filter != null) {
|
if (filter != null) {
|
||||||
stream = stream.filter(filter);
|
stream = stream.filter(filter);
|
||||||
|
|
|
@ -60,11 +60,11 @@ public class CherryTvHttpClient extends HttpClient {
|
||||||
.post(requestBody)
|
.post(requestBody)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
LOG.debug("Logging in: {}\n{}", request.url(), body.toString(2));
|
LOG.debug("Logging in: {}", request.url());
|
||||||
try (Response response = execute(request)) {
|
try (Response response = execute(request)) {
|
||||||
if (response.isSuccessful()) {
|
if (response.isSuccessful()) {
|
||||||
JSONObject resp = new JSONObject(Objects.requireNonNull(response.body()).string());
|
JSONObject resp = new JSONObject(Objects.requireNonNull(response.body()).string());
|
||||||
LOG.info(resp.toString(2));
|
LOG.trace(resp.toString(2));
|
||||||
JSONObject data = resp.getJSONObject("data");
|
JSONObject data = resp.getJSONObject("data");
|
||||||
JSONObject login = data.getJSONObject("login");
|
JSONObject login = data.getJSONObject("login");
|
||||||
loggedIn = login.optBoolean("success");
|
loggedIn = login.optBoolean("success");
|
||||||
|
|
Loading…
Reference in New Issue