snapshot of https://github.com/frappe/crm.git (develop, 2026-09-18; blobs > 131072B omitted)
Some checks failed
Frontend / Unit Tests & Coverage (push) Has been skipped
Regenerate POT file (translatable strings) / Regenerate POT file (develop) (push) Failing after 1m13s
Regenerate POT file (translatable strings) / Regenerate POT file (main-hotfix) (push) Failing after 6s
Server / Tests (frappe ${{ matrix.frappe-branch }}) (push) Has been skipped
Server / Resolve frappe matrix (push) Failing after 1s
Frontend / Lint (push) Failing after 1s
Frontend / Production Build (push) Failing after 1s
Server / Coverage Wrap Up (push) Has been skipped
Frontend / Coverage Wrap Up (push) Has been skipped
Some checks failed
Frontend / Unit Tests & Coverage (push) Has been skipped
Regenerate POT file (translatable strings) / Regenerate POT file (develop) (push) Failing after 1m13s
Regenerate POT file (translatable strings) / Regenerate POT file (main-hotfix) (push) Failing after 6s
Server / Tests (frappe ${{ matrix.frappe-branch }}) (push) Has been skipped
Server / Resolve frappe matrix (push) Failing after 1s
Frontend / Lint (push) Failing after 1s
Frontend / Production Build (push) Failing after 1s
Server / Coverage Wrap Up (push) Has been skipped
Frontend / Coverage Wrap Up (push) Has been skipped
This commit is contained in:
16
crm/integrations/twilio/utils.py
Normal file
16
crm/integrations/twilio/utils.py
Normal file
@@ -0,0 +1,16 @@
|
||||
from frappe.utils import get_url
|
||||
|
||||
|
||||
def get_public_url(path: str | None = None):
|
||||
return get_url().split(":8", 1)[0] + path
|
||||
|
||||
|
||||
def merge_dicts(d1: dict, d2: dict):
|
||||
"""Merge dicts of dictionaries.
|
||||
>>> merge_dicts(
|
||||
{'name1': {'age': 20}, 'name2': {'age': 30}},
|
||||
{'name1': {'phone': '+xxx'}, 'name2': {'phone': '+yyy'}, 'name3': {'phone': '+zzz'}}
|
||||
)
|
||||
... {'name1': {'age': 20, 'phone': '+xxx'}, 'name2': {'age': 30, 'phone': '+yyy'}}
|
||||
"""
|
||||
return {k: {**v, **d2.get(k, {})} for k, v in d1.items()}
|
||||
Reference in New Issue
Block a user