44# This script runs both create_typedefs_file.py and class_generator.py
55# It intelligently skips creating typedefs if they already exist and are current
66
7- # Usage: ./generator [typedefs_file_path]
7+ # Usage: ./generator [--override] [ typedefs_file_path]
88# If typedefs_file_path is not provided, defaults to /tmp/typedefs.json
9+ # --override: force re-download of typedefs even if cached file is current
910
1011echo " 🚀 Starting Atlan Python SDK code generation..."
1112
13+ # Parse flags
14+ FORCE_OVERRIDE=false
15+ TYPE_DEF_FILE_ARG=" "
16+ for arg in " $@ " ; do
17+ case " $arg " in
18+ --override)
19+ FORCE_OVERRIDE=true
20+ ;;
21+ * )
22+ TYPE_DEF_FILE_ARG=" $arg "
23+ ;;
24+ esac
25+ done
26+
1227# Check if ATLAN_BASE_URL and ATLAN_API_KEY are set
1328if [ -z " $ATLAN_BASE_URL " ] || [ -z " $ATLAN_API_KEY " ]; then
1429 echo " ❌ Error: ATLAN_BASE_URL and ATLAN_API_KEY environment variables must be set."
@@ -19,8 +34,8 @@ if [ -z "$ATLAN_BASE_URL" ] || [ -z "$ATLAN_API_KEY" ]; then
1934fi
2035
2136# Get the typedefs file path from command line argument or use default
22- if [ -n " $1 " ]; then
23- TYPE_DEF_FILE=" $1 "
37+ if [ -n " $TYPE_DEF_FILE_ARG " ]; then
38+ TYPE_DEF_FILE=" $TYPE_DEF_FILE_ARG "
2439 echo " 📁 Using custom typedefs file: $TYPE_DEF_FILE "
2540else
2641 TMPDIR=${TMPDIR:-/ tmp}
3045
3146# Check if typedefs file exists and is current (created today)
3247SHOULD_CREATE_TYPEDEFS=true
33- if [ -f " $TYPE_DEF_FILE " ]; then
48+ if [ " $FORCE_OVERRIDE " = true ]; then
49+ echo " 🔄 --override flag set, forcing typedefs re-download"
50+ elif [ -f " $TYPE_DEF_FILE " ]; then
3451 # Check if file was created today
3552 if [ " $( date -r " $TYPE_DEF_FILE " +%Y-%m-%d) " = " $( date +%Y-%m-%d) " ]; then
3653 echo " ✅ Typedefs file already exists and is current: $TYPE_DEF_FILE "
0 commit comments