aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
...
| * | | | | | | | | | | | | | Create function for merging function and decorator wrapper globalsGravatar Numerlor2020-12-15-6/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | discord.py uses the globals of functions to resolve forward refs in commands, previously decorators applied before commands broke the bot with forwardrefs to names that weren't in the namespace of the module where they were defined, the new function takes care of merging the globals in a new function to mitigate this issue. closes: #1323
| * | | | | | | | | | | | | | Provide feedback to user when no cache to clear was foundGravatar Numerlor2020-12-15-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While technically correct, always sending success could be misleading in case of a typo on the package
| * | | | | | | | | | | | | | Move parse_queue cleanup into finally blockGravatar Numerlor2020-12-15-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The finally will make sure we reset the task and log it no matter what happens, additionally the clearing of the variable is now only done in one place as the finally also executes when the coro is cancelled
| * | | | | | | | | | | | | | Ensure only one future is created for each doc_itemGravatar Numerlor2020-12-15-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously in case get_markdown for an item ran twice, the one that ran second would overwrite the future created by the first one, potentially causing the coro to wait for it infinitely as _parse_queue would only be able to set the last future
| * | | | | | | | | | | | | | Remove internal CachedParser result cacheGravatar Numerlor2020-12-15-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We no longer need to keep the items around since everything is in redis and the costs of always going through redis is fairly small
| * | | | | | | | | | | | | | Use global bot http_session instead of parameterGravatar Numerlor2020-12-15-14/+13
| | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | Merge remote-tracking branch 'upstream/master' into doc-impGravatar Numerlor2020-12-11-1635/+2259
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | Restructure doc cache to handle caches of whole pagesGravatar Numerlor2020-12-11-61/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we used packages as the top level keys and fields contained the url and the symbol id, however if we want to store all symbols from fetched pages instead of only the ones that were fetched by the users this comes worse off than using the page url in the field and setting EXPIREs for them instead of doing it manually in python. The new implementation uses package:url as the redis key and only the symbol id for field names, with the expire being set to a week on the key, this means we have to pattern match the keys when deleting the cache for a package but that's being done far less than the expire checking done previously.
| * | | | | | | | | | | | | | | Create a generator instead of returning a listGravatar Numerlor2020-12-09-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The result of _split_parameters is only iterated over, so a list is not needed. Making it lazy may also save some time in cases where we don't use all parameters
| * | | | | | | | | | | | | | | Merge current_search and expected_end inGravatar Numerlor2020-12-09-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The two variables were initialized and cleared together and contained related information
| * | | | | | | | | | | | | | | Improve handling of stringsGravatar Numerlor2020-12-09-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the code assumed ' and " can be used interchangeably, and strings that were inside of brackets were ignored for depth but their contents weren't causing strings like "ab[cd" to increase the depth
| * | | | | | | | | | | | | | | Remove redundant suppressGravatar Numerlor2020-11-29-2/+2
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Various grammar and sentence structure changesGravatar Numerlor2020-11-29-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: MarkKoz <[email protected]>
| * | | | | | | | | | | | | | | Clear up docstring so it doesn't rely on private attributeGravatar Numerlor2020-11-29-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: MarkKoz <[email protected]>
| * | | | | | | | | | | | | | | Use pop instead of getitem and delGravatar Numerlor2020-11-29-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: MarkKoz <[email protected]>
| * | | | | | | | | | | | | | | Use timedelta instead of constructing duration manuallyGravatar Numerlor2020-11-29-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A newline was also added to set to keep it consistent with set_if_exists
| * | | | | | | | | | | | | | | Ensure packages from PRIORITY_PACKAGES are directly accessibleGravatar Numerlor2020-11-15-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some packages (currently only python) should be prioritised to others, the previous cleanup didn't account for other packages loading before it which resulted in duplicate symbols getting the python prefix and the original symbols linking to most probably undesired pages
| * | | | | | | | | | | | | | | Add command for clearing the cache of packagesGravatar Numerlor2020-11-15-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We also clear the cache when removing a package
| * | | | | | | | | | | | | | | Update existing redis values when parsing pagesGravatar Numerlor2020-11-15-6/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we're parsing a page for a symbol that's out of the cache and encounter a symbol that was already cached we can update that symbol to keep it up to date without additional requests
| * | | | | | | | | | | | | | | Rework the doc redis cache to work with hashesGravatar Numerlor2020-11-15-12/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This rework requires us to delete packages caches easily with deleting the package hash instead of having to pattern match all keys and delete those. The interface was also updated to accept DocItems instead of requiring callers to construct the keys
| * | | | | | | | | | | | | | | Limit newlines in doc descriptionsGravatar Numerlor2020-11-15-16/+32
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Intern relative url pathsGravatar Numerlor2020-11-15-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Group name interning was also moved to the DocItem creation to group the behaviour
| * | | | | | | | | | | | | | | Cancel scheduled inventory updates on all refreshesGravatar Numerlor2020-11-15-6/+2
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Adjust unparseable symbol behaviourGravatar Numerlor2020-11-15-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With redis we need to make sure we don't send the "error" string into the cache, returning None instead of the string and then setting it manually in the caller makes this nicer compared to checking against a string
| * | | | | | | | | | | | | | | Update outdated docstringGravatar Numerlor2020-11-15-1/+1
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Rename variables for clarityGravatar Numerlor2020-11-15-11/+11
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Generalise tag filter hint to accept all containersGravatar Numerlor2020-11-10-5/+5
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Relock Pipfile.lockGravatar Numerlor2020-11-10-298/+136
| | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | Merge remote-tracking branch 'upstream/master' into doc-impGravatar Numerlor2020-11-10-782/+2177
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # LICENSE-THIRD-PARTY # bot/exts/info/doc.py
| * | | | | | | | | | | | | | | | Move InventoryURL converer to the converters fileGravatar Numerlor2020-11-10-21/+22
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Simplify duplicate symbol name handling codeGravatar Numerlor2020-11-10-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the catchall else condition and symbols from FORCE_PREFIX_GROUPS getting renamed even when being overwritten, we can ignore the package handling and let it go to the else which adds the package prefix instead of a group
| * | | | | | | | | | | | | | | | Add package in front of symbol as default fallbackGravatar Numerlor2020-11-10-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously weo nly added the package name for symbols that shared are named name with an another symbol, but in some edge cases we can get to this point with symbols that weren't renamed but have name conflicts, causing some to get overwritten completely without the capturing condition
| * | | | | | | | | | | | | | | | Cache user fetched symbols through redis.Gravatar Numerlor2020-11-10-2/+43
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Handle escaped backslashes in stringsGravatar Numerlor2020-10-18-3/+3
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Exclude headerlinks outside of current sectionGravatar Numerlor2020-10-10-9/+13
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Use more descriptive name for end_tag_filterGravatar Numerlor2020-10-10-5/+5
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Handle non dt fallback together with modulesGravatar Numerlor2020-10-10-6/+1
| | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | Merge remote-tracking branch 'upstream/master' into doc-impGravatar Numerlor2020-10-10-3617/+2635
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | | | | Reschedule failed inventory updatesGravatar Numerlor2020-10-10-4/+35
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Remove sphinx and requests from PipfileGravatar Numerlor2020-10-10-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With our own implementation of sphinx's inventory fetching we no longer need the sphinx package, and requests which were used inside of it.
| * | | | | | | | | | | | | | | | | Use new async inventory fetchingGravatar Numerlor2020-10-10-64/+7
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Handle errors on inventory fetchingGravatar Numerlor2020-10-10-2/+35
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Add async implementation of sphinx fetch_inventoryGravatar Numerlor2020-10-10-0/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sphinx version of the function does a lot of checks that are unnecessary for the bot because it's not working with anything else related to docs. The custom implementation means we can throw some of the code out and get rid of sphinx as a dependency.
| * | | | | | | | | | | | | | | | | Add parentheses for clarityGravatar Numerlor2020-10-10-1/+1
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Make amount of included signatures configurableGravatar Numerlor2020-10-10-7/+10
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Collapse signatures between args instead of spacesGravatar Numerlor2020-10-10-3/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The signature length needed more logic and shorter limits to ensure messages would fit in a discord message in a nice way.
| * | | | | | | | | | | | | | | | | Use List typehint that has a narrower scopeGravatar Numerlor2020-09-21-1/+1
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Handle cases with outdated bot inventories.Gravatar Numerlor2020-09-21-0/+3
| | | | | | | | | | | | | | | | | |
| * | | | | | | | | | | | | | | | | Use f strings instead of c style on copied codeGravatar Numerlor2020-09-21-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code copied over from MarkdownConverter's implementation used c style string formatting, there is no reason to keep the style of strings in our code
| * | | | | | | | | | | | | | | | | Properly truncate description markdownGravatar Numerlor2020-09-21-44/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous truncating implementation used a naive method that disregarded the actual markdown formatting, possibly resulting in it getting cut out. With the introduction of proper href tags this became impossible to manage without writing an actual parser; so the process was moved to happen when the gathered bs4 elements are being converted into markdown