Merge pull request 'refs #1335 - Supress recursive image search' (#14) from add_python_scripts into main
Reviewed-on: #14deb-packages opengnsys_devel-0.0.22
commit
dc1659c52a
|
@ -51,50 +51,46 @@ def create_empty_json():
|
|||
json.dump(json_data, file, indent=2)
|
||||
|
||||
|
||||
|
||||
def check_files():
|
||||
""" Esta función recorre el directorio de imágenes, para buscar archivos con extensión ".img".
|
||||
Llama a la función "add_to_json" para que esta añada información de las imágenes no bloqueadas (sin archivo ".lock"),
|
||||
que además tengan un archivo ".info" asociado (siempre que este no se haya modificado antes que la propia imagen).
|
||||
Originalmente eliminaba los archivos ".info" después de extraer la información, pero ahora los renombra (agrega ".checked").
|
||||
"""
|
||||
# Iteramos recursivamente todos los archivos y directorios de "/opt/opengnsys/ogrepository/images",
|
||||
# y luego iteramos todos los archivos encontrados (en una iteración anidada):
|
||||
for root, dirs, files in os.walk(repo_path):
|
||||
for file in files:
|
||||
# Si la imagen actual tiene extensión ".img", construimos la ruta completa ("img_path"):
|
||||
if file.endswith(".img"):
|
||||
img_path = os.path.join(root, file)
|
||||
# Si existe un archivo ".lock" asociado a la imagen actual, pasamos a la siguiente:
|
||||
if os.path.exists(f"{img_path}.lock"):
|
||||
continue
|
||||
# Comprobamos si existe un archivo ".info" asociado a la imagen actual:
|
||||
info_file = f"{img_path}.info"
|
||||
if os.path.exists(info_file):
|
||||
# Si la fecha de modificación del archivo ".info" es anterior a la de la imagen, lo eliminamos (porque estará desactualizado):
|
||||
if os.path.getmtime(info_file) < os.path.getmtime(img_path):
|
||||
os.remove(info_file)
|
||||
print(f"Warning: Deleted outdated file {info_file}")
|
||||
# En caso contrario, almacenamos el contenido del archivo ".info" (del tipo "PARTCLONE:LZOP:EXTFS:8500000:Ubuntu_20") en la variable "data":
|
||||
else:
|
||||
with open(info_file, 'r') as file:
|
||||
info_data = file.read()
|
||||
# Almacenamos el contenido de los archivos ".size", ".sum" y ".full.sum":
|
||||
with open(f"{img_path}.size", 'r') as file:
|
||||
size = file.read().strip('\n')
|
||||
with open(f"{img_path}.sum", 'r') as file:
|
||||
_sum = file.read().strip('\n')
|
||||
with open(f"{img_path}.full.sum", 'r') as file:
|
||||
fullsum = file.read().strip('\n')
|
||||
# Llamamos a la función "add_to_json", para que inserte la información de la imagen en el archivo json
|
||||
# (pasándole el nombre de la imagen, la extensión, y los datos extraídos del archivo ".info"):
|
||||
img_name = os.path.relpath(img_path, repo_path)
|
||||
add_to_json(os.path.splitext(img_name)[0], os.path.splitext(img_name)[1][1:], info_data, size, _sum, fullsum)
|
||||
|
||||
# Renombramos el archivo ".info" a ".info.checked", para que ya no se añada la información que contiene
|
||||
# (originalmente se eliminaba el archivo, pero creo que es mejor mantenerlo):
|
||||
os.rename(info_file, f"{info_file}.checked")
|
||||
# Iteramos todos los archivos y directorios de "/opt/opengnsys/ogrepository/images":
|
||||
for item in os.listdir(repo_path):
|
||||
# Si el item actual acaba con ".img", construimos la ruta completa de la imagen ("img_path"):
|
||||
if item.endswith(".img"):
|
||||
img_path = os.path.join(repo_path, item)
|
||||
# Si existe un archivo ".lock" asociado a la imagen actual, pasamos a la siguiente:
|
||||
if os.path.exists(f"{img_path}.lock"):
|
||||
continue
|
||||
# Comprobamos si existe un archivo ".info" asociado a la imagen actual:
|
||||
info_file = f"{img_path}.info"
|
||||
if os.path.exists(info_file):
|
||||
# Si la fecha de modificación del archivo ".info" es anterior a la de la imagen, lo eliminamos (porque estará desactualizado):
|
||||
if os.path.getmtime(info_file) < os.path.getmtime(img_path):
|
||||
os.remove(info_file)
|
||||
print(f"Warning: Deleted outdated file {info_file}")
|
||||
# En caso contrario, almacenamos el contenido del archivo ".info" (del tipo "PARTCLONE:LZOP:EXTFS:8500000:Ubuntu_20") en la variable "data":
|
||||
else:
|
||||
with open(info_file, 'r') as file:
|
||||
info_data = file.read()
|
||||
# Almacenamos el contenido de los archivos ".size", ".sum" y ".full.sum":
|
||||
with open(f"{img_path}.size", 'r') as file:
|
||||
size = file.read().strip('\n')
|
||||
with open(f"{img_path}.sum", 'r') as file:
|
||||
_sum = file.read().strip('\n')
|
||||
with open(f"{img_path}.full.sum", 'r') as file:
|
||||
fullsum = file.read().strip('\n')
|
||||
# Llamamos a la función "add_to_json", para que inserte la información de la imagen en el archivo json
|
||||
# (pasándole el nombre de la imagen, la extensión, y los datos extraídos del archivo ".info"):
|
||||
img_name = os.path.relpath(img_path, repo_path)
|
||||
add_to_json(os.path.splitext(img_name)[0], os.path.splitext(img_name)[1][1:], info_data, size, _sum, fullsum)
|
||||
|
||||
# Renombramos el archivo ".info" a ".info.checked", para que ya no se añada la información que contiene
|
||||
# (originalmente se eliminaba el archivo, pero creo que es mejor mantenerlo):
|
||||
os.rename(info_file, f"{info_file}.checked")
|
||||
|
||||
|
||||
def add_to_json(image_name, image_type, data, size, _sum, fullsum):
|
||||
|
|
|
@ -73,38 +73,36 @@ def check_files():
|
|||
Llama a la función "add_to_json" para que esta añada información de las imágenes no bloqueadas (sin archivo ".lock"),
|
||||
que además tengan un archivo ".info.checked" asociado (siempre que este no se haya modificado antes que la propia imagen).
|
||||
"""
|
||||
# Iteramos recursivamente todos los archivos y directorios de "/opt/opengnsys/ogrepository/images_trash",
|
||||
# y luego iteramos todos los archivos encontrados (en una iteración anidada):
|
||||
for root, dirs, files in os.walk(trash_path):
|
||||
for file in files:
|
||||
# Si la imagen actual tiene extensión ".img", construimos la ruta completa ("img_path"):
|
||||
if file.endswith(".img"):
|
||||
img_path = os.path.join(root, file)
|
||||
# Si existe un archivo ".lock" asociado a la imagen actual, pasamos a la siguiente:
|
||||
if os.path.exists(f"{img_path}.lock"):
|
||||
continue
|
||||
# Comprobamos si existe un archivo ".info.checked" asociado a la imagen actual:
|
||||
info_file = f"{img_path}.info.checked"
|
||||
if os.path.exists(info_file):
|
||||
# Si la fecha de modificación del archivo ".info.checked" es anterior a la de la imagen, lo eliminamos (porque estará desactualizado):
|
||||
if os.path.getmtime(info_file) < os.path.getmtime(img_path):
|
||||
os.remove(info_file)
|
||||
print(f"Warning: Deleted outdated file {info_file}")
|
||||
# En caso contrario, almacenamos el contenido del archivo ".info.checked" (del tipo "PARTCLONE:LZOP:EXTFS:8500000:Ubuntu_20") en la variable "data":
|
||||
else:
|
||||
with open(info_file, 'r') as file:
|
||||
info_data = file.read()
|
||||
# Almacenamos el contenido de los archivos ".size", ".sum" y ".full.sum":
|
||||
with open(f"{img_path}.size", 'r') as file:
|
||||
size = file.read().strip('\n')
|
||||
with open(f"{img_path}.sum", 'r') as file:
|
||||
_sum = file.read().strip('\n')
|
||||
with open(f"{img_path}.full.sum", 'r') as file:
|
||||
fullsum = file.read().strip('\n')
|
||||
# Llamamos a la función "add_to_json", para que inserte la información de la imagen en el archivo json
|
||||
# (pasándole el nombre de la imagen, la extensión, y los datos extraídos del archivo ".info.checked"):
|
||||
img_name = os.path.relpath(img_path, trash_path)
|
||||
add_to_json(os.path.splitext(img_name)[0], os.path.splitext(img_name)[1][1:], info_data, size, _sum, fullsum)
|
||||
# Iteramos todos los archivos y directorios de "/opt/opengnsys/ogrepository/images_trash":
|
||||
for item in os.listdir(trash_path):
|
||||
# Si el item actual acaba con ".img", construimos la ruta completa de la imagen ("img_path"):
|
||||
if item.endswith(".img"):
|
||||
img_path = os.path.join(trash_path, item)
|
||||
# Si existe un archivo ".lock" asociado a la imagen actual, pasamos a la siguiente:
|
||||
if os.path.exists(f"{img_path}.lock"):
|
||||
continue
|
||||
# Comprobamos si existe un archivo ".info.checked" asociado a la imagen actual:
|
||||
info_file = f"{img_path}.info.checked"
|
||||
if os.path.exists(info_file):
|
||||
# Si la fecha de modificación del archivo ".info.checked" es anterior a la de la imagen, lo eliminamos (porque estará desactualizado):
|
||||
if os.path.getmtime(info_file) < os.path.getmtime(img_path):
|
||||
os.remove(info_file)
|
||||
print(f"Warning: Deleted outdated file {info_file}")
|
||||
# En caso contrario, almacenamos el contenido del archivo ".info.checked" (del tipo "PARTCLONE:LZOP:EXTFS:8500000:Ubuntu_20") en la variable "data":
|
||||
else:
|
||||
with open(info_file, 'r') as file:
|
||||
info_data = file.read()
|
||||
# Almacenamos el contenido de los archivos ".size", ".sum" y ".full.sum":
|
||||
with open(f"{img_path}.size", 'r') as file:
|
||||
size = file.read().strip('\n')
|
||||
with open(f"{img_path}.sum", 'r') as file:
|
||||
_sum = file.read().strip('\n')
|
||||
with open(f"{img_path}.full.sum", 'r') as file:
|
||||
fullsum = file.read().strip('\n')
|
||||
# Llamamos a la función "add_to_json", para que inserte la información de la imagen en el archivo json
|
||||
# (pasándole el nombre de la imagen, la extensión, y los datos extraídos del archivo ".info.checked"):
|
||||
img_name = os.path.relpath(img_path, trash_path)
|
||||
add_to_json(os.path.splitext(img_name)[0], os.path.splitext(img_name)[1][1:], info_data, size, _sum, fullsum)
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue