Sfoglia il codice sorgente

created folder for some random tests and small tools

LH 9 anni fa
parent
commit
86f9e45068

+ 7 - 0
QuickStuff/build.gradle

@@ -0,0 +1,7 @@
+defaultTasks 'distZip'
+
+apply plugin: 'java'
+dependencies{
+    compile(project(':ToolKit')) {
+    }
+}

+ 103 - 0
QuickStuff/src/main/java/FFBookMarksToPathFile/Converter.java

@@ -0,0 +1,103 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package FFBookMarksToPathFile;
+
+import de.nplusc.izc.tools.IOtools.DBWriter;
+import de.nplusc.izc.tools.IOtools.FileTK;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+
+/**
+ *
+ * @author iZc <nplusc.de>
+ */
+public class Converter
+{
+    static StringBuilder out = new StringBuilder();
+    public static void main(String[] args)
+    {
+        HashMap<String,ArrayList<String>> tree = new LinkedHashMap<>();
+        HashMap<String,String> fnames = new LinkedHashMap<>();
+        HashMap<String,ArrayList<String>> childrenMap = new LinkedHashMap<>();
+        DBWriter dbw = new DBWriter("", args[0], "", "", DBWriter.DBTYPE_SQLite);
+        String[][] bookmarksraw = dbw.queryTable("SELECT id,type,fk,parent,position,title from moz_bookmarks  ORDER BY id");
+        for (String[] bookmarkData : bookmarksraw)
+        {
+            String key = bookmarkData[0];
+            if(bookmarkData[1].equals("2"))//folder
+            {
+                if(!bookmarkData[3].equals("0"))
+                {
+                   String parent = bookmarkData[3];
+                    
+                    if(!childrenMap.containsKey(parent))
+                    {
+                        childrenMap.put(parent, new ArrayList<>());
+                    }
+                    childrenMap.get(parent).add(key);
+                }
+                childrenMap.put(key, new ArrayList<>());
+                if(!tree.containsKey(key))
+                {
+                    tree.put(key, new ArrayList<>());
+                }
+                fnames.put(key,bookmarkData[5]);
+            }
+            else
+            {
+                if(!bookmarkData[1].equals("1"))
+                {
+                    continue;
+                }
+                String parent = bookmarkData[3];
+                String datafield=dbw.querySingleCell("SELECT url FROM moz_places where id = "+bookmarkData[2]);
+                if(!tree.containsKey(parent))
+                {
+                    tree.put(parent, new ArrayList<>());
+                }
+                tree.get(parent).add(bookmarkData[5]+"=>"+datafield);
+            }
+        }
+        System.out.println("");
+        
+        String internalpath = "";
+        //1 = rootbookmark (hardcoded im firefoxxens)
+        recurseBookMarks("1", internalpath, tree, fnames, childrenMap);
+        
+        String res = out.toString();
+        FileTK.writeFile(res, args[1]);
+    }
+    private static void recurseBookMarks(String folder,String pathPrefix,
+            HashMap<String,ArrayList<String>> entries,HashMap<String,String> folders,HashMap<String,ArrayList<String>> childrenFolders)
+    {
+        pathPrefix=pathPrefix+folders.get(folder)+"/";
+        out.append(pathPrefix).append("\n");
+        ArrayList<String> childFolders = childrenFolders.get(folder);
+        if(childFolders!=null)
+        {
+            childFolders.sort((String a,String b)-> folders.get(a).compareTo(folders.get(b)));
+            for (String childFolder : childFolders)
+            {
+                recurseBookMarks(childFolder, pathPrefix, entries, folders, childrenFolders);
+            }
+        }
+        ArrayList<String> etrs = entries.get(folder);
+        if(etrs==null)
+        {
+            return;
+        }
+        etrs.sort((String a,String b)->a.compareTo(b));
+        for (String etr : etrs)
+        {
+            out.append(pathPrefix).append(etr).append("\n");
+        }
+    }
+    
+    
+    
+    //"D:\\loa\\000003\\books.txt"
+}

+ 1 - 1
settings.gradle

@@ -1,3 +1,3 @@
 include 'ToolKit','iZpl',  'IZSetup','WPCMgr','UpidTK', 'izstreamer', 'LogBlockHeatMapper','iZlaunch',
 'iZpaqSFX','MazeViewer','TWPUtil',"iZplPlugins:WMP","iZplPlugins:foobar2000_others","iZplPlugins:itunes","iZplPlugins:GameRadio",
-"iZplPlugins:Editor","izpl-shared","iZpl-server","iZplPlugins:Smartphonizer"
+"iZplPlugins:Editor","izpl-shared","iZpl-server","iZplPlugins:Smartphonizer","QuickStuff"