|
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