-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
62 lines (51 loc) · 1.73 KB
/
Copy pathmain.py
File metadata and controls
62 lines (51 loc) · 1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"""Minimal public scaffold for Demand Miner Tool.
The private working version may contain local scripts and configuration files.
This public scaffold intentionally avoids credentials, raw exports, and private
planning data.
"""
from __future__ import annotations
import argparse
import json
PROJECT_SUMMARY = {
"name": "Demand Miner Tool",
"scope": "private internal Google Ads Search campaign planning",
"region": "Japan",
"language": "Japanese",
"planned_google_ads_api_services": [
"KeywordPlanIdeaService.GenerateKeywordIdeas",
"KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics",
"CustomerService.ListAccessibleCustomers",
],
"not_in_scope": [
"campaign creation",
"campaign mutation",
"bid management",
"billing management",
"third-party account management",
"user data uploads",
"public API access",
"Google Search result scraping",
],
}
def main() -> None:
parser = argparse.ArgumentParser(
description="Print the public project summary for Demand Miner Tool."
)
parser.add_argument(
"--json",
action="store_true",
help="Print the project summary as JSON.",
)
args = parser.parse_args()
if args.json:
print(json.dumps(PROJECT_SUMMARY, ensure_ascii=False, indent=2))
return
print(f"{PROJECT_SUMMARY['name']}")
print(f"Scope: {PROJECT_SUMMARY['scope']}")
print(f"Region: {PROJECT_SUMMARY['region']}")
print(f"Language: {PROJECT_SUMMARY['language']}")
print("Planned Google Ads API services:")
for service in PROJECT_SUMMARY["planned_google_ads_api_services"]:
print(f"- {service}")
if __name__ == "__main__":
main()