diff --git a/.gitignore b/.gitignore index 5e1203b..a2fa3a0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,6 @@ go-nkode *.db-shm *.db-wal secrets.json -.DS_Store \ No newline at end of file +.DS_Store + +flaticon_svgs diff --git a/core/sqlite-init/sqlite_init.go b/core/sqlite-init/sqlite_init.go index 4bc7d84..ebd4803 100644 --- a/core/sqlite-init/sqlite_init.go +++ b/core/sqlite-init/sqlite_init.go @@ -28,17 +28,58 @@ func main() { testDbPath := os.Getenv("TEST_DB_PATH") dbPath := os.Getenv("DB_PATH") dbPaths := []string{testDbPath, dbPath} - + flaticonSvgDir := os.Getenv("SVG_DIR") //dbPath := "/Users/donov/Desktop/nkode.db" //dbPaths := []string{dbPath} - outputStr := MakeSvgFiles() + //outputStr := MakeSvgFiles() for _, path := range dbPaths { MakeTables(path) - SaveToSqlite(path, outputStr) + FlaticonToSqlite(path, flaticonSvgDir) + //SvgToSqlite(path, outputStr) } } -func SaveToSqlite(dbPath string, outputStr string) { +func FlaticonToSqlite(dbPath string, svgDir string) { + db, err := sql.Open("sqlite3", dbPath) + if err != nil { + log.Fatal(err) + } + defer db.Close() + + // Open the directory + files, err := os.ReadDir(svgDir) + if err != nil { + log.Fatal(err) + } + + for _, file := range files { + // Check if it is a regular file (not a directory) and has a .svg extension + if file.IsDir() || filepath.Ext(file.Name()) != ".svg" { + continue + } + filePath := filepath.Join(svgDir, file.Name()) + + // Read the file contents + content, err := os.ReadFile(filePath) + if err != nil { + log.Println("Error reading file:", filePath, err) + continue + } + + // Print the file name and first few bytes of the file content + insertSql := ` +INSERT INTO svg_icon (svg) +VALUES (?) +` + _, err = db.Exec(insertSql, string(content)) + if err != nil { + log.Fatal(err) + } + } + +} + +func SvgToSqlite(dbPath string, outputStr string) { db, err := sql.Open("sqlite3", dbPath) if err != nil { log.Fatal(err)