aboutsummaryrefslogtreecommitdiff
path: root/src/utils
Commit message (Expand)AuthorAgeFilesLines
* Pass the content of a webpage to HTTPParsingExceptionGravatar jesopo2019-09-021-2/+2
* use \S+ for url regex (for non-ascii chars), use url_sanitize to catch <>Gravatar jesopo2019-09-021-9/+12
* add per-user fediverse settingGravatar jesopo2019-09-021-0/+9
* switch to using signal.setitimer so we can restore previous timerGravatar jesopo2019-08-301-1/+7
* switch utils.deadline to a context managerGravatar jesopo2019-08-301-5/+8
* add utils.deadline(func, seconds) to put hard limits on code exec timeGravatar jesopo2019-08-301-1/+15
* Add IntRangeSetting, reorder OptionsSetting arg orderGravatar jesopo2019-08-301-1/+18
* round microseconds up to a whole number and zero-pad to 3 charsGravatar jesopo2019-08-301-1/+2
* Don't use 'Z' for "utc timezone" - actually parse timezone out of datetimesGravatar jesopo2019-08-301-7/+14
* Remove extraneous spaceGravatar jesopo2019-08-071-1/+0
* Allow bypass of content-type check in utils.http.requestGravatar jesopo2019-08-051-3/+3
* not all HTTP responses have content-typeGravatar jesopo2019-08-021-1/+1
* switch to function/module magic being a single objectGravatar jesopo2019-07-262-12/+35
* asyncio.gather -> asyncio.wait (with timeout)Gravatar jesopo2019-07-081-1/+1
* tell asyncio.gather which loop to useGravatar jesopo2019-07-081-1/+1
* close event loop when we're done with it (request_many())Gravatar jesopo2019-07-081-1/+2
* Don't try/except async http exceptionsGravatar jesopo2019-07-081-5/+1
* switch request_many() to use asyncio.gatherGravatar jesopo2019-07-081-14/+18
* catch async exceptions in utils.http.request_many()Gravatar jesopo2019-07-081-1/+6
* add missing schema in utils.http.sanitise_url, use in rss.pyGravatar jesopo2019-07-081-0/+3
* switch to using asyncio's event loopGravatar jesopo2019-07-081-6/+7
* implement utils.http.request_many as a tonado ioloop yieldGravatar jesopo2019-07-081-1/+19
* url_validate() -> url_sanitise()Gravatar jesopo2019-07-021-1/+1
* Add utils.http.url_validate() for best-effort url tidyingGravatar jesopo2019-07-021-0/+16
* fixed capabilitiesGravatar jan62019-07-011-1/+1
* Implemnt _options_factory for OptionsSetting to have dynamic optionsGravatar jesopo2019-06-291-5/+14
* Automatically format `example` text for OptionsSetting (showing options)Gravatar jesopo2019-06-291-1/+15
* Setting.__init__ call in OptionsSetting ctor needs `self` paramGravatar jesopo2019-06-281-1/+1
* Implement utils.OptionsSettingGravatar jesopo2019-06-281-0/+12
* Refactor set/channelset/serverset/botset in to 'utils.Setting' objectsGravatar jesopo2019-06-281-15/+29
* message arg for HTTPWrongContentTypeException/HTTPParsingExceptionGravatar jesopo2019-06-281-5/+5
* Give descriptions to utils.http.HTTPException subclassesGravatar jesopo2019-06-271-2/+6
* add CaseInsensitiveDict.__contains__Gravatar jesopo2019-06-261-0/+2
* add `allow_redirects` kwarg to utils.http.request()Gravatar jesopo2019-06-261-0/+2
* implement @utils.kwarg() magic, use it for command.regex hooksGravatar jesopo2019-06-262-0/+6
* Implement dependency system for CAPsGravatar jesopo2019-06-211-1/+3
* Adda system of aliases for CAPs, mostly for changeable draft specs and creating•••dependence between moving specs Gravatar jesopo2019-06-211-2/+5
* fix hostmask_match_many type hintingGravatar jesopo2019-06-201-1/+2
* Implement hostmask_match_any, for more efficient matching of multiple hostmasksGravatar jesopo2019-06-201-3/+9
* Implement utils.irc.hostmask_match() as regexGravatar jesopo2019-06-201-2/+9
* Add MessageTag.present, to see if a tag is present (even without value)Gravatar jesopo2019-06-191-0/+2
* Allow channel-access and channel-mode check for channels people are not inGravatar jesopo2019-06-161-0/+2
* Implement client-to-server BATCHesGravatar jesopo2019-06-161-3/+18
* Change from `yield` checks to a func in `events` that pass up EventErrorsGravatar jesopo2019-06-151-1/+5
* Fix utils.Check `args` type hintingGravatar jesopo2019-06-141-2/+2
* Add a way to __or__ `utils.Check`s, as a "if one of these passes" thingGravatar jesopo2019-06-141-0/+9
* Catch `yield`s in command callbacks for e.g. permission checksGravatar jesopo2019-06-141-0/+5
* Add `.assure()` to ParsedLine, to make it immune from `.valid()`Gravatar jesopo2019-06-101-1/+1
* labels: Use BatchType to match, pass `lines` not `line`, batch ID isn't a label,•••fire event on label response Gravatar jesopo2019-06-041-2/+7
* Add new BatchType object, to match like how Capability and MessageTag doGravatar jesopo2019-06-041-1/+8