Skip to content

Commit

Permalink
[DM-27353] Refer to monkeys by name
Browse files Browse the repository at this point in the history
This prevents multiple copies of a monkey from being made with
the same name, it deletes the previous one first.  I think before
this would possibly leak one if it was created while another
previously existed.
  • Loading branch information
cbanek committed Oct 30, 2020
1 parent 605d45a commit 9403ac7
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/mobu/monkeybusinessmanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,19 @@ async def init(self, app: web.Application) -> None:
async def cleanup(self, app: web.Application) -> None:
await self._scheduler.close()

def fetch_monkey(self, username: str) -> Monkey:
return self._monkeys[username]
def fetch_monkey(self, name: str) -> Monkey:
return self._monkeys[name]

def list_monkeys(self) -> List[str]:
return list(self._monkeys.keys())

async def manage_monkey(self, monkey: Monkey) -> None:
self._monkeys[monkey.user.username] = monkey
await self.release_monkey(monkey.name)
self._monkeys[monkey.name] = monkey
await monkey.start(self._scheduler)

async def release_monkey(self, username: str) -> None:
monkey = self._monkeys.get(username, None)
async def release_monkey(self, name: str) -> None:
monkey = self._monkeys.get(name, None)
if monkey is not None:
await monkey.stop()
del self._monkeys[username]
del self._monkeys[name]

0 comments on commit 9403ac7

Please sign in to comment.