mcm-cli 1.4.1__tar.gz → 1.4.2__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {mcm_cli-1.4.1/mcm_cli.egg-info → mcm_cli-1.4.2}/PKG-INFO +1 -1
- {mcm_cli-1.4.1 → mcm_cli-1.4.2/mcm_cli.egg-info}/PKG-INFO +1 -1
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/__main__.py +1 -1
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/admin.py +3 -4
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/campaign.py +18 -1
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/setup.py +1 -1
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/LICENSE +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/NOTICE +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/README.md +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcm_cli.egg-info/SOURCES.txt +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcm_cli.egg-info/dependency_links.txt +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcm_cli.egg-info/entry_points.txt +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcm_cli.egg-info/requires.txt +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcm_cli.egg-info/top_level.txt +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/__init__.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/account.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/auth.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/campaign.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/config.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/decision.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/report.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/command/wallet.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/account.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/account_user.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/decision.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/error.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/item.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/item_blocking_result.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/platform_user.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/report.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/seller.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/token.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/user_join_request.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/data/wallet.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/logging.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/mcmcli/requests.py +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/setup.cfg +0 -0
- {mcm_cli-1.4.1 → mcm_cli-1.4.2}/tests/test_config.py +0 -0
@@ -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")
|
@@ -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:
|
@@ -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
|
@@ -18,7 +18,7 @@ from setuptools import setup, find_packages
|
|
18
18
|
|
19
19
|
setup(
|
20
20
|
name='mcm-cli',
|
21
|
-
version='1.4.
|
21
|
+
version='1.4.2',
|
22
22
|
description='A command-line interface for Moloco Commerde Media',
|
23
23
|
long_description=open('README.md').read(),
|
24
24
|
long_description_content_type='text/markdown',
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|