|
10 | 10 | from warnings import warn
|
11 | 11 | import requests
|
12 | 12 | from requests.exceptions import HTTPError
|
| 13 | +import traceback |
13 | 14 |
|
14 | 15 | from ..core import current_session, delete, get, sasctl_command
|
15 | 16 | from .service import Service
|
@@ -624,24 +625,31 @@ def list_model_versions(cls, model):
|
624 | 625 | "Cannot find link for version history for model '%s'" % model
|
625 | 626 | )
|
626 | 627 |
|
627 |
| - modelHistory = cls.request_link( |
| 628 | + |
| 629 | + modelHistory = cls.request_link( |
628 | 630 | link,
|
629 | 631 | "modelHistory",
|
630 |
| - headers={"Accept": "application/vnd.sas.models.model.version"}, |
| 632 | + headers={"Accept": "application/vnd.sas.collection+json"}, |
631 | 633 | )
|
632 |
| - if modelHistory is None: |
633 |
| - return {} |
634 | 634 |
|
635 | 635 | return modelHistory
|
636 | 636 |
|
637 | 637 | @classmethod
|
638 |
| - def get_model_version(cls, model, version_id): |
| 638 | + def get_model_version(cls, model, version_id): #check if this now handles a return 1 case |
639 | 639 |
|
640 | 640 | model_history = cls.list_model_versions(model)
|
641 |
| - model_history_items = model_history.get("items") |
642 | 641 |
|
643 |
| - for i, item in enumerate(model_history_items): |
644 |
| - if item.get("id") == version_id: |
| 642 | + for item in model_history: |
| 643 | + if isinstance(item, str): |
| 644 | + if item == 'id' and dict(model_history)[item] == version_id: |
| 645 | + return cls.request_link( |
| 646 | + model_history, |
| 647 | + "self", |
| 648 | + headers={"Accept": "application/vnd.sas.models.model.version"}, |
| 649 | + ) |
| 650 | + continue |
| 651 | + |
| 652 | + if item["id"] == version_id: |
645 | 653 | return cls.request_link(
|
646 | 654 | item,
|
647 | 655 | "self",
|
|
0 commit comments