mcm-cli 1.4.1__py3-none-any.whl → 1.4.2__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- {mcm_cli-1.4.1.dist-info → mcm_cli-1.4.2.dist-info}/METADATA +1 -1
- {mcm_cli-1.4.1.dist-info → mcm_cli-1.4.2.dist-info}/RECORD +10 -10
- mcmcli/__main__.py +1 -1
- mcmcli/command/admin.py +3 -4
- mcmcli/data/campaign.py +18 -1
- {mcm_cli-1.4.1.dist-info → mcm_cli-1.4.2.dist-info}/LICENSE +0 -0
- {mcm_cli-1.4.1.dist-info → mcm_cli-1.4.2.dist-info}/NOTICE +0 -0
- {mcm_cli-1.4.1.dist-info → mcm_cli-1.4.2.dist-info}/WHEEL +0 -0
- {mcm_cli-1.4.1.dist-info → mcm_cli-1.4.2.dist-info}/entry_points.txt +0 -0
- {mcm_cli-1.4.1.dist-info → mcm_cli-1.4.2.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,9 @@
|
|
1
1
|
mcmcli/__init__.py,sha256=-U6lMZ9_99IXAKwnqnYXYr6NcO6TSmG-kxewgvJjU4k,575
|
2
|
-
mcmcli/__main__.py,sha256=
|
2
|
+
mcmcli/__main__.py,sha256=8rr--sz02pkM_Z6u90JYm8f1s6sbHmgXF82xfIF6rqg,1844
|
3
3
|
mcmcli/logging.py,sha256=xjRS5ey1ONx_d34qB1Fetb_SwPysoh2hzNDuNAaYYWQ,1739
|
4
4
|
mcmcli/requests.py,sha256=IuySBQ8P_GoGF3f_TRysfgQNOhi2n9M84WK_eRXnoEU,2945
|
5
5
|
mcmcli/command/account.py,sha256=FWXmzOLj4rVLVLEv-w0eDVlQVrkONvR1UewZbcTDgE4,24994
|
6
|
-
mcmcli/command/admin.py,sha256=
|
6
|
+
mcmcli/command/admin.py,sha256=2GC0B3oqQsT5N5mHUyezgZvzPkB4-oGtddguOWfdLJs,15980
|
7
7
|
mcmcli/command/auth.py,sha256=Ak7ZNEskWPpMoeTJcbYlEpDBgzxn8N33Q2dNf67SsCs,2926
|
8
8
|
mcmcli/command/campaign.py,sha256=SU6TrDy6YhqM0JWPzbYWLpXZrz7Ymw31pd168dK2LZk,10638
|
9
9
|
mcmcli/command/config.py,sha256=08C5ftAvdvpQ26Z329LqhP8AxTI629LS7Ou6glzrRgw,4396
|
@@ -12,7 +12,7 @@ mcmcli/command/report.py,sha256=N8IMyDZ5QpY11-KkZG-n5_ZzEeh-ME5s2s3wrAKEGjY,5387
|
|
12
12
|
mcmcli/command/wallet.py,sha256=vG2rg7tPwGsV9YB7cpvkiocbqtB1reqXn7dmolFmzD4,11536
|
13
13
|
mcmcli/data/account.py,sha256=pe7tPapP6vlUD5D5L5Nh5k2bkWdYOK01Mpt5fBYFnJs,1782
|
14
14
|
mcmcli/data/account_user.py,sha256=27nQp52nMma5a3QszSJGqgq5Z0ivIb-nMZcZuhEgbEg,1328
|
15
|
-
mcmcli/data/campaign.py,sha256
|
15
|
+
mcmcli/data/campaign.py,sha256=-HR-SbEfe44Ys_UXnYr9HRG0TPcGkO2k61iEsz9uET0,2284
|
16
16
|
mcmcli/data/decision.py,sha256=bQ5j_PbPRSFa0sY5g9UVqdNzl_2epchcz1lHoDVuV90,2880
|
17
17
|
mcmcli/data/error.py,sha256=d6xa_jTXumlA0EzXy2PJQ86ajBb0Pm90fss9R3LuHUc,1094
|
18
18
|
mcmcli/data/item.py,sha256=Z2xTRhU8T4vyJADO0l6-XPyQXvb9DX_OAjExhSXpW2A,1091
|
@@ -23,10 +23,10 @@ mcmcli/data/seller.py,sha256=40SA7QekM3a3svDrDYLo_QYJ68VUxDO0KeGejJMp4k4,1004
|
|
23
23
|
mcmcli/data/token.py,sha256=11wtyLHCAZHu0LVbNDPa-yipcL6lenxoYIKEI58VzFs,1744
|
24
24
|
mcmcli/data/user_join_request.py,sha256=lXMO2hE_VpRg0JofVrYAVM82S-RLFkPrZk8-drvhoDI,1251
|
25
25
|
mcmcli/data/wallet.py,sha256=eMUi8N0vJdg_E10TPhSPoZkZtmIG7gHyqgabQ8C5Lg8,3217
|
26
|
-
mcm_cli-1.4.
|
27
|
-
mcm_cli-1.4.
|
28
|
-
mcm_cli-1.4.
|
29
|
-
mcm_cli-1.4.
|
30
|
-
mcm_cli-1.4.
|
31
|
-
mcm_cli-1.4.
|
32
|
-
mcm_cli-1.4.
|
26
|
+
mcm_cli-1.4.2.dist-info/LICENSE,sha256=RFhQPdSOiMTguUX7JSoIuTxA7HVzCbj_p8WU36HjUQQ,10947
|
27
|
+
mcm_cli-1.4.2.dist-info/METADATA,sha256=6Y7vHnYzLC2-4-7AHMDyL2mprCj0BKVMCUAP8sOGob8,3056
|
28
|
+
mcm_cli-1.4.2.dist-info/NOTICE,sha256=Ldnl2MjRaXPxcldUdbI2NTybq60XAa2LowRhFrRTuiI,76
|
29
|
+
mcm_cli-1.4.2.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
30
|
+
mcm_cli-1.4.2.dist-info/entry_points.txt,sha256=qTHAWZ-ejSiU4t11RYwtAU8ScqhQPDeMVTG9y4wMVLg,60
|
31
|
+
mcm_cli-1.4.2.dist-info/top_level.txt,sha256=sh7oqIaqLQlMtKHlxHHgpV2xGMrBMPFWpSp0C6nvJ_Y,7
|
32
|
+
mcm_cli-1.4.2.dist-info/RECORD,,
|
mcmcli/__main__.py
CHANGED
@@ -37,7 +37,7 @@ def version():
|
|
37
37
|
"""
|
38
38
|
Show the tool version
|
39
39
|
"""
|
40
|
-
typer.echo(f"Version: mcm-cli v1.4.
|
40
|
+
typer.echo(f"Version: mcm-cli v1.4.2")
|
41
41
|
|
42
42
|
app.add_typer(mcmcli.command.account.app, name="account", help="Ad account management")
|
43
43
|
app.add_typer(mcmcli.command.admin.app, name="admin", help="Platform administration")
|
mcmcli/command/admin.py
CHANGED
@@ -68,7 +68,7 @@ def list_all_campaigns(
|
|
68
68
|
print(error, file=sys.stderr, flush=True)
|
69
69
|
return
|
70
70
|
|
71
|
-
print("Account
|
71
|
+
print("Account ID,Account Title,Campaign ID,Campaign Title,Ad Type,Start,End,Budget Period,Budget Amount,Enabling State,State,Created At,Updated At")
|
72
72
|
for account_campaign in account_campaigns:
|
73
73
|
a, c = account_campaign
|
74
74
|
|
@@ -78,7 +78,8 @@ def list_all_campaigns(
|
|
78
78
|
print(f'"{c.budget.period}","{int(c.budget.amount.amount_micro) / 1000000}",', end="", flush=True)
|
79
79
|
print(f'"{c.enabling_state}","{c.state}",', end="", flush=True)
|
80
80
|
print(f'"{c.created_at}","{c.updated_at}",', end="", flush=True)
|
81
|
-
print(f'"{";".join(c.catalog_item_ids)}"')
|
81
|
+
# print(f'"{";".join(c.catalog_item_ids)}"')
|
82
|
+
print("", flush=True)
|
82
83
|
|
83
84
|
@app.command()
|
84
85
|
def list_platform_users(
|
@@ -404,8 +405,6 @@ class AdminCommand:
|
|
404
405
|
for id in accounts:
|
405
406
|
account = accounts[id]
|
406
407
|
echo('.')
|
407
|
-
if account.state_info.state == "INACTIVE":
|
408
|
-
continue
|
409
408
|
# print(f'{account.id}, \"{account.title}\"')
|
410
409
|
_, error, campaigns = cc.list_campaigns(account.id)
|
411
410
|
if error:
|
mcmcli/data/campaign.py
CHANGED
@@ -41,6 +41,23 @@ class Goal(BaseModel):
|
|
41
41
|
optimize_fixed_cpc: Optional[TargetCpc] = None
|
42
42
|
optimize_roas: Optional[TargetRoas] = None
|
43
43
|
|
44
|
+
class TargetingEvent(BaseModel):
|
45
|
+
event_type: str
|
46
|
+
matching_param: Optional[str] = None
|
47
|
+
negative: bool
|
48
|
+
matching_date: Optional[str] = None
|
49
|
+
|
50
|
+
class AudienceSetting(BaseModel):
|
51
|
+
event_based: Optional[list[TargetingEvent]] = None
|
52
|
+
label: Optional[str] = None
|
53
|
+
event_based_include_list: Optional[list[str]] = None
|
54
|
+
event_based_exclude_list: Optional[list[str]] = None
|
55
|
+
|
56
|
+
class Targeting(BaseModel):
|
57
|
+
campaign_targeting_placement_type: str
|
58
|
+
placement_setting: Optional[str]
|
59
|
+
audience_setting: Optional[AudienceSetting]
|
60
|
+
|
44
61
|
class Campaign(BaseModel):
|
45
62
|
id: str
|
46
63
|
title: str
|
@@ -52,7 +69,7 @@ class Campaign(BaseModel):
|
|
52
69
|
schedule: Schedule
|
53
70
|
daily_budget: MicroPrice
|
54
71
|
budget: Budget
|
55
|
-
targeting: Optional[
|
72
|
+
targeting: Optional[Targeting]
|
56
73
|
managed_setting: Optional[str]
|
57
74
|
text_entry: str
|
58
75
|
goal: Goal
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|