refs #631 - Some script modifies

ogrepository_installer
Gerardo GIl Elizeire 2024-10-25 14:29:12 +02:00
parent 126aa3cf8f
commit 38b8ecd398
3 changed files with 62 additions and 38 deletions

View File

@ -98,15 +98,17 @@ def get_image_info(repo_data, trash_data, image_name, image_ext):
"""
dictionary = ""
# Buscamos la imagen en el repositorio, y si la encontramos creamos un diccionario con los datos:
for image in repo_data['images']:
if image['name'] == image_name and image['type'] == image_ext:
dictionary = {"directory": repo_data['directory'],
"images": [image]}
if repo_data != "":
for image in repo_data['images']:
if image['name'] == image_name and image['type'] == image_ext:
dictionary = {"directory": repo_data['directory'],
"images": [image]}
# Buscamos la imagen en la papelera, y si la encontramos creamos un diccionario con los datos:
for image in trash_data['images']:
if image['name'] == image_name:
dictionary = {"directory": trash_data['directory'],
"images": [image]}
if trash_data != "":
for image in trash_data['images']:
if image['name'] == image_name:
dictionary = {"directory": trash_data['directory'],
"images": [image]}
# Si hemos obtenido datos de la imagen, los pasamos a json y los imprmimos,
# y si no, imprimimos un mensaje de error y salimos del script:
if dictionary != "":
@ -124,19 +126,21 @@ def get_ou_image_info(repo_data, trash_data, image_name, image_ext, ou_subdir):
"""
dictionary = ""
# Buscamos la OU y la imagen en el repositorio, y si los encontramos creamos un diccionario con los datos:
for ou in repo_data['ous']:
if ou['subdir'] == ou_subdir:
for image in ou['images']:
if image['name'] == image_name and image['type'] == image_ext:
dictionary = {"directory": repo_data['directory'],
"ous": [{"subdir": ou_subdir, "images": [image]}]}
if repo_data != "":
for ou in repo_data['ous']:
if ou['subdir'] == ou_subdir:
for image in ou['images']:
if image['name'] == image_name and image['type'] == image_ext:
dictionary = {"directory": repo_data['directory'],
"ous": [{"subdir": ou_subdir, "images": [image]}]}
# Buscamos la OU y la imagen en la papelera, y si los encontramos creamos un diccionario con los datos:
for ou in trash_data['ous']:
if ou['subdir'] == ou_subdir:
for image in ou['images']:
if image['name'] == image_name:
dictionary = {"directory": trash_data['directory'],
"ous": [{"subdir": ou_subdir, "images": [image]}]}
if trash_data != "":
for ou in trash_data['ous']:
if ou['subdir'] == ou_subdir:
for image in ou['images']:
if image['name'] == image_name:
dictionary = {"directory": trash_data['directory'],
"ous": [{"subdir": ou_subdir, "images": [image]}]}
# Si hemos obtenido datos de la imagen, los pasamos a json y los imprmimos,
# y si no, imprimimos un mensaje de error y salimos del script:
if dictionary != "":
@ -159,13 +163,21 @@ def main():
# Evaluamos si se ha enviado la cantidad correcta de parámetros, y en el formato correcto:
check_params()
# Almacenamos la información de las imágenes del repositorio, en la variable "repo_data":
with open(repo_file, 'r') as file:
repo_data = json.load(file)
# Almacenamos la información de las imágenes del repositorio, en la variable "repo_data"
# (solo si el archivo tiene contenido, o dará error):
if os.path.getsize(repo_file) > 0:
with open(repo_file, 'r') as file:
repo_data = json.load(file)
else:
repo_data = ""
# Almacenamos la información de las imágenes de la papelera, en la variable "trash_data":
with open(trash_file, 'r') as file:
trash_data = json.load(file)
# Almacenamos la información de las imágenes de la papelera, en la variable "trash_data"
# (solo si el archivo tiene contenido, o dará error):
if os.path.getsize(trash_file) > 0:
with open(trash_file, 'r') as file:
trash_data = json.load(file)
else:
trash_data = ""
# Dependiendo del valor de los parámetros, llamamos a la función correspondiente, para imprimir la información
# (extrayendo el nombre, la extensión de la imagen, y/o la OU cuando se necesite):

View File

@ -163,9 +163,13 @@ def add_to_json(image_name, image_type, data, size, _sum, fullsum):
"sum": _sum,
"fullsum": fullsum
}
# Almacenamos el contenido del archivo "repoinfo.json" en la variable "info_data":
with open(info_file, 'r') as file:
info_data = json.load(file)
# Almacenamos el contenido del archivo "repoinfo.json" en la variable "info_data"
# (y si no tiene contenido creamos la estructura básica):
if os.path.getsize(info_file) > 0:
with open(info_file, 'r') as file:
info_data = json.load(file)
else:
info_data = {"directory": repo_path, "images": [], "ous": []}
# Comprobamos si las claves "info_data" (o sea, del archivo json) son las correctas:
if set(info_data.keys()) == {"directory", "images", "ous"}:
@ -301,10 +305,12 @@ def main():
check_dirs()
# Llamamos a la función "remove_from_json", para eliminar del archivo json las imágenes que fueron eliminadas del repositorio:
print("Removing deleted images...")
remove_from_json()
if os.path.getsize(info_file) > 0:
print("Removing deleted images...")
remove_from_json()
# Actualizamos la información de la papelera, ejecutando el script "updateTrashInfo.py":
# Actualizamos la información de la papelera, ejecutando el script "updateTrashInfo.py"
# (solo si el archivo tiene contenido, o dará error):
print("Updating Trash Info...")
update_trash_info()

View File

@ -174,9 +174,13 @@ def add_to_json(image_name, image_type, data, size, _sum, fullsum):
"sum": _sum,
"fullsum": fullsum
}
# Almacenamos el contenido del archivo "trashinfo.json" en la variable "info_data":
with open(info_file, 'r') as file:
info_data = json.load(file)
# Almacenamos el contenido del archivo "trashinfo.json" en la variable "info_data"
# (y si no tiene contenido creamos la estructura básica):
if os.path.getsize(info_file) > 0:
with open(info_file, 'r') as file:
info_data = json.load(file)
else:
info_data = {"directory": trash_path, "images": [], "ous": []}
# Comprobamos si las claves "info_data" (o sea, del archivo json) son las correctas:
if set(info_data.keys()) == {"directory", "images", "ous"}:
@ -301,9 +305,11 @@ def main():
print("Checking dir images...")
check_dirs()
# Llamamos a la función "remove_from_json", para eliminar del archivo json las imágenes que ya no están en la papelera:
print("Removing inexistent images...")
remove_from_json()
# Llamamos a la función "remove_from_json", para eliminar del archivo json las imágenes que ya no están en la papelera
# (solo si el archivo tiene contenido, o dará error):
if os.path.getsize(info_file) > 0:
print("Removing inexistent images...")
remove_from_json()