Compare commits

..
2 Commits
Author SHA1 Message Date
death-claw 1c5b8a0397 v3.3.2 2021-03-11 19:05:09 +01:00
death-claw cc2ce9482d Fix a bug with event logs
Change event names and add some icons
2021-03-11 19:02:01 +01:00
19 changed files with 56 additions and 73 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>tn.mnlr</groupId>
<artifactId>vripper</artifactId>
<version>3.3.1</version>
<version>3.3.2</version>
<packaging>pom</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vripper-electron",
"version": "3.3.1",
"version": "3.3.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vripper-electron",
"version": "3.3.1",
"version": "3.3.2",
"description": "A ripper for vipergirls.to built using web technolgies",
"main": "main.js",
"author": "death-claw <53543762+death-claw@users.noreply.github.com>",
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<groupId>tn.mnlr</groupId>
<artifactId>vripper</artifactId>
<version>3.3.1</version>
<version>3.3.2</version>
</parent>
<artifactId>vripper-electron</artifactId>
<name>vripper-electron</name>
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<groupId>tn.mnlr</groupId>
<artifactId>vripper</artifactId>
<version>3.3.1</version>
<version>3.3.2</version>
</parent>
<artifactId>vripper-server</artifactId>
<name>vripper-server</name>
@@ -1,17 +1,23 @@
package tn.mnlr.vripper;
import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
@Slf4j
public class Utils {
public static String throwableToString(Throwable th) throws IOException {
public static String throwableToString(Throwable th) {
try (StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter)) {
th.printStackTrace(printWriter);
printWriter.flush();
stringWriter.flush();
return stringWriter.toString();
} catch (IOException e) {
log.error("Failed to convert throwable to string", e);
}
return "Cannot display error, please check the log file for details";
}
}
@@ -15,6 +15,7 @@ import org.springframework.lang.NonNull;
import org.springframework.stereotype.Service;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import tn.mnlr.vripper.Utils;
import tn.mnlr.vripper.exception.DownloadException;
import tn.mnlr.vripper.exception.PostParseException;
import tn.mnlr.vripper.jpa.domain.Event;
@@ -26,7 +27,6 @@ import tn.mnlr.vripper.services.domain.tasks.MetadataRunnable;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
@@ -76,11 +76,11 @@ public class MetadataService {
cachedMetadata = cache.get(key);
event.setStatus(Event.Status.DONE);
eventRepository.update(event);
} catch (ExecutionException e) {
} catch (Exception e) {
String error = "Failed to load metadata for " + post.getUrl();
log.error(error, e);
event.setStatus(Event.Status.ERROR);
event.setMessage(error + ": " + e.getMessage());
event.setMessage(error + "\n" + Utils.throwableToString(e));
eventRepository.update(event);
return null;
}
@@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Service;
import tn.mnlr.vripper.Utils;
import tn.mnlr.vripper.jpa.domain.Event;
import tn.mnlr.vripper.jpa.domain.Post;
import tn.mnlr.vripper.jpa.domain.Queued;
@@ -18,7 +19,6 @@ import tn.mnlr.vripper.services.domain.tasks.AddQueuedRunnable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import static tn.mnlr.vripper.jpa.domain.Event.Status.DONE;
@@ -44,8 +44,7 @@ public class PostService {
CacheLoader<Queued, List<MultiPostItem>> loader = new CacheLoader<>() {
@Override
public List<MultiPostItem> load(@NonNull Queued multiPostItem) throws Exception {
ApiThreadParser apiThreadParser = new ApiThreadParser(multiPostItem);
return apiThreadParser.parse();
return new ApiThreadParser(multiPostItem).parse();
}
};
@@ -79,11 +78,11 @@ public class PostService {
event.setStatus(DONE);
event.setMessage("Loaded " + multiPostItems.size() + " posts from " + queued.getLink());
eventRepository.update(event);
} catch (ExecutionException e) {
} catch (Exception e) {
String error = String.format("Failed to parse link %s", queued.getLink());
log.error(error, e);
event.setStatus(Event.Status.ERROR);
event.setMessage(error + ": " + e.getMessage());
event.setMessage(error + "\n" + Utils.throwableToString(e));
eventRepository.update(event);
return null;
}
@@ -125,15 +125,11 @@ public class AddPostRunnable implements Runnable {
event.setStatus(Event.Status.DONE);
eventRepository.update(event);
} catch (Exception e) {
try {
String error = String.format("Error when adding gallery %s", link);
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
} catch (Exception exp) {
log.error(exp.getMessage(), exp);
}
String error = String.format("Error when adding gallery %s", link);
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
}
}
}
@@ -69,15 +69,11 @@ public class AddQueuedRunnable implements Runnable {
}
eventRepository.update(event);
} catch (Exception e) {
try {
String error = String.format("Error when adding multi-post link %s", queued.getLink());
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
} catch (Exception exp) {
log.error(exp.getMessage(), exp);
}
String error = String.format("Error when adding multi-post link %s", queued.getLink());
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
}
}
}
@@ -109,15 +109,11 @@ public class LeaveThanksRunnable implements Runnable {
event.setStatus(Event.Status.DONE);
eventRepository.update(event);
} catch (Exception e) {
try {
String error = String.format("Failed to leave a thanks for %s", post.getUrl());
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(Event.Status.ERROR);
eventRepository.update(event);
} catch (Exception exp) {
log.error(exp.getMessage(), exp);
}
String error = String.format("Failed to leave a thanks for %s", post.getUrl());
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(Event.Status.ERROR);
eventRepository.update(event);
}
}
}
@@ -84,15 +84,11 @@ public class LinkScanRunnable implements Runnable {
}
eventRepository.update(event);
} catch (Exception e) {
try {
String error = "Error when scanning links";
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
} catch (Exception exp) {
log.error(exp.getMessage(), exp);
}
String error = "Error when scanning links";
log.error(error, e);
event.setMessage(error + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
}
}
}
@@ -68,15 +68,11 @@ public class MetadataRunnable implements Runnable {
event.setStatus(Event.Status.DONE);
eventRepository.update(event);
} catch (Exception e) {
try {
String message = String.format("Failed to fetch metadata for %s", post.getUrl());
log.error(message, e);
event.setMessage(message + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
} catch (Exception exp) {
log.error(exp.getMessage(), exp);
}
String message = String.format("Failed to fetch metadata for %s", post.getUrl());
log.error(message, e);
event.setMessage(message + "\n" + Utils.throwableToString(e));
event.setStatus(ERROR);
eventRepository.update(event);
}
}
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vripper-ui",
"version": "3.3.1",
"version": "3.3.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vripper-ui",
"version": "3.3.1",
"version": "3.3.2",
"scripts": {
"ng": "ng",
"start": "ng serve",
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<groupId>tn.mnlr</groupId>
<artifactId>vripper</artifactId>
<version>3.3.1</version>
<version>3.3.2</version>
</parent>
<artifactId>vripper-ui</artifactId>
<name>vripper-ui</name>
@@ -34,21 +34,19 @@ export class EventLogComponent implements OnDestroy {
valueGetter: (params => {
switch (params.data.type) {
case 'POST':
return 'New gallery';
case 'QUEUED':
return 'New multi-post link';
return '🖼️ New gallery';
case 'THANKS':
return 'Leave thanks';
return '👍 Sending a like ';
case 'SCAN':
return 'Links scan';
return '🔍 Links scan';
case 'METADATA':
return 'Fetching metadata';
case 'METADATA_CACHE_MISS':
return 'Loading post metadata';
return '🗄️ Loading post metadata';
case 'QUEUED':
case 'QUEUED_CACHE_MISS':
return 'Loading multi-post links';
return '📋 Loading multi-post link';
case 'DOWNLOAD':
return 'Download';
return '📥 Download';
default:
return params.data.type;
}
@@ -2,5 +2,5 @@ export const environment = {
production: true,
localhost: `${window.location.protocol}//${window.location.host}`,
ws: `${window.location.protocol === 'http:' ? 'ws:' : 'wss:'}//${window.location.host}`,
version: '3.3.1'
version: '3.3.2'
};
+1 -1
View File
@@ -6,7 +6,7 @@ export const environment = {
production: false,
localhost: 'http://localhost:8080',
ws: 'ws://localhost:8080',
version: '3.3.1'
version: '3.3.2'
};
/*