|
19 | 19 | from __future__importprint_function
|
20 | 20 | from __future__importdivision
|
21 | 21 | from __future__importabsolute_import
|
| 22 | +importimportlib |
22 | 23 | importinspect
|
23 | 24 | importitertools
|
24 | 25 | importjson
|
|
31 | 32 | importgitlab.config
|
32 | 33 | fromgitlab.constimport*# noqa
|
33 | 34 | fromgitlab.exceptionsimport*# noqa
|
34 |
| -fromgitlab.objectsimport*# noqa |
| 35 | +fromgitlab.v3.objectsimport*# noqa |
35 | 36 |
|
36 | 37 | __title__='python-gitlab'
|
37 | 38 | __version__='0.20'
|
@@ -91,40 +92,43 @@ def __init__(self, url, private_token=None, email=None, password=None,
|
91 | 92 | #: Create a session object for requests
|
92 | 93 | self.session=requests.Session()
|
93 | 94 |
|
94 |
| -self.broadcastmessages=BroadcastMessageManager(self) |
95 |
| -self.keys=KeyManager(self) |
96 |
| -self.deploykeys=DeployKeyManager(self) |
97 |
| -self.gitlabciymls=GitlabciymlManager(self) |
98 |
| -self.gitignores=GitignoreManager(self) |
99 |
| -self.groups=GroupManager(self) |
100 |
| -self.hooks=HookManager(self) |
101 |
| -self.issues=IssueManager(self) |
102 |
| -self.licenses=LicenseManager(self) |
103 |
| -self.namespaces=NamespaceManager(self) |
104 |
| -self.notificationsettings=NotificationSettingsManager(self) |
105 |
| -self.projects=ProjectManager(self) |
106 |
| -self.runners=RunnerManager(self) |
107 |
| -self.settings=ApplicationSettingsManager(self) |
108 |
| -self.sidekiq=SidekiqManager(self) |
109 |
| -self.snippets=SnippetManager(self) |
110 |
| -self.users=UserManager(self) |
111 |
| -self.teams=TeamManager(self) |
112 |
| -self.todos=TodoManager(self) |
| 95 | +objects=importlib.import_module('gitlab.v%s.objects'% |
| 96 | +self._api_version) |
| 97 | + |
| 98 | +self.broadcastmessages=objects.BroadcastMessageManager(self) |
| 99 | +self.keys=objects.KeyManager(self) |
| 100 | +self.deploykeys=objects.DeployKeyManager(self) |
| 101 | +self.gitlabciymls=objects.GitlabciymlManager(self) |
| 102 | +self.gitignores=objects.GitignoreManager(self) |
| 103 | +self.groups=objects.GroupManager(self) |
| 104 | +self.hooks=objects.HookManager(self) |
| 105 | +self.issues=objects.IssueManager(self) |
| 106 | +self.licenses=objects.LicenseManager(self) |
| 107 | +self.namespaces=objects.NamespaceManager(self) |
| 108 | +self.notificationsettings=objects.NotificationSettingsManager(self) |
| 109 | +self.projects=objects.ProjectManager(self) |
| 110 | +self.runners=objects.RunnerManager(self) |
| 111 | +self.settings=objects.ApplicationSettingsManager(self) |
| 112 | +self.sidekiq=objects.SidekiqManager(self) |
| 113 | +self.snippets=objects.SnippetManager(self) |
| 114 | +self.users=objects.UserManager(self) |
| 115 | +self.teams=objects.TeamManager(self) |
| 116 | +self.todos=objects.TodoManager(self) |
113 | 117 |
|
114 | 118 | # build the "submanagers"
|
115 |
| -forparent_clsinsix.itervalues(globals()): |
| 119 | +forparent_clsinsix.itervalues(vars(objects)): |
116 | 120 | if (notinspect.isclass(parent_cls)
|
117 |
| -ornotissubclass(parent_cls,GitlabObject) |
118 |
| -orparent_cls==CurrentUser): |
| 121 | +ornotissubclass(parent_cls,objects.GitlabObject) |
| 122 | +orparent_cls==objects.CurrentUser): |
119 | 123 | continue
|
120 | 124 |
|
121 | 125 | ifnotparent_cls.managers:
|
122 | 126 | continue
|
123 | 127 |
|
124 |
| -forvar,cls,attrsinparent_cls.managers: |
| 128 | +forvar,cls_name,attrsinparent_cls.managers: |
125 | 129 | var_name='%s_%s'% (self._cls_to_manager_prefix(parent_cls),
|
126 | 130 | var)
|
127 |
| -manager=cls(self) |
| 131 | +manager=getattr(objects,cls_name)(self) |
128 | 132 | setattr(self,var_name,manager)
|
129 | 133 |
|
130 | 134 | @property
|
|