Skip to content
Snippets Groups Projects
Commit 704ba79d authored by Cain, Payton David's avatar Cain, Payton David
Browse files

Change hostname, request.get with params, null metadata, typer option

parent 4b3c6abb
No related branches found
No related tags found
2 merge requests!146Release CMO metadata to production,!65Metadata client
...@@ -14,7 +14,7 @@ class MetadataFactory(object): ...@@ -14,7 +14,7 @@ class MetadataFactory(object):
def __init__( def __init__(
self, self,
url: str = "http://{}/ws/secure/metadata".format( url: str = "http://{}/ws/secure/metadata".format(
os.getenv("EDGE_HOST", "127.0.0.1:8000") os.getenv("GEOMAG_API_HOST", "127.0.0.1:8000")
), ),
token: str = os.getenv("GITLAB_API_TOKEN"), token: str = os.getenv("GITLAB_API_TOKEN"),
): ):
...@@ -28,7 +28,10 @@ class MetadataFactory(object): ...@@ -28,7 +28,10 @@ class MetadataFactory(object):
def get_metadata(self, query: MetadataQuery) -> Union[List[Metadata], Metadata]: def get_metadata(self, query: MetadataQuery) -> Union[List[Metadata], Metadata]:
args = parse_params(query=query) args = parse_params(query=query)
responses = requests.get(url=f"{self.url}{args}", headers=self.header) if "id" in args:
self.url = f"{self.url}/{args['id']}"
args = {}
responses = requests.get(url=self.url, params=args, headers=self.header)
try: try:
metadata = parse_obj_as(Union[List[Metadata], Metadata], responses.json()) metadata = parse_obj_as(Union[List[Metadata], Metadata], responses.json())
except: except:
...@@ -42,10 +45,6 @@ class MetadataFactory(object): ...@@ -42,10 +45,6 @@ class MetadataFactory(object):
return response return response
def update_metadata(self, metadata: Metadata) -> requests.Response: def update_metadata(self, metadata: Metadata) -> requests.Response:
if metadata.metadata is None:
metadata.metadata = self.get_metadata(
query=MetadataQuery(**metadata.dict())
).metadata
response = requests.put( response = requests.put(
url=f"{self.url}/{metadata.id}", data=metadata.json(), headers=self.header url=f"{self.url}/{metadata.id}", data=metadata.json(), headers=self.header
) )
...@@ -65,7 +64,7 @@ def parse_params(query: MetadataQuery) -> str: ...@@ -65,7 +64,7 @@ def parse_params(query: MetadataQuery) -> str:
if key == "category": if key == "category":
element = element.value element = element.value
elif key == "id": elif key == "id":
return f"/{element}" return {"id": element}
args[key] = element args[key] = element
return f"?{urllib.parse.urlencode(args)}" return args
...@@ -15,7 +15,9 @@ def main(): ...@@ -15,7 +15,9 @@ def main():
def client( def client(
action: str, action: str = typer.Option(
default="get", help="get(default), delete, create, or update"
),
url: str = "http://{}/ws/secure/metadata".format( url: str = "http://{}/ws/secure/metadata".format(
os.getenv("GEOMAG_API_HOST", "127.0.0.1:8000") os.getenv("GEOMAG_API_HOST", "127.0.0.1:8000")
), ),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment