From 4553f173194167bb246fd21a09fe9c911fd227ab Mon Sep 17 00:00:00 2001 From: sukanya <sukanya.k@niveussolutions.com> Date: Wed, 12 Mar 2025 13:48:30 +0530 Subject: [PATCH] 1st commit --- __init__.py | 0 __pycache__/__init__.cpython-310.pyc | Bin 0 -> 160 bytes apis/Imagegenerationapi.py | 70 +++++++++++++ apis/__init__.py | 0 apis/abclimagegeneration.py | 106 ++++++++++++++++++++ apis/api_responses.xlsx | Bin 0 -> 19948 bytes apis/backendapi.py | 85 ++++++++++++++++ apis/lanague comparision.py | 53 ++++++++++ apis/runseachresponsesingletime.py | 67 +++++++++++++ apis/testinggooglequth.py | 27 +++++ apis/websiteblog.py | 81 +++++++++++++++ config/__init__.py | 0 config/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 167 bytes config/__pycache__/config.cpython-310.pyc | Bin 0 -> 1055 bytes config/config.py | 27 +++++ config/data/ABHFLthemes.json | 1 + config/data/Cincin_instagram.xlsx | Bin 0 -> 5389 bytes config/data/Cincin_instagram1.xlsx | Bin 0 -> 48047 bytes config/data/abhibackendtheme.json | 7 ++ config/data/utecpaylods.json | 10 ++ main.py | 4 + requirements.txt | 0 22 files changed, 538 insertions(+) create mode 100644 __init__.py create mode 100644 __pycache__/__init__.cpython-310.pyc create mode 100644 apis/Imagegenerationapi.py create mode 100644 apis/__init__.py create mode 100644 apis/abclimagegeneration.py create mode 100644 apis/api_responses.xlsx create mode 100644 apis/backendapi.py create mode 100644 apis/lanague comparision.py create mode 100644 apis/runseachresponsesingletime.py create mode 100644 apis/testinggooglequth.py create mode 100644 apis/websiteblog.py create mode 100644 config/__init__.py create mode 100644 config/__pycache__/__init__.cpython-310.pyc create mode 100644 config/__pycache__/config.cpython-310.pyc create mode 100644 config/config.py create mode 100644 config/data/ABHFLthemes.json create mode 100644 config/data/Cincin_instagram.xlsx create mode 100644 config/data/Cincin_instagram1.xlsx create mode 100644 config/data/abhibackendtheme.json create mode 100644 config/data/utecpaylods.json create mode 100644 main.py create mode 100644 requirements.txt diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/__pycache__/__init__.cpython-310.pyc b/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..784cab342561f4c8f29a7c302d5f8bee818126b7 GIT binary patch literal 160 zcmd1j<>g{vU|@*jT%Hc1AA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_IqPTS z=cekH7N-{J`<51GChI$<WR_GWI%O8+B<efo=ar=9l{n|8r0OT;<RnA5i3OR(`tk9Z gd6^~g@p=W7w>WHa^HWN5Qtd#77c((1Ft9KH0DR6R<NyEw literal 0 HcmV?d00001 diff --git a/apis/Imagegenerationapi.py b/apis/Imagegenerationapi.py new file mode 100644 index 0000000..82b4dda --- /dev/null +++ b/apis/Imagegenerationapi.py @@ -0,0 +1,70 @@ +import requests +import pandas as pd +import gspread +from oauth2client.service_account import ServiceAccountCredentials + +# API Endpoint +url = "https://abg-vision-dev-utech-endpoint-v1-689695695290.asia-south1.run.app/utec/dev/vision/api/v1/generate-image" + +# List of preferred languages +languages = ["hi", "as", "gu", "kn", "ml", "mr", "or", "pa", "sd", "ta", "te", "ur"] + +# Base payload template +payload_template = {"prompt":"Building service, Color Tone:None, Lighting:None, Composition:None, Content Type:Photo","template_type":"Template 4","category":"water_proofing","preferred_language":"","product":["weather_pro_flex"]} + +# Headers +headers = {"Content-Type": "application/json"} + +data_list = [] + + +# Loop through each language and make API requests +for lang in languages: + payload = payload_template.copy() + print(payload) + payload["preferred_language"] = lang + response = requests.post(url, json=payload, headers=headers) + print(lang,response) + + if response.status_code == 200: + result = response.json() + + # Extract image_1 dynamically (if available) + image_url = result[0].get("image_1", "No Image URL") if isinstance(result, list) else "No Image URL" + + data_list.append({ + "Language": lang, + "Payload": str(payload), + "Response": str(result), + "Image_1": image_url + }) + else: + data_list.append({ + "Language": lang, + "Payload": str(payload), + "Response": f"Error {response.status_code}", + "Image_1": "N/A" + }) + +# Convert results to DataFrame +df = pd.DataFrame(data_list) + +# Google Sheets Authentication +scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"] +creds = ServiceAccountCredentials.from_json_keyfile_name("/home/user/Downloads/martech-prod-utech-57484fb42bd9.json", scope) +client = gspread.authorize(creds) + +# Open Google Sheet and insert data +SHEET_ID = "1KOToGomUmFWiTDtS3dUAPZzhmk495mH0XAoM4ZMHNno" +spreadsheet = client.open_by_key(SHEET_ID) +worksheet = spreadsheet.sheet1 +worksheet.clear() + +# Insert headers +worksheet.append_row(["Language", "Payload", "Response", "Image_1"]) + +# Insert data +for row in data_list: + worksheet.append_row([row["Language"], row["Payload"], row["Response"], row["Image_1"]]) + +print("Responses saved to Google Sheets") \ No newline at end of file diff --git a/apis/__init__.py b/apis/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apis/abclimagegeneration.py b/apis/abclimagegeneration.py new file mode 100644 index 0000000..9245b29 --- /dev/null +++ b/apis/abclimagegeneration.py @@ -0,0 +1,106 @@ +import requests +import pandas as pd +import gspread +from oauth2client.service_account import ServiceAccountCredentials + +# API Endpoint +url = "https://abg-vision-dev-abcl-endpoint-v1-1045576192621.asia-south1.run.app/abcl/dev/vision/api/v1/generate-image" + + +# List of preferred languages +#languages = ["hi", "as", "gu", "kn", "ml", "mr", "or", "pa", "sd", "ta", "te", "ur"] +prompt_1 = [ + "Featuring diverse Indian women: entrepreneur, homemaker, professional, and student symbolizing financial independence and homeownership.", + "A young Indian couple seated with a financial advisor, confidently discussing insurance plans.", + "A couple riding bicycles in a scenic park, dressed in white sportswear with red shoes (Hex #C7222A).", + "A couple with their newborn in a warm home setting, expressing joy and security.", + "A couple walking briskly in white sportswear with red shoes, promoting 'Walk towards a healthier you'.", + "A couple jogging in sleek white sportswear with red shoes.", + "A couple jogging in grey sportswear with red shoes.", + "A couple relaxing on the sand post-workout, sipping coconut water in white sportswear with red shoes.", + "Grandmother, mother, and daughter in a cozy home, symbolizing financial stability across generations.", + "A young professional working on a laptop in a co-working space, symbolizing financial independence.", + "A woman proudly standing outside her small business, showcasing success and empowerment.", + "Friends in matching white yoga outfits and red shoes, practicing mindfulness outdoors.", + "A family jogging together in white sportswear with red shoes, promoting a healthy lifestyle.", + "A group of friends cycling through a scenic path in coordinated grey and white sportswear with red shoes.", + "A couple holding keys to their new home, smiling proudly at the doorstep.", + "Parents helping their child study at home, symbolizing investment in education and security.", + "A retired couple enjoying tea on their balcony, symbolizing peace of mind through careful planning." +] + +# Base payload template +payload_template = { + "aspect_ratio":"1:1", + "social_media":"Instagram", + "prompt":"", + "category":"photography", + "preferred_language":"en" +} + +# Headers +headers = {"Content-Type": "application/json"} + +data_list = [] +# Google Sheets Authentication +scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"] +creds = ServiceAccountCredentials.from_json_keyfile_name("/home/user/Downloads/martech-prod-utech-57484fb42bd9.json", scope) +client = gspread.authorize(creds) + +# Open Google Sheet and insert data +SHEET_ID = "1GyvYlfb95ECW2GUVHEYVW_0l6bLd3KFQizr2CdWoiis" +spreadsheet = client.open_by_key(SHEET_ID) +worksheet = spreadsheet.sheet1 +worksheet.clear() + +# Insert headers +worksheet.append_row(["Language", "Payload", "Response", "Image_1", "Image_raw_1", "Image_2", "Image_raw_2", "Image_3", "Image_raw_3"]) + +# Loop through each language and make API requests +for lang in prompt_1: + payload = payload_template.copy() + print(payload) + payload["prompt"] = lang + response = requests.post(url, json=payload, headers=headers) + print(lang,response) + + if response.status_code == 200: + result = response.json() + + # Extract image_1 dynamically (if available) + image_url = result[0].get("image_1", "No Image URL") if isinstance(result, list) else "No Image URL" + image_url_raw = result[0].get("image_raw_1", "No Image URL") if isinstance(result, list) else "No Image URL" + image_url1 = result[1].get("image_2", "No Image URL") if isinstance(result, list) else "No Image URL" + image_url_raw1 = result[1].get("image_raw_2", "No Image URL") if isinstance(result, list) else "No Image URL" + image_url2 = result[2].get("image_3", "No Image URL") if isinstance(result, list) else "No Image URL" + image_url_raw2 = result[2].get("image_raw_3", "No Image URL") if isinstance(result, list) else "No Image URL" + + + worksheet.append_row([lang, str(payload), str(result), image_url, image_url_raw, image_url1, image_url_raw1, image_url2, image_url_raw2]) + + data_list.append({ + "Language": lang, + "Payload": str(payload), + "Response": str(result), + "Image_1": image_url, + "Image_raw_1": image_url_raw, + "Image_2": image_url1, + "Image_raw_2": image_url_raw1, + "Image_3": image_url2, + "Image_raw_3": image_url_raw2 + }) + else: + data_list.append({ + "Language": lang, + "Payload": str(payload), + "Response": f"Error {response.status_code}", + "Image_1": "N/A", + "Image_raw_1": "N/A" + + }) + +# Convert results to DataFrame +df = pd.DataFrame(data_list) + +# Insert data +print("Responses saved to Google Sheets") \ No newline at end of file diff --git a/apis/api_responses.xlsx b/apis/api_responses.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6ec0e4ae15a94d0dba0e9526bb046a0d4ae3c846 GIT binary patch literal 19948 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 literal 0 HcmV?d00001 diff --git a/apis/backendapi.py b/apis/backendapi.py new file mode 100644 index 0000000..3d5cf15 --- /dev/null +++ b/apis/backendapi.py @@ -0,0 +1,85 @@ +import requests +import openpyxl +import json +import sys +import os + +# Ensure script can find config module +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) + +# Import config variables +from config.config import API_URL_ABHFL, JSON_FOLDER, THEMES_FILE, REPEAT_COUNT + +# Ensure themes file exists +if not os.path.exists(THEMES_FILE): + raise FileNotFoundError(f"Error: Themes file '{THEMES_FILE}' not found.") + +# Load themes from JSON file +try: + with open(THEMES_FILE, "r", encoding="utf-8") as file: + themes = json.load(file) + if not themes: # Check if file is empty + raise ValueError("Themes file is empty. Please add themes to data.json") +except json.JSONDecodeError as e: + raise ValueError(f"Error decoding JSON: {e}") + +print(f" Loaded {len(themes)} themes from '{THEMES_FILE}'\n") + +# Create an Excel workbook +wb = openpyxl.Workbook() +ws = wb.active +ws.append(["Theme", "Result 1", "Result 2", "Result 3"]) # Headers + +# Iterate through themes and send API requests +for theme_index, theme in enumerate(themes, start=1): + print(f" Processing Theme {theme_index}/{len(themes)}: '{theme}'") + row = [theme] # Store theme in the first column + + for i in range(REPEAT_COUNT): + print(f" API Call {i + 1}/{REPEAT_COUNT} for theme: '{theme}'") + payload = { + "preferred_language": "en", + "social_media": "Instagram", + "Char": 500, + "age": ["20-50"], + "gender": "Both", + "theme": theme + } + + + + try: + response = requests.post(API_URL_ABHFL, json=payload) + response.raise_for_status() # Handle HTTP errors + + # Parse response + if response.headers.get('Content-Type') == 'application/json': + result = response.json() + print(f" API Response: {result}") + else: + result = "Invalid JSON response" + print(" Invalid JSON response received.") + + # Convert result to string for Excel + if isinstance(result, dict): + result = json.dumps(result, ensure_ascii=False) + + # Handle Excel cell character limit + if len(result) > 32767: + result = result[:32750] + "..." + print(" Response truncated to fit Excel cell limit.") + + row.append(result) + + except requests.exceptions.RequestException as e: + error_msg = f"Error: {e}" + row.append(error_msg) + print(f" API call failed: {e}") + + print(f" Final row data: {row}\n") + ws.append(row) # Append row after 3 API calls + +# Save the Excel file +excel_path = os.path.join(JSON_FOLDER, "Cincin_instagram1.xlsx") +wb.save(excel_path) +print(f"\n Excel file saved successfully at: {excel_path}") diff --git a/apis/lanague comparision.py b/apis/lanague comparision.py new file mode 100644 index 0000000..6dd9358 --- /dev/null +++ b/apis/lanague comparision.py @@ -0,0 +1,53 @@ +import requests +from langdetect import detect +from googletrans import Translator +from fuzzywuzzy import fuzz + +# API URL +API_URL = "https://abg-backend-dev-indriya-endpoint-v1-700549619509.asia-south1.run.app/indriya/dev/backend/api/v1/generate-whatsapp/" + + +# Function to call the API and get response +def get_api_response(theme, preferred_language): + payload = {"theme": theme, "preferred_language": preferred_language} + headers = {"Content-Type": "application/json"} + + response = requests.post(API_URL, json=payload, headers=headers) + if response.status_code == 200: + return response.json().get("generated_whatsapp", "") # Extract message + else: + print(f"API Error: {response.status_code}") + return None + + +# Function to check translation correctness +def check_translation(api_response, expected_english_text): + detected_lang = detect(api_response) # Detect language of API response + print(f"Detected Language: {detected_lang}") + + translator = Translator() + translated_text = translator.translate(api_response, dest="en").text # Translate to English + print(f"Translated Text: {translated_text}") + + similarity_score = fuzz.ratio(translated_text.lower(), expected_english_text.lower()) # Compare similarity + print(f"Similarity Score: {similarity_score}%") + + return similarity_score + + +# Example usage +theme = "Joyful Festive Gatherings by Indriya" +preferred_language = "ml" # Change dynamically based on need +expected_english_text = "Indriya’s festive collection is designed to add timeless elegance to your gatherings. We use BIS hallmarked gold and certified natural diamonds in all our jewelry, ensuring the highest quality and authenticity. Each piece is meticulously crafted to reflect the essence of Indian tradition and craftsmanship. Explore our exclusive collection featuring the finest earrings, rings, necklaces, and more for your joyous occasions." + +response_text = get_api_response(theme, preferred_language) + +if response_text: + similarity_score = check_translation(response_text, expected_english_text) + + if similarity_score > 80: + print("✅ Translation is accurate.") + else: + print("❌ Translation might be incorrect. Needs review.") +else: + print("Failed to get API response.") diff --git a/apis/runseachresponsesingletime.py b/apis/runseachresponsesingletime.py new file mode 100644 index 0000000..e37606c --- /dev/null +++ b/apis/runseachresponsesingletime.py @@ -0,0 +1,67 @@ +import requests +import pandas as pd +import gspread +from oauth2client.service_account import ServiceAccountCredentials + +# API Endpoint +url = "https://abg-vision-dev-utech-endpoint-v1-689695695290.asia-south1.run.app/utec/dev/vision/api/v1/generate-image" + +# List of preferred languages +languages = ["hi", "as", "gu", "kn", "ml", "mr", "or", "pa", "sd", "ta", "te", "ur"] + +# Base payload template +payload_template = {"prompt":"Building service, Color Tone:None, Lighting:None, Composition:None, Content Type:Photo","template_type":"Template 2","category":"water_proofing","preferred_language":"","product":["weather_pro_flex"]} + +# Headers +headers = {"Content-Type": "application/json"} + +data_list = [] +# Google Sheets Authentication +scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"] +creds = ServiceAccountCredentials.from_json_keyfile_name("/home/user/Downloads/martech-prod-utech-57484fb42bd9.json", scope) +client = gspread.authorize(creds) + +# Open Google Sheet and insert data +SHEET_ID = "1GyvYlfb95ECW2GUVHEYVW_0l6bLd3KFQizr2CdWoiis" +spreadsheet = client.open_by_key(SHEET_ID) +worksheet = spreadsheet.sheet1 +worksheet.clear() + +# Insert headers +worksheet.append_row(["Language", "Payload", "Response", "Image_1"]) + +# Loop through each language and make API requests +for lang in languages: + payload = payload_template.copy() + print(payload) + payload["preferred_language"] = lang + response = requests.post(url, json=payload, headers=headers) + print(lang,response) + + if response.status_code == 200: + result = response.json() + + # Extract image_1 dynamically (if available) + image_url = result[0].get("image_1", "No Image URL") if isinstance(result, list) else "No Image URL" + + worksheet.append_row([lang, str(payload), str(result), image_url]) + + data_list.append({ + "Language": lang, + "Payload": str(payload), + "Response": str(result), + "Image_1": image_url + }) + else: + data_list.append({ + "Language": lang, + "Payload": str(payload), + "Response": f"Error {response.status_code}", + "Image_1": "N/A" + }) + +# Convert results to DataFrame +df = pd.DataFrame(data_list) + +# Insert data +print("Responses saved to Google Sheets") \ No newline at end of file diff --git a/apis/testinggooglequth.py b/apis/testinggooglequth.py new file mode 100644 index 0000000..9350158 --- /dev/null +++ b/apis/testinggooglequth.py @@ -0,0 +1,27 @@ +import gspread +import pandas as pd +from oauth2client.service_account import ServiceAccountCredentials + +# Path to your service account key file +SERVICE_ACCOUNT_FILE = "/home/user/Downloads/martech-prod-utech-57484fb42bd9.json" + +# Define scope +scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"] + +# Authenticate using service account +creds = ServiceAccountCredentials.from_json_keyfile_name(SERVICE_ACCOUNT_FILE, scope) +gc = gspread.authorize(creds) + +# Open the Google Sheet +SHEET_ID = "1GyvYlfb95ECW2GUVHEYVW_0l6bLd3KFQizr2CdWoiis" +sheet = gc.open_by_key(SHEET_ID) +worksheet = sheet.sheet1 # First worksheet + +# Get all data +data = worksheet.get_all_records() +df = pd.DataFrame(data) + +# Append a new row +worksheet.append_row(["New Data", 123, "More Data"]) + +print(df) \ No newline at end of file diff --git a/apis/websiteblog.py b/apis/websiteblog.py new file mode 100644 index 0000000..c674726 --- /dev/null +++ b/apis/websiteblog.py @@ -0,0 +1,81 @@ +import requests +import openpyxl +import json +import sys +import os + +# Ensure script can find config module +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) + +# Import config variables +from config.config import API_URL_ABHFL_Blog, JSON_FOLDER, THEMES_FILE, REPEAT_COUNT + +# Ensure themes file exists +if not os.path.exists(THEMES_FILE): + raise FileNotFoundError(f"Error: Themes file '{THEMES_FILE}' not found.") + +# Load themes from JSON file +try: + with open(THEMES_FILE, "r", encoding="utf-8") as file: + themes = json.load(file) + if not themes: # Check if file is empty + raise ValueError("Themes file is empty. Please add themes to data.json") +except json.JSONDecodeError as e: + raise ValueError(f"Error decoding JSON: {e}") + +print(f" Loaded {len(themes)} themes from '{THEMES_FILE}'\n") + +# Create an Excel workbook +wb = openpyxl.Workbook() +ws = wb.active +ws.append(["Theme", "Result 1", "Result 2", "Result 3"]) # Headers + +# Iterate through themes and send API requests +for theme_index, theme in enumerate(themes, start=1): + print(f" Processing Theme {theme_index}/{len(themes)}: '{theme}'") + row = [theme] # Store theme in the first column + + for i in range(REPEAT_COUNT): + print(f" API Call {i + 1}/{REPEAT_COUNT} for theme: '{theme}'") + payload = { + "preferred_language": "en", + "theme": theme + } + + + + try: + response = requests.post(API_URL_ABHFL_Blog, json=payload) + response.raise_for_status() # Handle HTTP errors + + # Parse response + if response.headers.get('Content-Type') == 'application/json': + result = response.json() + print(f" API Response: {result}") + else: + result = "Invalid JSON response" + print(" Invalid JSON response received.") + + # Convert result to string for Excel + if isinstance(result, dict): + result = json.dumps(result, ensure_ascii=False) + + # Handle Excel cell character limit + if len(result) > 32767: + result = result[:32750] + "..." + print(" Response truncated to fit Excel cell limit.") + + row.append(result) + + except requests.exceptions.RequestException as e: + error_msg = f"Error: {e}" + row.append(error_msg) + print(f" API call failed: {e}") + + print(f" Final row data: {row}\n") + ws.append(row) # Append row after 3 API calls + +# Save the Excel file +excel_path = os.path.join(JSON_FOLDER, "Cincin_instagram1.xlsx") +wb.save(excel_path) +print(f"\n Excel file saved successfully at: {excel_path}") diff --git a/config/__init__.py b/config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/config/__pycache__/__init__.cpython-310.pyc b/config/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b8bfce579983f2e0ba0f0bdd7e37f1603e34e74c GIT binary patch literal 167 zcmd1j<>g{vU|`VaU7il2AA<;F%*epN;K0DZP|U)>z>vZa%%I8Wx00a<B#a<_dFf~5 z=cekH7N-{J`<51GChI$<WR_GWI%O8+B<efo=ar=9l{n|8r0OT;<RnA5i3OR(`pNlu nX_@Kz@$s2?nI-Y@dIgoYIBatBQ%ZAE?Lc-EGchnQurL4sk#Hzw literal 0 HcmV?d00001 diff --git a/config/__pycache__/config.cpython-310.pyc b/config/__pycache__/config.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cf4abd4a214a9918af5ac940afee25a3bf4d63a9 GIT binary patch literal 1055 zcmd1j<>g{vU|`7B-<uxC!octt#6iX!3=9ko3=9m#hZq<bQW#Pga~Pr^G-DKF3R4tQ z3Ud^53QH7ADnl0Q0yZ$op31S1aUo+ACz!{T%9+BtkSU5gl_85Kl{<wkg}s-FkpU{l zox-t@DT+6RGl~x^!k@~!kg+%@RUnl&g)4<Sg{POfpD#)<m2rVkIzy`9LMBFraE25{ z76ulEW@bi)JPt#KV&8H`Mg|a!WME`S6;9zzWtq*8!k5ZDn<0fim3KD7T()LLMurr| zU<OTrmmuHyRTX8FloS+O>FXyZrR(M<7L}wXXXqv+CTFMSrRWx?7L{ctrxxobCS_#m zrlgkXnpv1ynwlG#S{fRg>LnIuCh8XFmzHE0>J^pd=_M8v=z~=1r=*tYL(R}nEXdR^ zGt^H{%}XsxEJ@W(OsUF8wiBujY<gl+Mp}+;YF<h~er8^YZkeI3v8j=Xg@LiDg{grF zF8k7Q2w7N4R|}JJ^3x0Qi%V{?q$HLkhG;V0;z+H?EG~)9&#n@1bn<ZXDalC9O)b{T zD$dV)$;`mOaEr0LinX*PP1gdfI4?OrB{MI*O42z$FD)}&!6!d4B{juLfy*(#Gd?uP z$4a4!kIO6A-!I<H-^ax@2+R-haP@T!j(79)akWy=6uHHeUwn%NWWy~UsJ3`VClAkC zyhuDZpIbsG+<2#){PbHa1&JjYx7brMi}Dh4Q*W^+CKZE4IO5~eGILVn<8N^|IR?AN zyLblOV#&(S%)7;n<eFO?xry1SDVasZx44lUb&Ds+HNe#|B;MIS)Gy=~8#qXcZ?WVT zq~_gX0hxP?C8adC;1+8^QD$DrN`@k71_lW6%U?euKQ~psv^cd$-?y|lGg;p;C9|Y5 z(J8YiCowrcuOv0EMBf=gJLjjQ>L=#pK!p<vGK=+-!Qlv{^a?6(aoFVMr<CTT+A)H% nv>XEi0|x^KBMUPNBMYMlGaoY_BOfyhGY_)>BOjy8e>r9VQ2##Z literal 0 HcmV?d00001 diff --git a/config/config.py b/config/config.py new file mode 100644 index 0000000..48452ff --- /dev/null +++ b/config/config.py @@ -0,0 +1,27 @@ +import os +import json + +# API URL +API_URL_ABHI = "https://abg-martech-backend-services-abhi-dev-685957259135.asia-south1.run.app/abhi/dev/backend/api/v1/generate-ad" +API_URL_ABHFL = "https://abg-backend-dev-abhfl-endpoint-v1-352480358504.asia-south1.run.app/abhfl/dev/backend/api/v1/generate-ad" +API_URL_ABHFL_Blog = "https://abg-backend-dev-abhfl-endpoint-v1-352480358504.asia-south1.run.app/abhfl/dev/backend/api/v1/generate-blogpost" + +# Define base directory +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) + +# Define correct JSON folder path +JSON_FOLDER = os.path.join(BASE_DIR, "data") +os.makedirs(JSON_FOLDER, exist_ok=True) # Ensure folder exists + +# Define correct themes file path +THEMES_FILE = os.path.join(JSON_FOLDER, "ABHFLthemes.json") + +# Number of API calls per theme +REPEAT_COUNT = 3 + +# Ensure themes file exists and is valid JSON +if not os.path.exists(THEMES_FILE): + with open(THEMES_FILE, "w", encoding="utf-8") as file: + json.dump([], file) # Create an empty JSON array + +print(f"Config Loaded: \nAPI_URL: {API_URL_ABHFL_Blog}\nJSON_FOLDER: {JSON_FOLDER}\nTHEMES_FILE: {THEMES_FILE}") diff --git a/config/data/ABHFLthemes.json b/config/data/ABHFLthemes.json new file mode 100644 index 0000000..ba5f36e --- /dev/null +++ b/config/data/ABHFLthemes.json @@ -0,0 +1 @@ +[ "Own your dream home with easy home loans", "Buy your perfect home, whether new or resale", "Build your dream home with flexible construction loans", "Upgrade your living space with home improvement loans", "Expand your home with hassle-free extension loans", "Secure the perfect plot for your future home", "Save more with balance transfer and lower interest rates", "Unlock your property’s value with a loan against property", "Affordable housing solutions for every family", "Build smarter with MicroCF construction loans", "Step into your first home with StepUp Home Loan", "Enjoy competitive rates and flexible repayment options", "Quick and simple loans with minimal paperwork", "Experience transparent loans with no hidden charges", "Get personalized support for your home loan journey" ] \ No newline at end of file diff --git a/config/data/Cincin_instagram.xlsx b/config/data/Cincin_instagram.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7e9c8114c28026b70e3bc8ef3ea076c0351ffceb GIT binary patch literal 5389 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 QoD7@{c1#QmJB2_z0Km6jP5=M^ literal 0 HcmV?d00001 diff --git a/config/data/Cincin_instagram1.xlsx b/config/data/Cincin_instagram1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c5692dca4bbe7cac93a52e462f0851db1ceb2a31 GIT binary patch literal 48047 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 Ztl28So0Scuh?9Yn!H$W6A$li>2LSI;(E0!X literal 0 HcmV?d00001 diff --git a/config/data/abhibackendtheme.json b/config/data/abhibackendtheme.json new file mode 100644 index 0000000..1250cfe --- /dev/null +++ b/config/data/abhibackendtheme.json @@ -0,0 +1,7 @@ +[ + "Creamy and elastic, this southern Italian cheese is made from buffalo's milk using the pasta filata method, known as Mozzarella.", + "Creamier and more flavorful than cow's milk mozzarella, this water buffalo cheese offers a unique tanginess, called Bufala Mozzarella.", + "A semi-soft cow's milk cheese from Australia, known for its smooth texture and excellent melting qualities, perfect for pizzas, called Fior Di Latte.", + "A fresh cheese with a thin mozzarella shell filled with a soft mixture of curd and cream, delivering a rich and buttery experience, known as Burrata.", + "A hard, sheep's milk cheese with a sharp and salty flavor, ideal for grating over pasta and casseroles, called Pecorino Romano." +] diff --git a/config/data/utecpaylods.json b/config/data/utecpaylods.json new file mode 100644 index 0000000..25866b3 --- /dev/null +++ b/config/data/utecpaylods.json @@ -0,0 +1,10 @@ +{ + "prompt": "Building service, Color Tone:None, Lighting:None, Composition:None, Content Type:Photo", + "template_type": "Template 5", + "category": "water_proofing", + "preferred_language": "", + "product": ["weather_pro_flex"] +} + +{"prompt":"Building service, Color Tone:None, Lighting:None, Composition:None, Content Type:Photo","template_type":"Template 4","category":"water_proofing","preferred_language":"en","product":["seal_dry_sbr"]} + diff --git a/main.py b/main.py new file mode 100644 index 0000000..3f3ab1e --- /dev/null +++ b/main.py @@ -0,0 +1,4 @@ +from apis.backendapi import * + +if __name__ == "__main__": + print("Fetching API data and saving to Excel...") diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29 -- GitLab