rocket-a


git -C '/home/opc/rocketa.git' show 23b23db -- oci_func/click/func.py

commit 23b23db7f909c788ebc35f447165aa1e465b24e4
Author: Satoshi Ujihara <satoshi_ujihara@fivegate.jp>
Date:   Wed Nov 12 11:38:20 2025 +0900

    翻訳とクリックURLの仕様変更

diff --git a/oci_func/click/func.py b/oci_func/click/func.py
index 2a6090f..dab5f63 100644
--- a/oci_func/click/func.py
+++ b/oci_func/click/func.py
@@ -10,10 +10,10 @@ import random
 import urllib.parse
 import hashlib
 import os, time
-
+import re
 
 from fdk import response
-
+from urllib.parse import quote
 
 os.environ['TZ'] = 'Asia/Tokyo'
 time.tzset()
@@ -562,6 +562,7 @@ def handler(ctx, data: io.BytesIO = None):
         if uid != '' and int(result_method) != 4:
             url += '&media_uid=' + uid
         """
+        """
         params = {
             "sid": sid,
             "ad_id": ad_id,
@@ -569,6 +570,7 @@ def handler(ctx, data: io.BytesIO = None):
             "media_id": media_id,
         }
 
+
         formatter = string.Formatter()
         fields = [fname for _, fname, _, _ in formatter.parse(url) if fname]
         missing = [f for f in fields if f not in params]
@@ -591,14 +593,24 @@ def handler(ctx, data: io.BytesIO = None):
                 url = url.format(sid=sid, ad_id=ad_id, client_id=client_id, media_id=media_id, media_uid=uid)
         else:
             url = url.format(sid=sid, ad_id=ad_id, client_id=client_id, media_id=media_id)
-
-        logging.info(f"■■■595■■■{url}")
+        """
+        #master_ad_idという名前だと扱いずらい
+        params["ad_id"] = params.pop("master_ad_id")
+        params["media_uid"] = params.pop("uid")
+        # 置換処理(URLエンコードあり)
+        result = re.sub(
+            r"\{(\w+)\}",
+            lambda m: quote(str(params.get(m.group(1)))) if params.get(m.group(1)) is not None else "",
+            url
+        )
+
+        logging.info(f"■■■595■■■{result}")
 
         if error == 0:
             return response.Response(
                 ctx,
                 status_code=302, 
-                headers={"Location": url}
+                headers={"Location": result}
             )
 
     

diff.txt · 最終更新: by root