Split BCF-API client and OpenCDE Foundation-API client system

This commit is contained in:
Dion Moult
2021-08-04 18:03:52 +10:00
parent 44f8255296
commit 562b520233
3 changed files with 79 additions and 102 deletions
+13 -14
View File
@@ -66,35 +66,34 @@ bcfxml.edit_topic(topic)
The `bcfapi` module lets you interact with the BCF-API standard.
```python
from bcf.v3.bcfapi import Client
from bcf.v3.bcfapi import AuthClient, BcfClient
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
client = Client(client_id, client_secret)
client.set_urls(base_url="OPENCDE_BASEURL")
auth_methods = client.get_auth_methods()
foundation_client = FoundationClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET", "OPENCDE_BASEURL")
auth_methods = foundation_client.get_auth_methods()
# Our library currently only implements the authorization_code flow
if "authorization_code" in auth_methods:
client.login()
auth_client.login()
versions = client.get_versions()
bcf_client = BcfClient()
versions = foundation_client.get_versions()
for version in versions:
if "3.0" in versions:
client.set_version(version="3.0")
if version["api_id"] == "bcf" and version["version_id"] == "3.0":
bcf_client.set_version(version)
data = client.get_projects()
data = bcf_client.get_projects()
print(data)
project_id = data[0]["project_id"]
print(project_id)
data = client.get_project(project_id)
data = bcf_client.get_project(project_id)
print(data)
data = client.get_extensions(project_id)
data = bcf_client.get_extensions(project_id)
print(data)
```
## Todo List
## Todo List
The remaining work that needs to be completed in `bcfxml.py` and `bcfapi.py`.
* For `bcfxml.py` two xsds support is remaining namely 'documents.xsd` and `extensions.xsd`.
* For `bcfapi.py` two requests that are `get_topics` and `get_comments` are remaining.