Skip to content

Commit

Permalink
Unregister everything in routers
Browse files Browse the repository at this point in the history
  • Loading branch information
onegreyonewhite committed Sep 26, 2017
1 parent 1ded96e commit 7ab0338
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ build_zip:
script:
- make rpm RELEASE=${CI_BUILD_ID}
artifacts:
expire_in: 20 minutes
expire_in: 30 minutes
paths:
- dist/
retry: 2
Expand Down
15 changes: 12 additions & 3 deletions polemarch/api/routers.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,20 @@ def register_view(self, prefix, view, name=None):
name = name or view().get_view_name().lower()
self.custom_urls.append((prefix, view, name))

def unregister(self, prefix):
def _unreg(self, prefix, objects_list):
index = 0
for reg_prefix, _, _ in self.registry:
for reg_prefix, _, _ in objects_list:
if reg_prefix == prefix:
del self.registry[index]
del objects_list[index]
break
index += 1

def unregister_view(self, prefix):
self._unreg(prefix, self.custom_urls) # nocv

def unregister(self, prefix):
self._unreg(prefix, self.registry)


class APIRouter(_AbstractRouter):
root_view_name = 'api-v1'
Expand Down Expand Up @@ -118,6 +124,9 @@ def register_router(self, prefix, router, name=None):
name = name or router.root_view_name
self.routers.append((prefix, router, name))

def unregister_router(self, prefix):
self._unreg(prefix, self.routers) # nocv

def get_urls(self):
urls = super(MainRouter, self).get_urls()
for prefix, router, _ in self.routers:
Expand Down

0 comments on commit 7ab0338

Please sign in to comment.