@@ -99,9 +99,7 @@ def get(
9999 GitlabAuthenticationError: If authentication is not correct
100100 GitlabGetError: If the server cannot perform the request
101101 """
102- if not isinstance (id , int ):
103- id = utils ._url_encode (id )
104- path = f"{ self .path } /{ id } "
102+ path = f"{ self .path } /{ utils .EncodedId (id )} "
105103 if TYPE_CHECKING :
106104 assert self ._obj_cls is not None
107105 if lazy is True :
@@ -173,7 +171,7 @@ def refresh(self, **kwargs: Any) -> None:
173171 GitlabGetError: If the server cannot perform the request
174172 """
175173 if self ._id_attr :
176- path = f"{ self .manager .path } /{ self .id } "
174+ path = f"{ self .manager .path } /{ self .encoded_id } "
177175 else :
178176 if TYPE_CHECKING :
179177 assert self .manager .path is not None
@@ -391,7 +389,7 @@ def update(
391389 if id is None :
392390 path = self .path
393391 else :
394- path = f"{ self .path } /{ id } "
392+ path = f"{ self .path } /{ utils . EncodedId ( id ) } "
395393
396394 self ._check_missing_update_attrs (new_data )
397395 files = {}
@@ -444,7 +442,7 @@ def set(self, key: str, value: str, **kwargs: Any) -> base.RESTObject:
444442 Returns:
445443 The created/updated attribute
446444 """
447- path = f"{ self .path } /{ utils ._url_encode (key )} "
445+ path = f"{ self .path } /{ utils .EncodedId (key )} "
448446 data = {"value" : value }
449447 server_data = self .gitlab .http_put (path , post_data = data , ** kwargs )
450448 if TYPE_CHECKING :
@@ -477,9 +475,7 @@ def delete(self, id: Union[str, int], **kwargs: Any) -> None:
477475 if id is None :
478476 path = self .path
479477 else :
480- if not isinstance (id , int ):
481- id = utils ._url_encode (id )
482- path = f"{ self .path } /{ id } "
478+ path = f"{ self .path } /{ utils .EncodedId (id )} "
483479 self .gitlab .http_delete (path , ** kwargs )
484480
485481
@@ -545,7 +541,7 @@ def save(self, **kwargs: Any) -> None:
545541 return
546542
547543 # call the manager
548- obj_id = self .get_id ()
544+ obj_id = self .encoded_id
549545 if TYPE_CHECKING :
550546 assert isinstance (self .manager , UpdateMixin )
551547 server_data = self .manager .update (obj_id , updated_data , ** kwargs )
@@ -575,7 +571,7 @@ def delete(self, **kwargs: Any) -> None:
575571 """
576572 if TYPE_CHECKING :
577573 assert isinstance (self .manager , DeleteMixin )
578- self .manager .delete (self .get_id () , ** kwargs )
574+ self .manager .delete (self .encoded_id , ** kwargs )
579575
580576
581577class UserAgentDetailMixin (_RestObjectBase ):
@@ -598,7 +594,7 @@ def user_agent_detail(self, **kwargs: Any) -> Dict[str, Any]:
598594 GitlabAuthenticationError: If authentication is not correct
599595 GitlabGetError: If the server cannot perform the request
600596 """
601- path = f"{ self .manager .path } /{ self .get_id () } /user_agent_detail"
597+ path = f"{ self .manager .path } /{ self .encoded_id } /user_agent_detail"
602598 result = self .manager .gitlab .http_get (path , ** kwargs )
603599 if TYPE_CHECKING :
604600 assert not isinstance (result , requests .Response )
@@ -631,7 +627,7 @@ def approve(
631627 GitlabUpdateError: If the server fails to perform the request
632628 """
633629
634- path = f"{ self .manager .path } /{ self .id } /approve"
630+ path = f"{ self .manager .path } /{ self .encoded_id } /approve"
635631 data = {"access_level" : access_level }
636632 server_data = self .manager .gitlab .http_put (path , post_data = data , ** kwargs )
637633 if TYPE_CHECKING :
@@ -705,7 +701,7 @@ def subscribe(self, **kwargs: Any) -> None:
705701 GitlabAuthenticationError: If authentication is not correct
706702 GitlabSubscribeError: If the subscription cannot be done
707703 """
708- path = f"{ self .manager .path } /{ self .get_id () } /subscribe"
704+ path = f"{ self .manager .path } /{ self .encoded_id } /subscribe"
709705 server_data = self .manager .gitlab .http_post (path , ** kwargs )
710706 if TYPE_CHECKING :
711707 assert not isinstance (server_data , requests .Response )
@@ -725,7 +721,7 @@ def unsubscribe(self, **kwargs: Any) -> None:
725721 GitlabAuthenticationError: If authentication is not correct
726722 GitlabUnsubscribeError: If the unsubscription cannot be done
727723 """
728- path = f"{ self .manager .path } /{ self .get_id () } /unsubscribe"
724+ path = f"{ self .manager .path } /{ self .encoded_id } /unsubscribe"
729725 server_data = self .manager .gitlab .http_post (path , ** kwargs )
730726 if TYPE_CHECKING :
731727 assert not isinstance (server_data , requests .Response )
@@ -752,7 +748,7 @@ def todo(self, **kwargs: Any) -> None:
752748 GitlabAuthenticationError: If authentication is not correct
753749 GitlabTodoError: If the todo cannot be set
754750 """
755- path = f"{ self .manager .path } /{ self .get_id () } /todo"
751+ path = f"{ self .manager .path } /{ self .encoded_id } /todo"
756752 self .manager .gitlab .http_post (path , ** kwargs )
757753
758754
@@ -781,7 +777,7 @@ def time_stats(self, **kwargs: Any) -> Dict[str, Any]:
781777 if "time_stats" in self .attributes :
782778 return self .attributes ["time_stats" ]
783779
784- path = f"{ self .manager .path } /{ self .get_id () } /time_stats"
780+ path = f"{ self .manager .path } /{ self .encoded_id } /time_stats"
785781 result = self .manager .gitlab .http_get (path , ** kwargs )
786782 if TYPE_CHECKING :
787783 assert not isinstance (result , requests .Response )
@@ -800,7 +796,7 @@ def time_estimate(self, duration: str, **kwargs: Any) -> Dict[str, Any]:
800796 GitlabAuthenticationError: If authentication is not correct
801797 GitlabTimeTrackingError: If the time tracking update cannot be done
802798 """
803- path = f"{ self .manager .path } /{ self .get_id () } /time_estimate"
799+ path = f"{ self .manager .path } /{ self .encoded_id } /time_estimate"
804800 data = {"duration" : duration }
805801 result = self .manager .gitlab .http_post (path , post_data = data , ** kwargs )
806802 if TYPE_CHECKING :
@@ -819,7 +815,7 @@ def reset_time_estimate(self, **kwargs: Any) -> Dict[str, Any]:
819815 GitlabAuthenticationError: If authentication is not correct
820816 GitlabTimeTrackingError: If the time tracking update cannot be done
821817 """
822- path = f"{ self .manager .path } /{ self .get_id () } /reset_time_estimate"
818+ path = f"{ self .manager .path } /{ self .encoded_id } /reset_time_estimate"
823819 result = self .manager .gitlab .http_post (path , ** kwargs )
824820 if TYPE_CHECKING :
825821 assert not isinstance (result , requests .Response )
@@ -838,7 +834,7 @@ def add_spent_time(self, duration: str, **kwargs: Any) -> Dict[str, Any]:
838834 GitlabAuthenticationError: If authentication is not correct
839835 GitlabTimeTrackingError: If the time tracking update cannot be done
840836 """
841- path = f"{ self .manager .path } /{ self .get_id () } /add_spent_time"
837+ path = f"{ self .manager .path } /{ self .encoded_id } /add_spent_time"
842838 data = {"duration" : duration }
843839 result = self .manager .gitlab .http_post (path , post_data = data , ** kwargs )
844840 if TYPE_CHECKING :
@@ -857,7 +853,7 @@ def reset_spent_time(self, **kwargs: Any) -> Dict[str, Any]:
857853 GitlabAuthenticationError: If authentication is not correct
858854 GitlabTimeTrackingError: If the time tracking update cannot be done
859855 """
860- path = f"{ self .manager .path } /{ self .get_id () } /reset_spent_time"
856+ path = f"{ self .manager .path } /{ self .encoded_id } /reset_spent_time"
861857 result = self .manager .gitlab .http_post (path , ** kwargs )
862858 if TYPE_CHECKING :
863859 assert not isinstance (result , requests .Response )
@@ -893,7 +889,7 @@ def participants(self, **kwargs: Any) -> Dict[str, Any]:
893889 The list of participants
894890 """
895891
896- path = f"{ self .manager .path } /{ self .get_id () } /participants"
892+ path = f"{ self .manager .path } /{ self .encoded_id } /participants"
897893 result = self .manager .gitlab .http_get (path , ** kwargs )
898894 if TYPE_CHECKING :
899895 assert not isinstance (result , requests .Response )
@@ -967,7 +963,7 @@ def promote(self, **kwargs: Any) -> Dict[str, Any]:
967963 The updated object data (*not* a RESTObject)
968964 """
969965
970- path = f"{ self .manager .path } /{ self .id } /promote"
966+ path = f"{ self .manager .path } /{ self .encoded_id } /promote"
971967 http_method = self ._get_update_method ()
972968 result = http_method (path , ** kwargs )
973969 if TYPE_CHECKING :
0 commit comments