Eeshan Garg
3c23dd6c66
tools/release-packages: Remove the ability to push changes.
...
This commit removes the following:
* This script's dependency on gitpython, it is not maintained actively.
* The ability to push changes in this and the main zulip/ repo. Doing
so automatically was turning out to be cumbersome and buggy and
doing it manually doesn't take significantly longer anyway.
* The ability to automatically increment PROVISION_VERSION in
zulip/version.py. Again, this was too buggy and it doesn't take
much longer to just increment it by hand.
Removing the above features made the script a lot easier to maintain
and read.
2017-12-18 22:05:54 -03:30
Eeshan Garg
13985510b1
tools/release-packages: Isolate the build and cleanup commands.
...
This commit fixes a couple of things:
* Removes the command line argument called release_version, now
one doesn't have to supply a version number when running just
running --cleanup, for instance.
* Run --cleanup before building the wheels and sdists. This is so
that outdated distributions are removed before generating new
ones.
* Set IS_PYPA_PACKAGE back to False at the end of the --build
process so that we don't accidentally set it to True. This was
a huge bug in the previous version of the script.
2017-12-18 21:06:01 -03:30
Jerry Zhang
ce8979df7a
interactive bots: Improve documentation for tictactoe bot.
2017-12-18 10:38:13 -05:00
Marco Burstein
878691a745
bots: Create Wit.ai Bot.
...
Wit.ai Bot communicates with the Wit.ai API. It can be configured with
any Wit.ai token and allows for setting up a custom handler function to
handle Wit.ai responses.
2017-12-18 10:32:05 -05:00
neiljp (Neil Pilgrim)
26f76dc9b1
Editing: Add .editorconfig from zulip/zulip (with note).
2017-12-18 07:36:40 -05:00
Robert Hönig
b306324bfa
zulip_bots: Make BotTestCase the only helper library.
...
Renames StubBotTestCase to BotTestCase and removes
legacy code for supporting both names.
2017-12-14 05:56:55 -05:00
Robert Hönig
a475077da9
zulip_bots: Use utf-8 when reading fixtures.
...
This prevents issues with Python using platform
specific encodings, such as CP1252 on Windows.
2017-12-14 05:56:55 -05:00
neiljp (Neil Pilgrim)
ced3a97b3f
TicTacToe: Extract sanitized_move from TicTacToeGame as coords_from_command.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
c6e9beb2a1
TicTacToe: Rename & simplify some functions.
...
Rename:
* win_conditions -> contains_winning_move
* check_validity -> is_valid_move
* sanitize_move -> sanitized_move
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
a72764d7b8
TicTacToe: Improve encapsulation of board data in TicTacToeGame.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
aadf639e5e
TicTacToe: Remove python2 compatibility imports
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
cff3e30734
TicTacToe: Coalesce & refactor response messages.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
a7f7994302
TicTacToe: Use game objects instead of calling TicTacToeGame with self.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
b1dba0bd30
TicTacToe: Move tictactoe() text from game-logic to handle_message.
...
Also remove early debugging logic.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
6d4b205595
TicTacToe: Use simple comparison instead of overly-complex first_time().
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
d10601b554
TicTacToe: Refactor new-game handling into existing section.
...
Also extend storage-update section; all related storage.put calls
are now together.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
33e8517b87
TicTacToe: Decouple TicTacToeGame.tictactoe() string from move result.
...
This allows the storage update to be refactored into one block before
sending the result text.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
5843801d13
TicTacToe: Simplify superfluous initial command logic.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
969b984b80
TicTacToe tests: Extend tests to end of game lose condition & quit.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
62d781a53e
TicTacToe tests: Extend tests to end of game draw condition & quit.
2017-12-12 17:11:29 -06:00
neiljp (Neil Pilgrim)
d686a3b337
bots (minor): Simplify test_link_shortener.py further.
...
* Rename test names to be more descriptive.
* Inline messages/response test.
2017-12-12 13:57:55 -06:00
Marco Burstein
e9aa94f81c
mypy: Add annotations for Link Shortener Bot.
...
Based on work started by @skunkmb.
2017-12-12 13:57:55 -06:00
Steve Howell
c4b42ff599
lint: Prevent __future__ in zulip_bots/zulip_bots/bots.
...
We should eventually extend this lint rule to all of
zulip_bots.
2017-12-12 07:35:30 -06:00
Steve Howell
f69d71c3b1
bots: Remove unneeded __future__ imports.
2017-12-12 07:32:14 -06:00
Steve Howell
fd069dff82
lint: Require python3 shebangs.
...
This commit was originally from @fredfishgames, but it
needed a big rebase due to use letting it sit too long.
Also, we decided not to have shebangs at the top of test
files.
2017-12-12 07:14:16 -06:00
neiljp (Neil Pilgrim)
28687f18ca
mypy: Add --disallow-any=generics & extend typing accordingly.
...
Also reset typing of ExternalBotHandler to Any after discussion.
2017-12-11 20:14:00 -06:00
fredfishgames
424a4bb631
add _ to googletranslate and googlesearch
2017-12-11 13:15:43 -06:00
fredfishgames
657c6d7b9c
interactive bots: Create DialogFlow bot.
2017-12-11 13:15:43 -06:00
Sivagiri Visakan
277b384379
bots: Add 100% test coverage to define bot.
2017-12-11 12:49:43 -06:00
Sivagiri Visakan
d663dd2f49
bots: Make wikipedia bot return an error message.
...
Previously the Wikipedia bot was replying with `null` in case of an error.
A change has been made to return an error message if an error occurs.
2017-12-11 12:49:43 -06:00
Rohitt Vashishtha
e5e5868414
tests: Add test_helloworld to run-mypy list.
2017-12-11 11:43:44 -06:00
Steve Howell
fe3b995590
Fix KeyboardInterrupt handler in terminal.py.
...
The exception name was wrong before.
2017-12-11 11:07:28 -06:00
Marco Burstein
3c66894aff
incrementor: Clean up type annotation/conversion.
...
This adds mypy annotations, and we also make the type
conversions in `handle_message` be a little more clear.
(@showell helped clean up this commit a bit)
2017-12-11 10:59:40 -06:00
Steve Howell
b4ff5230a9
mypy: Fix StateHandler annotations.
...
`get` and `put` deal with arbitrary JSON-serializable types,
so `Text` was an innacurate annotation.
2017-12-11 10:35:03 -06:00
Steve Howell
7bc79a8911
Extract StubBotTestCase.make_request_message().
...
This de-duplicates some code and also makes it a bit
easier in the future to override how we create messages.
2017-12-11 09:39:48 -06:00
Steve Howell
5686d603ef
minor: Clean up test_lib imports.
2017-12-11 09:34:11 -06:00
Steve Howell
971b48cbfc
Decouple mock_request_exception from StubBotTestCase.
...
Tests that need mock_request_exception can just import it
directly now.
2017-12-11 09:26:36 -06:00
Steve Howell
1dbb73a1c8
Extract test_file_utils.py.
...
This isolates all the code that depends on our current
directory structure, and it de-clutters test_lib.py a bit.
2017-12-11 09:23:24 -06:00
Steve Howell
5034220829
bots: Extract request_test_lib.py.
...
The new module mocks out calls to the requests library, which
is used by many of our bots that use third party services.
Mocking of requests.py is mostly orthogonal to our other
testing concerns.
2017-12-11 09:05:06 -06:00
Steve Howell
fb8ee29bc1
zulip_bots/test_lib.py: Remove unneeded imports/shebang.
2017-12-11 08:26:50 -06:00
Steve Howell
b4705c2343
bot tests: Remove BotTestCase.
...
All of the functionality of BotTestCase was either directly
moved to StubBotTestCase or replaced by similar functions,
and all bots have been ported to StubBotTestCase.
2017-12-11 08:26:50 -06:00
sColin16
6109bd198a
interactive bots: Improve wikipedia bot.
2017-12-11 08:05:09 -06:00
sColin16
1221c7107f
test_lib.py: Add mock_request_exception.
2017-12-11 08:05:09 -06:00
Steve Howell
0a05a28e34
test_virtual_fs.py: Use StubBotTestCase.
...
We use verify_dialog() now, and we also have a different
default email.
2017-12-11 08:00:02 -06:00
Steve Howell
a7f6c0f142
Add display_recipient to StubBotTestCase.verify_dialog.
2017-12-11 07:57:36 -06:00
Marco Burstein
3c794b384b
mypy: Add annotations for Yoda Bot.
2017-12-11 07:33:16 -06:00
Marco Burstein
8f64405bae
mypy: Add annotations for Wikipedia Bot.
2017-12-11 07:26:43 -06:00
Marco Burstein
0467f83314
mypy: Add annotations for xkcd Bot.
2017-12-11 07:26:43 -06:00
neiljp (Neil Pilgrim)
e01ecc9fde
test_virtual_fs.py: Remove unneeded imports and shebang.
2017-12-11 07:16:54 -06:00
neiljp (Neil Pilgrim)
060211a131
bots: Simplify test_yoda.py.
2017-12-10 18:16:40 -08:00