aboutsummaryrefslogtreecommitdiffstats
path: root/tests/helpers.py (unfollow)
Commit message (Collapse)AuthorLines
2020-02-12Sync: fix overwriting message with None after editing itGravatar MarkKoz-1/+1
2020-02-12Sync: fix passing context instead of message to _confirm()Gravatar MarkKoz-4/+5
* Mention possibility of timing out as a reason for aborting a sync
2020-02-12Sync: fix missing await for fetch_channelGravatar MarkKoz-1/+1
2020-02-12Sync: allow for None values in DiffsGravatar MarkKoz-4/+4
2020-02-12Sync: make Role, User, and Diff privateGravatar MarkKoz-15/+15
2020-02-12Sync: remove generic type from DiffGravatar MarkKoz-19/+10
It doesn't play along well with NamedTuple due to metaclass conflicts. The workaround involved created a NamedTuple-only base class, which does work but at the cost of confusing some static type checkers. Since Diff is now an internal data structure, it no longer really needs to have precise type annotations. Therefore, a normal namedtuple is adequate.
2020-02-12Sync: move sync logic into Syncer base classGravatar MarkKoz-93/+54
The interface was becoming cumbersome to work with so it was all moved to a single location. Now just calling Syncer.sync() will take care of everything. * Remove Optional type annotation from Diff attributes * _confirm() can edit the original message and use it as the prompt * Calculate the total diff and compare it against the max before sending a confirmation prompt * Remove abort message from sync(); _confirm() will handle that
2020-02-12Sync: prompt to confirm when diff is greater than 10Gravatar MarkKoz-37/+158
The confirmation prompt will be sent to the dev-core channel or the specified context. Confirmation is done via reactions and waits 5 minutes before timing out. * Add name property to Syncers * Make _get_diff private; only sync() needs to be called now * Change spelling of synchronize to synchronise * Update docstrings
2020-02-12Sync: create classes for syncersGravatar MarkKoz-242/+158
Replaces the functions with a class for each syncer. The classes inherit from a Syncer base class. A NamedTuple was also created to replace the tuple of the object differences that was previously being returned. * Use namedtuple._asdict to simplify converting namedtuples to JSON
2020-02-12Sync: support sending messages to a context in sync()Gravatar MarkKoz-17/+11
2020-02-12Sync: support multiple None totals returns from a syncerGravatar MarkKoz-10/+7
2020-02-12Sync: create function for running a single syncerGravatar MarkKoz-22/+24
2020-02-12Sync: refactor cogGravatar MarkKoz-25/+26
* Use ID from constants directly instead of SYNC_SERVER_ID * Use f-strings instead of %s for logging * Fit into margin of 100 * Invert condition to reduce nesting * Use Any instead of incorrect function annotation for JSON values
2020-02-12API: create request function which has a param for the HTTP methodGravatar MarkKoz-18/+10
Reduces code redundancy.
2020-02-12API: define functions with keyword-only argumentsGravatar MarkKoz-10/+10
This seems to have been the intent of the original implementation.
2020-02-12Constants: add dev-core channel and check mark emojiGravatar MarkKoz-0/+4
2020-02-12Use wait_until_guild_available instead of wait_until_readyGravatar MarkKoz-13/+13
It has a much better guarantee that the cache will be available.
2020-02-12Bot: make the connector attribute privateGravatar MarkKoz-4/+4
2020-02-12Bot: add wait_until_guild_availableGravatar MarkKoz-0/+39
This coroutine waits until the configured guild is available and ensures the cache is present. The on_ready event is inadequate because it only waits 2 seconds for a GUILD_CREATE gateway event before giving up and thus not populating the cache for unavailable guilds.
2020-02-12Fix pagniation module for "last page" reactionGravatar mosguinz-1/+1
Fixes #746.
2020-02-09Remove clear reaction from paginatorsGravatar MarkKoz-17/+2
It could be confused with the delete reaction. Clearing reactions manually is rarely a useful feature anyway.
2020-02-07Pin discord.py to 1.3.xGravatar MarkKoz-2/+2
2020-02-07Update discord.py to 1.3.1Gravatar MarkKoz-39/+34
2020-02-06Add missing slash to asking good questions url.Gravatar scragly-1/+1
2020-02-05Move tools and questions guide to under resourcesGravatar scragly-2/+2
After the wiki pages adjustment to the resources page, these two urls are needing to be updated to point to the new correct locations for each page. Tools will be under resources, and Asking Good Questions is a guide, so will be under Guides.
2020-02-05Made searching even stricter by searching from start of each wordGravatar Shirayuki Nekomata-11/+13
- Added regex back to sub and split by non-alphabet. - Now use two pointers to move from words to words.
2020-02-05Removed regex, implemented a stricter letter searching.Gravatar Shirayuki Nekomata-10/+12
2020-02-05Increased default thresholds from just [100, 80] to [100, 90, 80, 70, 60]Gravatar Shirayuki Nekomata-2/+2
- Since it is returning as soon as there are suggestions found for a threshold, this will give a better reflection of what the bot thinks user is searching for.
2020-02-05Removed non-alphabets from both search and tag_name when scoring.Gravatar Shirayuki Nekomata-2/+5
- Added a regex to remove non-alphabet ( `[^a-z]` with `re.IGNORECASE` )
2020-02-04Refactored _get_suggestions following Mark's suggestions about inefficiency.Gravatar Shirayuki Nekomata-12/+24
- Matching scores will be calculated once now and stored in the dict `scores`. - Allow `_get_suggestions()` to go through a list of score threshold and return the first list of matching tags that's not empty and above the threshold. This avoid calling the function multiple time like before ( `self._get_suggestions(tag_name, 100) or self._get_suggestions(tag_name, 80)` for example, is calling this function twice, and is inefficient ) - Deleted commented line. - Added `typing` module for more typehints.
2020-02-04Fixed _last_fetch not being updated after each api call.Gravatar Shirayuki Nekomata-4/+6
- Changed type of `self._last_fetch` to `float` and give it the initial value of `0.0` instead of `None` - Assigned `time.time()` to `time_now` to avoid calling this function twice. - Added `self._last_fetch = time_now` after calling the api call.
2020-02-04Use a trailing underscore to avoid name conflicts. Gravatar scragly-2/+2
Previously used a leading underscore, but that's usually meant for non-used names.
2020-02-03Change typehint name for the attachment-log constantGravatar Matteo Bertucci-1/+1
2020-02-03Replace constant attachment-repost by the actual ID of #attachment-logGravatar Matteo Bertucci-4/+3
2020-02-02Update CODEOWNERSGravatar Joseph-1/+1
2020-02-02Remove prometheus related codeGravatar Joseph Banks-272/+128
2020-02-02Update config-default.ymlGravatar Thomas Petersson-0/+1