Vicente P. Guerrero-Bote

54 papers Journal 53Unranked 1
YearRankTypeTitle / Venue / Authors
2025 J jnl
Frontiers Res. Metrics Anal.
Marcos Pena-Rocha, Rocío Gómez Crisóstomo, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2025 J jnl
J. Informetrics
Jesús M. Álvarez-Llorente, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2024 J jnl
J. Informetrics
Rodrigo Sánchez Jiménez, Pablo Guerrero-Castillo, Vicente P. Guerrero-Bote, Gali Halevi, Félix de Moya-Anegón
2024 J jnl
CoRR
Marcos Pena-Rocha, Maria del Rocio Gomez Crisostomo, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2024 J jnl
CoRR
Jesús M. Álvarez-Llorente, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2024 J jnl
Scientometrics
Jesús M. Álvarez-Llorente, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2024 J jnl
CoRR
Jesús M. Álvarez-Llorente, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2022 J jnl
Learn. Publ.
Henk F. Moed, Carmen López-Illescas, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2021 J jnl
CoRR
Henk F. Moed, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Carmen López-Illescas, Myroslava Hladchenko
2021 J jnl
Scientometrics
Henk F. Moed, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Carmen López-Illescas, Myroslava Hladchenko
2021 J jnl
J. Informetrics
Henk F. Moed, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Carmen López-Illescas
2021 J jnl
J. Data Inf. Sci.
Vicente P. Guerrero-Bote, Henk F. Moed, Félix de Moya-Anegón
2020 J jnl
CoRR
Henk F. Moed, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Carmen López-Illescas
2020 J jnl
J. Informetrics
Henk F. Moed, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Carmen López-Illescas
2020 J jnl
Frontiers Res. Metrics Anal.
Vicente P. Guerrero-Bote, Zaida Chinchilla-Rodríguez, Abraham Mendoza, Félix de Moya-Anegón
2020 J jnl
CoRR
Núria Bautista-Puig, Carmen López-Illescas, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Henk F. Moed
2020 J jnl
Scientometrics
Núria Bautista-Puig, Carmen López-Illescas, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Henk F. Moed
2020 J jnl
CoRR
Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Carmen López-Illescas, Henk F. Moed
2020 J jnl
CoRR
Félix de Moya-Anegón, Carmen López-Illescas, Vicente P. Guerrero-Bote, Henk F. Moed
2020 J jnl
Scientometrics
Félix de Moya-Anegón, Carmen López-Illescas, Vicente P. Guerrero-Bote, Henk F. Moed
2019 conf
ISSI
Félix de Moya-Anegón, Carmen López-Illescas, Vicente P. Guerrero-Bote, Henk F. Moed
2018 J jnl
J. Informetrics
Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Carmen López-Illescas, Henk F. Moed
2017 J jnl
J. Informetrics
Rodrigo Sánchez Jiménez, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2015 J jnl
J. Assoc. Inf. Sci. Technol.
Loet Leydesdorff, Félix de Moya-Anegón, Vicente P. Guerrero-Bote
2014 J jnl
Scientometrics
Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2013 J jnl
Scientometrics
Bárbara S. Lancho-Barrantes, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2013 J jnl
Scientometrics
Luz María Romo-Fernández, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2013 J jnl
CoRR
Loet Leydesdorff, Félix de Moya-Anegón, Vicente P. Guerrero-Bote
2013 J jnl
J. Assoc. Inf. Sci. Technol.
Vicente P. Guerrero-Bote, Carlos Olmeda-Gómez, Félix de Moya-Anegón
2013 J jnl
Scientometrics
Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Lutz Bornmann, Henk F. Moed
2012 J jnl
CoRR
Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2012 J jnl
J. Informetrics
Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2012 J jnl
J. Assoc. Inf. Sci. Technol.
Bárbara S. Lancho-Barrantes, Vicente P. Guerrero-Bote, Zaida Chinchilla-Rodríguez, Félix de Moya-Anegón
2012 J jnl
Scientometrics
Henk F. Moed, Lisa Colledge, Jan Reedijk, Félix de Moya-Anegón, Vicente P. Guerrero-Bote, Andrew M. Plume, Mayur Amin
2010 J jnl
J. Informetrics
Borja González-Pereira, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2010 J jnl
J. Assoc. Inf. Sci. Technol.
Loet Leydesdorff, Félix de Moya-Anegón, Vicente P. Guerrero-Bote
2010 J jnl
Scientometrics
Bárbara S. Lancho-Barrantes, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2010 J jnl
J. Inf. Sci.
Bárbara S. Lancho-Barrantes, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2009 J jnl
CoRR
Borja González-Pereira, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2009 J jnl
Scientometrics
Vicente P. Guerrero-Bote, Rocío Gómez Crisóstomo, Luz María Romo-Fernández, Félix de Moya-Anegón
2009 J jnl
Aslib Proc.
Carlos Olmeda-Gómez, Antonio Perianes-Rodríguez, María Antonia Ovalle-Perandones, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2008 J jnl
J. Assoc. Inf. Sci. Technol.
Arnaud Quirin, Oscar Cordón, Vicente P. Guerrero-Bote, Benjamín Vargas-Quesada, Félix de Moya-Anegón
2007 J jnl
Scientometrics
Vicente P. Guerrero-Bote, Felipe Zapico-Alonso, María Eugenia Espinosa-Calvo, Rocío Gómez Crisóstomo, Félix de Moya-Anegón
2006 J jnl
Inf. Process. Manag.
Vicente P. Guerrero-Bote, Felipe Zapico-Alonso, María Eugenia Espinosa-Calvo, Rocío Gómez Crisóstomo, Félix de Moya-Anegón
2005 J jnl
J. Assoc. Inf. Sci. Technol.
Cristina Faba Pérez, Felipe Zapico-Alonso, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2005 J jnl
Inf. Process. Manag.
Cristina Faba Pérez, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2003 J jnl
J. Documentation
Cristina Faba Pérez, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2003 J jnl
Int. J. Approx. Reason.
Vicente P. Guerrero-Bote, Cristina López-Pujalte, Félix de Moya-Anegón, Victor Herrero Solana
2003 J jnl
Scientometrics
Cristina Faba Pérez, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2003 J jnl
Inf. Process. Manag.
Cristina López-Pujalte, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2003 J jnl
J. Assoc. Inf. Sci. Technol.
Cristina López-Pujalte, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2002 J jnl
Inf. Process. Manag.
Cristina López-Pujalte, Vicente P. Guerrero-Bote, Félix de Moya-Anegón
2002 J jnl
Inf. Process. Manag.
Vicente P. Guerrero-Bote, Félix de Moya-Anegón, Victor Herrero Solana
2001 J jnl
J. Assoc. Inf. Sci. Technol.
Vicente P. Guerrero-Bote, Félix de Moya-Anegón
redb/utils/wrapper_run_sort_files.py
← Index redb/utils/wrapper_run_sort_files.py python
import os
import subprocess
import multiprocessing
import logging
from concurrent.futures import ThreadPoolExecutor
import signal

