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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mcm-cli
3
- Version: 1.4.1
3
+ Version: 1.4.2
4
4
  Summary: A command-line interface for Moloco Commerde Media
5
5
  Home-page: https://github.com/moloco-mcm/mcm-cli
6
6
  Author: Moloco MCM Team
@@ -1,9 +1,9 @@
1
1
  mcmcli/__init__.py,sha256=-U6lMZ9_99IXAKwnqnYXYr6NcO6TSmG-kxewgvJjU4k,575
2
- mcmcli/__main__.py,sha256=wbiwdsy9Sq1Ebv93G6LlnH7wTb2SUT5gRxxFF9w5Hgc,1844
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=05Ti5nMnuL_Ppo8hy2_bMGwfNZGdN6s528Gpi-EnpDg,16036
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=vUukEsZ9Lzvcqm4Pa8z7vzyt_qOpT_t6_YEXuLubVSQ,1731
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.1.dist-info/LICENSE,sha256=RFhQPdSOiMTguUX7JSoIuTxA7HVzCbj_p8WU36HjUQQ,10947
27
- mcm_cli-1.4.1.dist-info/METADATA,sha256=lwdpWx33PEgWxiCl4FBfbqM_CIflw5eLDOLtzCpjK1Y,3056
28
- mcm_cli-1.4.1.dist-info/NOTICE,sha256=Ldnl2MjRaXPxcldUdbI2NTybq60XAa2LowRhFrRTuiI,76
29
- mcm_cli-1.4.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
30
- mcm_cli-1.4.1.dist-info/entry_points.txt,sha256=qTHAWZ-ejSiU4t11RYwtAU8ScqhQPDeMVTG9y4wMVLg,60
31
- mcm_cli-1.4.1.dist-info/top_level.txt,sha256=sh7oqIaqLQlMtKHlxHHgpV2xGMrBMPFWpSp0C6nvJ_Y,7
32
- mcm_cli-1.4.1.dist-info/RECORD,,
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.1")
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 IDAccount Title,Campaign ID,Campaign Title,Ad Type,Start,End,Budget Period,Budget Amount,Enabling State,State,Created At,Updated At,Item IDs")
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[str]
72
+ targeting: Optional[Targeting]
56
73
  managed_setting: Optional[str]
57
74
  text_entry: str
58
75
  goal: Goal