示例#1
0
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);
}
示例#3
0
文件: version.cpp 项目: d5j6/cells
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;
}