bool FileHandler::process_folder(int idx, FrameProcessor* processor) { std::string inputFolder = m_inputFolders[idx]; std::string outputFolder = m_outputFolders[idx]; process_folder(inputFolder, outputFolder, processor); return true; }
static void process_folder (const gchar *folder) { GDir *dir; const gchar *name; GError *error = NULL; #if 0 g_print ("processing folder: %s\n", folder); #endif dir = g_dir_open (folder, 0, &error); if (! dir) { g_printerr ("Error opening '%s': %s", folder, error->message); return; } while ((name = g_dir_read_name (dir))) { gchar *filename; filename = g_build_filename (folder, name, NULL); if (g_file_test (filename, G_FILE_TEST_IS_DIR)) process_folder (filename); else process_thumbnail (filename); g_free (filename); } g_dir_close (dir); }
static void visit_load(string path, string relpath = "") { struct _finddata_t file_info; long handle; if( (handle=_findfirst(string(path + "/*").c_str(),&file_info)) == -1L ) { printf("-- no file --\n"); } else { while( !_findnext(handle,&file_info) ) // first is "." { if( (file_info.attrib & _A_SUBDIR) == _A_SUBDIR && strcmp(file_info.name, "..") ) { printf("folder:%s", string(relpath + "/"+ file_info.name).c_str()); process_folder(path + "/", relpath + "/", file_info.name) ? printf("[OK]\n") : printf("[FAILED]\n"); visit_load(path + "/" + file_info.name, relpath + "/" + file_info.name); } else if(!(file_info.attrib & _A_SUBDIR)) { printf("file:%s", string(relpath + "/"+ file_info.name).c_str()); process_file(path + "/", relpath + "/", file_info.name) ? printf("[OK]\n") : printf("[IGN]\n"); } } _findclose(handle); } }
gint main (gint argc, gchar *argv[]) { GOptionContext *context; GDir *dir; const gchar *thumb_folder; const gchar *folder; GError *error = NULL; gimp_thumb_init ("gimp-thumbnail-list", NULL); thumb_folder = gimp_thumb_get_thumb_base_dir (); context = g_option_context_new (NULL); g_option_context_add_main_entries (context, main_entries, NULL); if (! g_option_context_parse (context, &argc, &argv, &error)) { g_printerr ("%s\n", error->message); return -1; } dir = g_dir_open (thumb_folder, 0, &error); if (! dir) g_error ("Error opening %s: %s", thumb_folder, error->message); while ((folder = g_dir_read_name (dir))) { gchar *filename; filename = g_build_filename (thumb_folder, folder, NULL); if (g_file_test (filename, G_FILE_TEST_IS_DIR)) process_folder (filename); g_free (filename); } g_dir_close (dir); return 0; }