logs
This commit is contained in:
parent
c9760aaab8
commit
f22deb4426
|
@ -0,0 +1 @@
|
|||
update_robots.log
|
|
@ -2,12 +2,14 @@ import psycopg2
|
|||
import re
|
||||
import argparse
|
||||
import os
|
||||
import logging
|
||||
|
||||
# Default values
|
||||
DEFAULT_CONFIG_FILE = "/home/life/Portal-Bundle/portal-setup-wizard.properties"
|
||||
DEFAULT_TEMPLATE_FILE = "template-robots.txt"
|
||||
DEFAULT_PLACEHOLDER = "{{HOSTNAME}}"
|
||||
DEFAULT_OUTPUT_DIR = "currents_robots"
|
||||
LOG_FILE = "update_robots.log"
|
||||
|
||||
# Function to read database connection parameters from the configuration file
|
||||
def read_db_config(config_file_path):
|
||||
|
@ -25,7 +27,7 @@ def read_template_file(file_path):
|
|||
return file.read().strip().replace('\n', '_SAFE_NEWLINE_CHARACTER_').replace('\r\n', '_SAFE_NEWLINE_CHARACTER_')
|
||||
|
||||
# Function to update the typesettings field for all groups containing false-robots.txt
|
||||
def update_typesettings_for_all_groups(cursor, template_content, placeholder_pattern, execute_updates, specific_hostname=None):
|
||||
def update_typesettings(cursor, template_content, placeholder_pattern, execute_updates, specific_hostname=None):
|
||||
try:
|
||||
# Query to extract the necessary data with a join
|
||||
query = """
|
||||
|
@ -58,14 +60,20 @@ def update_typesettings_for_all_groups(cursor, template_content, placeholder_pat
|
|||
)
|
||||
|
||||
# Update query
|
||||
update_query = f"UPDATE public.group_ SET typesettings = %s WHERE groupid = %s;"
|
||||
update_query = "UPDATE public.group_ SET typesettings = %s WHERE groupid = %s;"
|
||||
|
||||
if execute_updates:
|
||||
cursor.execute(update_query, (updated_typesettings, groupid))
|
||||
executed_query = cursor.mogrify(update_query, (updated_typesettings, groupid)).decode('utf-8')
|
||||
restore_query = cursor.mogrify(update_query, (current_typesettings, groupid)).decode('utf-8')
|
||||
logging.info(f"Executed: \n{executed_query}\n")
|
||||
logging.info(f"### Restore command: \n{restore_query}\n")
|
||||
else:
|
||||
print(cursor.mogrify(update_query, (updated_typesettings, groupid)))
|
||||
print(cursor.mogrify(update_query, (updated_typesettings, groupid)).decode('utf-8'))
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error during update: {e}")
|
||||
logging.error(f"Error during update: {e}")
|
||||
|
||||
# Function to print the list of current vhosts
|
||||
def print_current_vhosts(cursor):
|
||||
|
@ -121,7 +129,6 @@ def save_current_vhosts(cursor, output_dir):
|
|||
file.write(match.group(1))
|
||||
print(f"Saved {hostname} robots.txt to {file_path}")
|
||||
|
||||
|
||||
file_path = os.path.join(output_dir, f"typesettings_{hostname}.txt")
|
||||
with open(file_path, 'w') as file:
|
||||
file.write(typesettings)
|
||||
|
@ -249,6 +256,10 @@ Examples of usage:
|
|||
if args.db_password:
|
||||
db_password = args.db_password
|
||||
|
||||
# Configure logging
|
||||
logging.basicConfig(filename=LOG_FILE, level=logging.INFO,
|
||||
format='%(asctime)s %(message)s')
|
||||
|
||||
# Connect to the database
|
||||
conn = psycopg2.connect(
|
||||
host=db_host,
|
||||
|
@ -268,11 +279,10 @@ Examples of usage:
|
|||
elif args.print_differences:
|
||||
print_differences(cursor, template_content, args.placeholder, args.hostname)
|
||||
elif args.execute:
|
||||
update_typesettings_for_all_groups(cursor, template_content, args.placeholder, True, args.hostname)
|
||||
print ("robots.txt updated. clean the liferay database cache on all the instances (Configuration => Server Administration => Clear the database cache)")
|
||||
|
||||
update_typesettings(cursor, template_content, args.placeholder, True, args.hostname)
|
||||
print("robots.txt updated. Clean the Liferay database cache on all the instances (Configuration => Server Administration => Clear the database cache)")
|
||||
elif args.print_updates:
|
||||
update_typesettings_for_all_groups(cursor, template_content, args.placeholder, False, args.hostname)
|
||||
update_typesettings(cursor, template_content, args.placeholder, False, args.hostname)
|
||||
else:
|
||||
parser.print_help()
|
||||
return
|
||||
|
@ -283,4 +293,3 @@ Examples of usage:
|
|||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
|
|
Loading…
Reference in New Issue