From 60494a09fd18b4382288a20a8f1986472ad3f8bf Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Fri, 26 Oct 2018 01:23:07 +0200 Subject: [PATCH] Sort by camsoda sort value --- src/main/java/ctbrec/sites/camsoda/CamsodaModel.java | 8 ++++++++ .../ctbrec/sites/camsoda/CamsodaUpdateService.java | 10 ++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/ctbrec/sites/camsoda/CamsodaModel.java b/src/main/java/ctbrec/sites/camsoda/CamsodaModel.java index ede30e93..976f90c3 100644 --- a/src/main/java/ctbrec/sites/camsoda/CamsodaModel.java +++ b/src/main/java/ctbrec/sites/camsoda/CamsodaModel.java @@ -35,6 +35,7 @@ public class CamsodaModel extends AbstractModel { private List streamSources = null; private int[] resolution; private String status = "n/a"; + private float sortOrder = 0; public String getStreamUrl() throws IOException { if(streamUrl == null) { @@ -172,4 +173,11 @@ public class CamsodaModel extends AbstractModel { this.streamUrl = streamUrl; } + public float getSortOrder() { + return sortOrder; + } + + public void setSortOrder(float sortOrder) { + this.sortOrder = sortOrder; + } } diff --git a/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java b/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java index df9e6f0d..b28e16db 100644 --- a/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java +++ b/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java @@ -2,6 +2,7 @@ package ctbrec.sites.camsoda; import java.io.IOException; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -37,9 +38,9 @@ public class CamsodaUpdateService extends PaginatedScheduledService { return new Task>() { @Override public List call() throws IOException { - List models = new ArrayList<>(); + List models = new ArrayList<>(); if(loginRequired && StringUtil.isBlank(ctbrec.Config.getInstance().getSettings().username)) { - return models; + return Collections.emptyList(); } else { String url = CamsodaUpdateService.this.url; LOG.debug("Fetching page {}", url); @@ -55,7 +56,6 @@ public class CamsodaUpdateService extends PaginatedScheduledService { JSONArray tpl = result.getJSONArray("tpl"); String name = tpl.getString(0); // int connections = tpl.getInt(2); - // float sortValue = tpl.getFloat(3); String streamName = tpl.getString(5); String tsize = tpl.getString(6); String serverPrefix = tpl.getString(7); @@ -63,6 +63,7 @@ public class CamsodaUpdateService extends PaginatedScheduledService { CamsodaModel model = (CamsodaModel) camsoda.createModel(name); model.setDescription(tpl.getString(4)); model.setStreamUrl("https://" + edgeServers.getString(0) + "/cam/mp4:" + streamName + "_h264_aac_480p/playlist.m3u8"); + model.setSortOrder(tpl.getFloat(3)); long unixtime = System.currentTimeMillis() / 1000; String preview = "https://thumbs-orig.camsoda.com/thumbs/" + streamName + '/' + serverPrefix + '/' + tsize + '/' + unixtime + '/' + name + ".jpg?cb=" + unixtime; @@ -77,12 +78,13 @@ public class CamsodaUpdateService extends PaginatedScheduledService { } } return models.stream() + .sorted((m1,m2) -> (int)(m2.getSortOrder() - m1.getSortOrder())) .skip( (page-1) * modelsPerPage) .limit(modelsPerPage) .collect(Collectors.toList()); } else { response.close(); - return models; + return Collections.emptyList(); } } else { int code = response.code();