From 782762d36e813be15e9643029e6664583297f8ee Mon Sep 17 00:00:00 2001 From: Haku Date: Wed, 26 May 2021 09:39:18 -0400 Subject: [PATCH] various tweaks --- founderlessnotify/founderlessnotify.py | 51 ++++++++++++++------------ 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/founderlessnotify/founderlessnotify.py b/founderlessnotify/founderlessnotify.py index 18290ce..324186e 100644 --- a/founderlessnotify/founderlessnotify.py +++ b/founderlessnotify/founderlessnotify.py @@ -16,18 +16,18 @@ def canonicalize(in_str): return in_str.lower().replace(' ', '_') -def get_founderless_regions(): +async def get_founderless_regions(): """Return the list of founderless regions.""" - time.sleep(RATE_LIMIT) + await asyncio.sleep(RATE_LIMIT) r = requests.get('https://www.nationstates.net/cgi-bin/api.cgi?q=regionsbytag;tags=founderless', headers=R_HEADERS) tree = et.fromstring(r.text) return [canonicalize(region) for region in tree[0].text.split(',')] -def download_region_dump(): +async def download_region_dump(): """Download the latest region dump from the NS API.""" - time.sleep(RATE_LIMIT) + await asyncio.sleep(RATE_LIMIT) r = requests.get('https://www.nationstates.net/pages/regions.xml.gz', headers=R_HEADERS) with open('regions.xml.gz', 'wb') as f: @@ -62,23 +62,23 @@ class FounderlessNotify(commands.Cog): def cog_unload(self): pass - @commands.command() - @checks.is_owner() - async def is_task_running(self, ctx): - """Check if the main loop is running.""" - if self.bg_loop_task: - await ctx.send('True') - else: - await ctx.send('False') - - @commands.command() - @checks.is_owner() - async def start_task(self, ctx): - """Start the main loop if it is not running.""" - if self.bg_loop_task: - await ctx.send('Task is already running') - else: - self.bg_loop_task = asyncio.create_task(self.bg_loop()) + # @commands.command() + # @checks.is_owner() + # async def is_task_running(self, ctx): + # """Check if the main loop is running.""" + # if self.bg_loop_task: + # await ctx.send('True') + # else: + # await ctx.send('False') + + # @commands.command() + # @checks.is_owner() + # async def start_task(self, ctx): + # """Start the main loop if it is not running.""" + # if self.bg_loop_task: + # await ctx.send('Task is already running') + # else: + # self.bg_loop_task = asyncio.create_task(self.bg_loop()) @commands.command() @checks.is_owner() @@ -94,7 +94,7 @@ class FounderlessNotify(commands.Cog): channel_id = await self.config.notify_channel() channel = self.bot.get_channel(channel_id) await channel.send(f'Beginning {update_type} check...') - new_founderless_regions = get_founderless_regions() + new_founderless_regions = await get_founderless_regions() previous_founderless_regions = await self.config.previous_founderless() # A region is now founderless if it is in the current list, but wasn't in the previous list now_founderless = list() @@ -110,7 +110,7 @@ class FounderlessNotify(commands.Cog): try: region_endos = now_founderless_endos[region] except KeyError: - region_endos = -1 + region_endos = 0 out.append((region_endos, region)) # Sort the output by delegate endos in descending order out.sort() @@ -118,7 +118,10 @@ class FounderlessNotify(commands.Cog): # Prep output message_content = "The following regions are now **Founderless**:\n" for region in out: - message_content += f"https://www.nationstates.net/region={region[1]} ({region[0]})\n" + if region[0] == 0: + message_content += f"https://www.nationstates.net/region={region[1]} (N/A)\n" + else: + message_content += f"https://www.nationstates.net/region={region[1]} ({region[0]})\n" for page in pagify(message_content): await channel.send(page) await self.config.previous_founderless.set(new_founderless_regions)