mirror of
https://github.com/dev-claw/vripper-project.git
synced 2026-08-19 08:35:41 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c5b8a0397 | ||
|
|
cc2ce9482d |
@@ -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>
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vripper-electron",
|
||||
"version": "3.3.1",
|
||||
"version": "3.3.2",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -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>",
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
+5
-9
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-9
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-9
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-9
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+5
-9
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vripper-ui",
|
||||
"version": "3.3.1",
|
||||
"version": "3.3.2",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "vripper-ui",
|
||||
"version": "3.3.1",
|
||||
"version": "3.3.2",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "ng serve",
|
||||
|
||||
+1
-1
@@ -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'
|
||||
};
|
||||
|
||||
@@ -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'
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user