# Variables (replace these with actual values)
src_root_folder_path = "/mnt/samples/consilience/malware/vx-bazaar-expanded/"
dst_root_folder_path = "/mnt/samples/consilience/malware/_sorted_samples/vx-bazaar/"
log_folder_path = "/mnt/samples/consilience/malware/ops-logs/"
folder_names = ["Bazaar.2022.01", "Bazaar.2022.02", "Bazaar.2022.03", "Bazaar.2022.04"]  # List of folder names
script_name = "sort_files_by_type.py"
dry_run = True  # Set to True for testing without execution


# Ensure the log folder exists
os.makedirs(log_folder_path, exist_ok=True)

# Configure logging
main_log_name = "20241229-main_script.log"
main_log_file = os.path.join(log_folder_path, main_log_name)
if not os.path.exists(main_log_file):
    open(main_log_file, 'a').close()  # Create the log file if it doesn't exist
# main_log_file = os.path.join(log_folder_path, main_log_name)
# try:
#     with open(main_log_file, 'a') as f:
#         print(f"Successfully created/opened log file at: {main_log_file}")
#     # Verify the file exists
#     if os.path.exists(main_log_file):
#         print(f"Confirmed log file exists at: {main_log_file}")
#         print(f"File size: {os.path.getsize(main_log_file)} bytes")
# except Exception as e:
#     print(f"Error with log file: {e}")

# Configure logging
logging.basicConfig(
    filename=main_log_file,
    level=logging.INFO,
    format="%(asctime)s - %(levelname)s - %(message)s",
    force=True,
    filemode='a'
)

logging.info("Logging initialization test message")

# Add logging handler to flush immediately
class FlushableFileHandler(logging.FileHandler):
    def emit(self, record):
        super().emit(record)
        self.flush()

for handler in logging.getLogger().handlers:
    if isinstance(handler, logging.FileHandler):
        handler.flush()

# Global flag for graceful termination
terminate_flag = False

def signal_handler(signum, frame):
    global terminate_flag
    terminate_flag = True
    logging.warning("Termination signal received. Attempting to shut down gracefully.")

# Register signal handler
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

# Define the worker function
def process_folder(folder):
    global terminate_flag
    if terminate_flag:
        logging.warning(f"Skipping folder {folder} due to termination signal.")
        return

    try:
        # Extract the word and date fields from the folder name
        word, year, month = folder.split('.')

        # Construct source, destination, and log paths
        src_folder = os.path.join(src_root_folder_path, folder)
        dst_folder = os.path.join(dst_root_folder_path, folder)
        log_file = os.path.join(
            log_folder_path, f"20241229-SORT_FILES-bazaar_{year}.{month}.output.log"
        )

        if not os.path.exists(log_file):
            open(log_file, 'a').close()  # Create the log file if it doesn't exist

        # Build the command
        command = ["python3", script_name, src_folder, dst_folder]

        if dry_run:
            logging.info(f"Dry run: Would execute: {command}, log: {log_file}")
            print(f"Dry run: Would execute: {command}, log: {log_file}")
        else:
            logging.info(f"Starting task for folder: {folder}")
            with open(log_file, "w") as log:
                subprocess.run(command, stdout=log, stderr=subprocess.STDOUT, check=True)
            logging.info(f"Task completed for folder: {folder}")

    except subprocess.CalledProcessError as e:
        logging.error(f"Subprocess failed for folder {folder} with return code {e.returncode}: {e}")
        print(f"Subprocess failed for folder {folder}: {e}")
    except Exception as e:
        logging.error(f"Error while processing folder {folder}: {e}")
        print(f"Error while processing folder {folder}: {e}")

# Determine the number of processors
num_processors = multiprocessing.cpu_count()

try:
    # Process folders using ThreadPoolExecutor
    with ThreadPoolExecutor(max_workers=num_processors-1) as executor:
        executor.map(process_folder, folder_names)

except Exception as e:
    logging.critical(f"Critical error in the main execution: {e}")
    print(f"Critical error: {e}")

logging.info("All tasks completed.")
print("All tasks completed.")