Fix subtitles and too much content in EreNumerique
[gofetch.git] / src / be / nikiroo / gofetch / support / BasicSupport.java
index 8fc259a19daa84d387edb1a14b3b9d2adf7583b2..b15fac7e5e2598d0d67c3bcf493c6dae03a0a8a1 100644 (file)
@@ -100,6 +100,17 @@ public abstract class BasicSupport {
                 *         the usual automatic processing if not NULL
                 */
                public String manualProcessing(Node node);
+
+               /**
+                * This {@link Node} is a subtitle and should be treated as such
+                * (highlighted).
+                * 
+                * @param node
+                *            the node to check
+                * 
+                * @return NULL if it is not a subtitle, the subtitle to use if it is
+                */
+               public String isSubtitle(Node node);
        }
 
        /**
@@ -128,6 +139,11 @@ public abstract class BasicSupport {
                public String manualProcessing(Node node) {
                        return null;
                }
+
+               @Override
+               public String isSubtitle(Node node) {
+                       return null;
+               }
        }
 
        static private String preselector;
@@ -334,6 +350,7 @@ public abstract class BasicSupport {
                                        String manual = null;
                                        boolean ignore = elementProcessor.ignoreNode(node)
                                                        || ignoredNodes.contains(node.parentNode());
+                                       // Manual processing
                                        if (!ignore) {
                                                manual = elementProcessor.manualProcessing(node);
                                                if (manual != null) {
@@ -342,6 +359,16 @@ public abstract class BasicSupport {
                                                }
                                        }
 
+                                       // Subtitle check
+                                       if (!ignore) {
+                                               String subtitle = elementProcessor.isSubtitle(node);
+                                               if (subtitle != null) {
+                                                       subtitle = subtitle.trim();
+                                                       currentLine.append("\n[ " + subtitle + " ]\n");
+                                                       ignore = true;
+                                               }
+                                       }
+
                                        if (ignore) {
                                                ignoredNodes.add(node);
                                                return;