aboutsummaryrefslogtreecommitdiff
path: root/src/utils/__init__.py
Commit message (Collapse)AuthorAgeFilesLines
* add a fairly basic file locking mechanism with src/LockFile.pyGravatar jesopo2019-10-101-2/+4
| | | | closes #96
* commit FunctionSetting changes i forgot to commit yesterdayGravatar jesopo2019-10-081-2/+7
|
* Allow utils.Setting_ parse functions to throw detailed errorsGravatar jesopo2019-10-041-0/+3
|
* move q.close() to where it will be called even if deadline is hitGravatar jesopo2019-09-181-1/+2
|
* move _raise_deadline() out of except block to clean up printed stacktraceGravatar jesopo2019-09-181-0/+4
|
* add .get() to CaseInsensitiveDictGravatar jesopo2019-09-171-0/+2
|
* use Queue.get() with timeout, not Process.join() for timeoutGravatar jesopo2019-09-171-7/+7
| | | | | this was because the threads spawned by multiprocessing.Queue seemed to be making Process.join() believe the subprocess had not exited.
* first draft of multiprocess.Process deadline systemGravatar jesopo2019-09-171-0/+23
|
* support '0' as an IntSetting valueGravatar jesopo2019-09-151-3/+6
|
* add utils.SensitiveSetting, to .format() hide valueGravatar jesopo2019-09-121-0/+4
|
* add utils.Setting.format() so subtypes can format differentlyGravatar jesopo2019-09-121-0/+3
|
* make utils.from_pretty_time() format much stricterGravatar jesopo2019-09-041-12/+11
|
* move deadline alarm time check inside try/finallyGravatar jesopo2019-09-021-5/+5
|
* 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
|
* switch to function/module magic being a single objectGravatar jesopo2019-07-261-9/+34
|
* 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
|
* add CaseInsensitiveDict.__contains__Gravatar jesopo2019-06-261-0/+2
|
* implement @utils.kwarg() magic, use it for command.regex hooksGravatar jesopo2019-06-261-0/+5
|
* Allow channel-access and channel-mode check for channels people are not inGravatar jesopo2019-06-161-0/+2
|
* 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
|
* Support parsing iso8601 with microsecondsGravatar jesopo2019-04-281-2/+4
|
* Record and show when a !to was createdGravatar jesopo2019-04-241-0/+4
|
* change utils.iso8601_format to default to no milliseconds, switch to usingGravatar jesopo2019-04-231-2/+10
| | | | utils.iso8601 functions in badges.py
* Put spaces between units in output from utils.to_pretty_timeGravatar jesopo2019-03-211-7/+7
|
* Enum values shouldn't be all upper caseGravatar jesopo2019-03-101-2/+2
|
* Pull "is main thread" logic out to utils, force Database to be accessed on mainGravatar jesopo2019-02-251-1/+4
| | | | thread
* Move utils.irc.IRCParsedLine to IRCLine.ParsedLine, improve truncationGravatar jesopo2019-02-231-13/+0
| | | | | mechanism, don't convert sent line from ParsedLine to text to ParsedLine for line_handler handling
* Split line_handler.py out in to different files for different categoriesGravatar jesopo2019-02-221-1/+5
|
* Put a helper function in utils to do iso8601 formatting. change IRCServer'sGravatar jesopo2019-02-171-2/+6
| | | | last-read setting to use it.
* Put an strf format for ISO8601 in utilsGravatar jesopo2019-02-121-0/+2
|
* Return truncted data from encode_truncate and hold it in IRCLine.LineGravatar jesopo2019-02-101-3/+6
|
* add `utils.truncate_encode`, to encode and truncate a string while ↵Gravatar jesopo2019-02-101-0/+10
| | | | respecting utf8 multi-byte encoding
* Abstract ssl socket wrapping away so we can reuse itGravatar jesopo2019-02-101-1/+1
|
* Return "0s" from utils.to_pretty_time when given 0 secondsGravatar jesopo2019-02-071-0/+3
|
* If a server has a hostname that's not an IP, use it as SNI server nameGravatar jesopo2019-02-061-1/+8
|
* Add typing hints to CaseInsensitiveDict, fix it's __setitem__ signature, callGravatar jesopo2018-12-081-5/+5
| | | | .items() on `other` in ctor
* Switch to using a case insensitive dictionary for headers instead of doingGravatar jesopo2018-12-081-0/+8
| | | | .title() on each header key