MCPcopy Create free account
hub / github.com/FastLED/FastLED / find_project

Function find_project

ci/github_project_sync.py:100–136  ·  view source on GitHub ↗

Look up a project by owner and number, return the project node ID.

(owner: str, owner_type: str, number: int)

Source from the content-addressed store, hash-verified

98
99
100def find_project(owner: str, owner_type: str, number: int) -> str:
101 """Look up a project by owner and number, return the project node ID."""
102 if owner_type not in VALID_OWNER_TYPES:
103 raise SystemExit(
104 f"PROJECT_OWNER_TYPE must be 'organization' or 'user', got '{owner_type}'"
105 )
106
107 if owner_type == "organization":
108 query = """
109 query($owner: String!, $number: Int!) {
110 organization(login: $owner) {
111 projectV2(number: $number) {
112 id
113 }
114 }
115 }
116 """
117 data = graphql(query, {"owner": owner, "number": number})
118 project = data["data"]["organization"]["projectV2"]
119 if not project:
120 raise SystemExit(f"Project #{number} not found for organization '{owner}'")
121 return project["id"]
122 else:
123 query = """
124 query($owner: String!, $number: Int!) {
125 user(login: $owner) {
126 projectV2(number: $number) {
127 id
128 }
129 }
130 }
131 """
132 data = graphql(query, {"owner": owner, "number": number})
133 project = data["data"]["user"]["projectV2"]
134 if not project:
135 raise SystemExit(f"Project #{number} not found for user '{owner}'")
136 return project["id"]
137
138
139def add_item_to_project(project_id: str, content_id: str) -> str:

Callers 1

mainFunction · 0.85

Calls 1

graphqlFunction · 0.70

Tested by

no test coverage detected