aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeLines
* Remove conversion to str when finding elements.Gravatar Numerlor2020-07-22-2/+2
| | | | | The tags need to be processed down the line, which is not viable on strings.
* Create a function for collecting signatures.Gravatar Numerlor2020-07-20-36/+10
| | | | | | | By getting the signatures without the description we get more flexibility of parsing different symbol groups and decouple the logic from the description which can be parsed directly with the new `find_elements_until_tag` based function.
* Simplify module parsing method.Gravatar Numerlor2020-07-20-9/+10
| | | | | | | | | Instead of returning None and multiple values, the method now only returns the string of the description. Previously the parsing returned None and quit when appropriate tags for shortening the description were not found, but the new implementation simply defaults to the provided start tag if a better alternative is not found.
* Add function for finding tags until a matching tagGravatar Numerlor2020-07-20-0/+35
| | | | | | | | This will allow flexibility in the future when collecting tags for the description and signature of symbols. The base is a function which accepts a callable which is called and iterated over, but 3 names with a partial function that has the callable supplied are provided to keep the outside interface neater.
* Simplify cutoff text.Gravatar Numerlor2020-07-20-3/+4
| | | | "read more" seemed out of place with no permalink over it.
* Remove permalink from truncated markdown.Gravatar Numerlor2020-07-20-3/+3
| | | | | | The permalink serves no functional purpose in the embed, as it is already included in the title. But it does add the complexity of passing in the url to the parser.
* Rename parser.py to parsing.py.Gravatar Numerlor2020-07-20-1/+1
| | | | Parser is a stdlib module name, a rename avoids shadowing it.
* Move markdown truncation into parser moduleGravatar Numerlor2020-07-19-25/+31
|
* Move main parsing methods into a new moduleGravatar Numerlor2020-07-18-96/+108
|
* Move async_cache into a separate moduleGravatar Numerlor2020-07-18-31/+34
|
* Create a package for the Doc cog.Gravatar Numerlor2020-07-18-6/+8
|
* Rename inventories to doc_symbols.Gravatar Numerlor2020-07-14-10/+10
|
* Change docstrings to use suffixed command names.Gravatar Numerlor2020-07-14-3/+3
|
* Change package name converter to only accept _a-z.Gravatar Numerlor2020-07-14-15/+13
| | | | | Package names are now directly used for stats, where the lowercase a-z characters and _ are used.
* Make the symbol parameter optional.Gravatar Numerlor2020-07-14-2/+2
| | | | | | The commands were changed to be greedy, this however made them required arguments breaking the access to the default listing of the available inventories
* Add doc suffix to doc commands.Gravatar Numerlor2020-07-14-4/+4
| | | | | | The `set` command shadowed the `set` symbol, causing the command to seemingly not work. A suffix was added to all commands to keep them consistent and future proof; the shorthands were kept unchanged
* Remove codeblock from symbol embed title.Gravatar Numerlor2020-07-10-1/+1
| | | | The code block caused the url to not highlight the title text on mobile
* Use the group attribute instead of checking the symbol name.Gravatar Numerlor2020-07-07-1/+1
|
* Create method to fetch and create a BeautifulSoup object from an url.Gravatar Numerlor2020-07-07-6/+11
| | | | | | Moving this part of the logic into a separate method allows us to put a cache on it, which caches the whole HTML document from the given url, removing the need to do requests to the same URL for every symbol behind it.
* Intern `group_names`Gravatar Numerlor2020-07-06-1/+4
|
* Add option for user to delete the not found message before it's auto deleted.Gravatar Numerlor2020-06-29-4/+11
|
* Trigger typing in converter instead of command.Gravatar Numerlor2020-06-29-4/+2
| | | | | The converter does a web request so triggering typing in the command itself left out a period where the bot seemed inactive.
* Add stat for packages of fetched symbols.Gravatar Numerlor2020-06-29-10/+13
| | | | | | An additional variable is added to the DocItem named tuple to accommodate this. The `_package_name` is separated from `api_package_name` it previously overwrote and is now used for the stats and renamed symbols because the names are in a friendlier format.
* Only update added inventory instead of all.Gravatar Numerlor2020-06-28-1/+1
|
* Only include one newline for `p` tags in `li` elements.Gravatar Numerlor2020-06-27-0/+7
|
* Redesign `find_all_text_until_tag` to search through all direct children.Gravatar Numerlor2020-06-27-27/+12
| | | | The previous approach didn't work for arbitrary tags with text.
* Strip backticks from symbol input.Gravatar Numerlor2020-06-21-0/+1
| | | | This allows the user to wrap symbols in codeblocks to avoid markdown.
* Correct return when a module symbol could not be parsed.Gravatar Numerlor2020-06-21-9/+8
|
* Fix typehint.Gravatar Numerlor2020-06-21-1/+1
|
* Renamed existing symbols from `NO_OVERRIDE_GROUPS` instead of replacing.Gravatar Numerlor2020-06-21-7/+12
| | | | | | Before, when a symbol from the group shared the name with a symbol outside of it the symbol was simply replaced and lost. The new implementation renames the old symbols to the group_name.symbol format before the new symbol takes their place.
* Add symbol group name to symbol inventory entries.Gravatar Numerlor2020-06-21-10/+17
|
* Remove unnecessary join.Gravatar Numerlor2020-06-21-1/+1
| | | | `find_all_text_until_tag` already returns a string so a join is not needed.
* Also check signatures before selected symbol when collecting 3 signatures.Gravatar Numerlor2020-06-21-1/+5
|
* Account for `NavigableString`s when gathering text.Gravatar Numerlor2020-06-21-3/+9
| | | | `find_next()` only goes to tags, leaving out text outside of them when parsing.
* Make sure only class contents are included, without methods.Gravatar Numerlor2020-06-18-13/+42
| | | | | | | | When parsing classes, methods would sometimes get included causing bad looking markdown to be included in the description, this is solved by collecting all text *up to* the next dt tag. fixes: #990
* Move symbol parsing into separate methods.Gravatar Numerlor2020-06-18-23/+43
|
* Skip symbols with slashes in them.Gravatar Numerlor2020-06-17-0/+2
| | | | | | The symbols mostly point to autogenerated pages, and do not link to specific symbols on their pages and are thus unreachable with the current implementation.
* Make doc get greedy.Gravatar Numerlor2020-06-17-5/+6
| | | | This allows us to find docs for symbols with spaces in them.
* Resolve relative href urls in a html elements.Gravatar Numerlor2020-06-17-3/+13
| | | | | | Most docs will use relative urls to link across their pages, without resolving them ourselves the links remain unusable in discord's markdown and break out of codeblocks on mobile.
* Merge pull request #930 from MrGrote/test_antimalwareGravatar Sebastiaan Zeeff2020-05-30-20/+194
|\ | | | | Add tests for the antimalware cog
| * Merge branch 'master' into test_antimalwareGravatar Sebastiaan Zeeff2020-05-30-965/+2124
| |\ | |/ |/|
* | Merge pull request #972 from Numerlor/tag-encodingGravatar Mark2020-05-29-1/+1
|\ \ | | | | | | Specify encoding when reading tag files
| * | Tags: explicitly use UTF-8 to read filesGravatar MarkKoz2020-05-30-1/+1
|/ / | | | | | | | | | | | | | | Not all operating systems use UTF-8 as the default encoding. For systems that don't, reading tag files with Unicode would cause an unhandled exception. (cherry picked from commit adc75ff9bbcf8b905bd78c78f253522ae5e42fc3)
* | Merge pull request #965 from Akarys42/patch-1Gravatar Dennis Pham2020-05-29-0/+1
|\ \ | | | | | | Ignore response when posting python news
| * \ Merge branch 'master' into patch-1Gravatar Dennis Pham2020-05-29-31/+8
| |\ \ | |/ / |/| |
* | | Merge pull request #966 from python-discord/sebastiaan/help-channels/ratelimitsGravatar Joseph Banks2020-05-29-31/+8
|\ \ \
| * | | Reduce the number of help channel name changesGravatar Sebastiaan Zeeff2020-05-29-29/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discord has introduced a new, strict rate limit for individual channel edits that reduces the number of allow channel name/channel topic changes to 2 per 10 minutes per channel. Unfortunately, our help channel system frequently goes over that rate limit as it edits the name and topic of a channel on all three "move" actions we have: to available, to occupied, and to dormant. In addition, our "unanswered" feature adds another channel name change on top of the move-related edits. That's why I've removed the topic/emoji changing features from the help channel system. This means we now have a generic topic that fits all three categories and no status emojis in the channel names.
| * | | Fix `check_for_answer` breaking on missing cacheGravatar Sebastiaan Zeeff2020-05-29-2/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | The `check_for_answer` method of the HelpChannels cog relies on the channel->claimant cache being available. However, as this cache is (currently) lost during bot restarts, this method may fail with a KeyError exception. I've used `dict.get` with an `if not claimant: return` to circumvent this issue.
| * / Ignore response when posting python newsGravatar Matteo Bertucci2020-05-29-0/+1
|/ / | | | | Sometimes a mailing list user doesn't press respond correctly to the email, and so a response is sent as a separate thread. To keep only new threads in the channel, we need to ignore those.
* | Merge pull request #947 from python-discord/redis_persistenceGravatar Sebastiaan Zeeff2020-05-28-182/+1061
|\ \ | | | | | | RedisCache - Data Persistence