import os import sys # Add parent directory to path to import shared modules sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) from visual_qc_apps.flask_app_template import FlaskAppTemplate class FileNamingApp(FlaskAppTemplate): """ File Naming Check """ def __init__(self): # Define the hardcoded prompt prompt = """You are performing a visual quality-control check on a file to verify its naming convention. Your task is to determine whether the filename follows the required naming pattern. REQUIRED NAMING PATTERN: The filename should follow this convention: JobNumber_Brand_DeliverableType_Location_Publication_Spec_NumberOfDeliverables For example: 12345_CocaCola_Billboard_NYC_TimesSquare_8x10_1of3 STEPS TO EVALUATE: 1. Identify the filename from the image (look for any text showing filenames or system paths/locations). 2. If no filename is visible in the image, state that "The filename could not be identified in the image." 3. If a filename is visible, check if it follows the required naming pattern with underscores separating each section. 4. Check for scaling information if applicable (e.g., AW_at_50pc) - note that percentages should be specified as "pc" not "%". 5. Verify that all required parts are present (JobNumber, Brand, DeliverableType, Location, Publication, Spec, NumberOfDeliverables). YOUR OUTPUT: • State whether the filename was visible in the image. • If visible, state whether the filename "passes" or "fails" the naming convention check. • If it fails, provide specific recommendations for correcting the filename. • Include a JSON code block with these fields: { "filename_visible": true or false, "filename_detected": "the detected filename or 'Not visible'", "naming_convention_check": "Pass" or "Fail" or "Not applicable", "recommendations": ["List of specific recommendations if applicable, else an empty array"] }""" # Initialize the Flask app with the prompt super().__init__(__name__, prompt) # Run the app if executed directly if __name__ == "__main__": app = FileNamingApp() app.run(debug=True)