aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| * | | | | | | | Update comma code to fix testsGravatar Joe Banks2020-12-12-2/+9
| | | | | | | | |
| * | | | | | | | Comma separators in metricity data in user commandGravatar Joe Banks2020-12-12-2/+2
| | | | | | | | |
| * | | | | | | | Merge pull request #1274 from python-discord/moderation/user-from-metricityGravatar Joe Banks2020-12-12-5/+45
| |\ \ \ \ \ \ \ \
| | * | | | | | | | Single to double quotes & warning includes user ID.Gravatar Xithrius2020-12-11-4/+4
| | | | | | | | | |
| | * | | | | | | | Added catching for unparsable short ISO dates.Gravatar Xithrius2020-12-11-4/+8
| | | | | | | | | |
| | * | | | | | | | Merge branch 'master' into moderation/user-from-metricityGravatar Sebastiaan Zeeff2020-12-11-1757/+2467
| | |\ \ \ \ \ \ \ \ | | |/ / / / / / / / | |/| | | | | | | |
| | * | | | | | | | Added docstring for the user activity function.Gravatar Xithrius2020-12-10-1/+6
| | | | | | | | | |
| | * | | | | | | | Merge branch 'moderation/user-from-metricity' of ↵Gravatar Xithrius2020-12-10-12/+7
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/python-discord/bot into moderation/user-from-metricity
| | | * | | | | | | | Slightly reformatted activity block building.Gravatar Xithrius2020-12-10-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Hassan Abouelela <[email protected]>
| | | * | | | | | | | Compressed embed buildingGravatar Xithrius2020-12-10-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Hassan Abouelela <[email protected]>
| | * | | | | | | | | Compressed if into or statements.Gravatar Xithrius2020-12-10-9/+2
| | |/ / / / / / / /
| | * | | | | | | | Changed logic of membership info creation.Gravatar Xithrius2020-11-11-14/+20
| | | | | | | | | |
| | * | | | | | | | Moved activity data further up in embed.Gravatar Xithrius2020-11-06-14/+31
| | | | | | | | | |
| | * | | | | | | | User command gets verification time and message count.Gravatar Xithrius2020-11-04-1/+21
| | | | | | | | | |
| | | * | | | | | | Remove selenium from the element listGravatar Matteo Bertucci2020-11-12-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This could lead to some confusion with the users believing that this channel is reserved to help related to the selenium tool.
* | | | | | | | | | Remove old reference to CachedParser and unused constGravatar Numerlor2021-01-11-4/+1
| | | | | | | | | |
* | | | | | | | | | Check for containment instead of always getting the value from the dictGravatar Numerlor2021-01-11-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Getting the value from a defaultdict will always create the key for it, creating unnecessary entries every time a symbol is fetched from the bot
* | | | | | | | | | Notify the user that inventories were refreshed on cache clearsGravatar Numerlor2021-01-11-1/+1
| | | | | | | | | |
* | | | | | | | | | Don't convert package names into lowercaseGravatar Numerlor2021-01-11-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The converter used to set them already ensures this for us, making the call redundant
* | | | | | | | | | Ensure footer fits into messageGravatar Numerlor2021-01-11-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The footer also now says Moved: at the start to clarify the meaning of the symbols to the user
* | | | | | | | | | Use a dictionary of lists instead of set for renamed symbolsGravatar Numerlor2021-01-11-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A dictionary allows us to grab the original symbol name and then get all the renamed symbols from it, with the improvements to `ensure_unique_symbol_name` we can also use lists instead of sets as each symbol we add should be unique
* | | | | | | | | | Handle renaming conflicting symbols in ensure_unique_symbol_nameGravatar Numerlor2021-01-11-15/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously update_single looped this function until there were no duplicates and when creating new symbols the function had to check if the symbol to create a new name from started with a group/package to avoid redundancy. The new approach ensures a new symbol is always unique when returning by handling the containment check inside and outputting a symbol name in the format of package.group.symbol which should always be unique
* | | | | | | | | | Update outdated docstringGravatar Numerlor2021-01-11-1/+1
| | | | | | | | | |
* | | | | | | | | | Send a message to devlog instead of logging a warningGravatar Numerlor2021-01-11-1/+30
| | | | | | | | | |
* | | | | | | | | | Resolve wrapped command callbacks in the source commandGravatar Numerlor2021-01-10-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this the command will fetch the source of the wrapper
* | | | | | | | | | Create decorator for update_wrapper_globals mimicking functools.wrapsGravatar Numerlor2021-01-10-9/+30
| | | | | | | | | |
* | | | | | | | | | Change the func name to wrapped for clarityGravatar Numerlor2021-01-10-6/+6
| | | | | | | | | |
* | | | | | | | | | Rename CachedParser to BatchParser and move it to its own moduleGravatar Numerlor2021-01-10-166/+180
| | | | | | | | | |
* | | | | | | | | | Defer import to avoid circular importsGravatar Numerlor2021-01-10-1/+1
| | | | | | | | | |
* | | | | | | | | | Move functions strictly related to parsing html to the _html moduleGravatar Numerlor2021-01-10-120/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some constants need to be shared between html and parsing, because they may also be wanted to be edited by the cog user to change the behaviour, they were moved into the package's init.
* | | | | | | | | | Expand docstringGravatar Numerlor2021-01-10-1/+6
| | | | | | | | | |
* | | | | | | | | | Bump markdownify to 0.6.1-0.6.*Gravatar Numerlor2021-01-10-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 0.6 release brought a new parameter that has to be included in all tag handling methods
* | | | | | | | | | Set exception on futureGravatar Numerlor2021-01-10-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without the exception set, to the user the bot would fail silently if an exception was handled here
* | | | | | | | | | Refresh inventories when the redis cache is clearedGravatar Numerlor2021-01-10-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the futures are cleaned up and Markdown only exists in the cache after a short time, items that were requested previously and had the cache cleared would be missing from the CachedParser
* | | | | | | | | | Handle equal DocItems in the queueGravatar Numerlor2021-01-10-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This could be handled by using sets to hold the items in _page_symbols, but ultimately the check has a much smaller cost than having thousands of sets for the urls. Because we create futures for every item that ends up in the queue we can also skip the .get is None check and instead fetch the future directly from the dict
* | | | | | | | | | Stop scheduled and long running tasks on cog unloadGravatar Numerlor2021-01-10-0/+6
| | | | | | | | | |
* | | | | | | | | | Periodically clear unnecessary futures from the _item_futures dictGravatar Numerlor2021-01-10-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code has no way of reaching futures through new requests after their result has been set as that also includes setting its value in redis.
* | | | | | | | | | Do not add package name to the front of the symbol if it's already thereGravatar Numerlor2021-01-09-2/+11
| | | | | | | | | |
* | | | | | | | | | Do not ignore symbols with slashes.Gravatar Numerlor2021-01-09-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases these are actual symbols that we can look up
* | | | | | | | | | Ensure no symbols get overwritten while generating symbol mappingsGravatar Numerlor2021-01-09-19/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code handling this was moved to a function to achieve this cleanly. Includes fixes for bugs where incorrect package was added to the symbol name in the second branch and an incorrect symbol being added in the third branch Co-authored-by: MarkKoz <[email protected]>
* | | | | | | | | | Do not attempt to set cache values for symbols that were not foundGravatar Numerlor2021-01-09-1/+2
| | | | | | | | | |
* | | | | | | | | | Remove redundant variableGravatar Numerlor2021-01-09-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: MarkKoz <[email protected]>
* | | | | | | | | | Add comments to truncation handling codeGravatar Numerlor2021-01-09-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: MarkKoz <[email protected]>
* | | | | | | | | | Use update_wrapper instead of wrapsGravatar Numerlor2021-01-09-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're not using it as a decorator so using wraps only complicates the call syntax
* | | | | | | | | | Return the fetched inventory in the Inventory converterGravatar Numerlor2021-01-09-46/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of fetching it again in the cog, the converter now returns the inventory for later use. The set command now no longer attempts to reschedule the inventory, and a bug that caused the inventory rescheduling to do nothing in `update_single` was fixed after moving it to its own method
* | | | | | | | | | Wait for the inventory to be refreshed before attempting any fetchingGravatar Numerlor2021-01-09-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the bot returned an error if a symbol was not found while inventories were refreshing, but we can just wait for the to finish refreshing and then the symbol may be filled in. A logging call to notify of the refresh being done was also added.
* | | | | | | | | | Create futures for all items in the queueGravatar Numerlor2021-01-09-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creating futures for everything and then awaiting at the end takes care of all the potential race conditions that may pop up from items that are parsed and sent to redis while the get_markdown method is in the middle of fetching a page. In case it happens with the implementation we'll just need to move the item to the front and the future will get a result set soon afterwards.
* | | | | | | | | | Clear up docstring so it doesn't rely on private attributeGravatar Numerlor2021-01-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: MarkKoz <[email protected]>
* | | | | | | | | | Revert "Clear up docstring so it doesn't rely on private attribute"Gravatar Numerlor2021-01-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit ad90978f
* | | | | | | | | | Run html parsing in an executorGravatar Numerlor2021-01-09-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parsing may take up to a few hundred ms depending on the amount of work it has to do