62 Commits

Author SHA1 Message Date
cfc475a361 Add timeout 2019-11-15 02:39:57 +00:00
Jason R. Coombs
923b505128 Feed the hobgoblins (delint). 2018-03-04 22:05:10 -05:00
Jason R. Coombs
c66dc29876 Add tests for pmxbot command (and Result.results). 2016-09-04 11:41:18 -04:00
Jason R. Coombs
2c2ba47879 Add test for xml_bool and correct implementation, simplify by using json. 2016-09-04 11:23:22 -04:00
Jason R. Coombs
7bee559740 Rely on inheritance to handle errors in Result and Pod. 2016-09-03 15:36:52 -04:00
Jason R. Coombs
f0fc35c7c1 Simplify init in Result 2016-09-03 15:32:30 -04:00
Jason R. Coombs
5f86e5a1d6 Re-use always_iterable 2016-09-03 15:23:08 -04:00
Jason R. Coombs
e1ae854faf Return iterables throughout for consistency. 2016-09-03 14:59:58 -04:00
Jason R. Coombs
1a4dc2fc62 Re-use more of the from_doc constructor and attribute type transformation in the Result object. Restore Pod.subpods through an alias property. 2016-09-03 14:56:06 -04:00
Jason R. Coombs
273cd73330 Move result after Pod 2016-09-03 14:40:07 -04:00
Jason R. Coombs
d4e3afe6b0 Use compose to generate the lists where expected 2016-09-03 14:38:10 -04:00
Jason R. Coombs
658183b56c Move from_doc to the Document class 2016-09-03 14:33:17 -04:00
Jason R. Coombs
5d697ade21 Fix test failure on Python 2 2016-09-03 14:31:29 -04:00
Jason R. Coombs
9be618cd8c Now the various objects attributes are derived directly from the data with which they're initialized. 2016-09-03 14:21:06 -04:00
Jason R. Coombs
6abccdc728 Move Image (and Warning and Assumption) ahead of Subpod. 2016-09-03 14:13:10 -04:00
Jason R. Coombs
406967e8e1 Define subpod above pod 2016-09-03 13:54:36 -04:00
Jason R. Coombs
8ed3be43e1 models now derive from a dict (via Document), and store their content natively in self. 2016-09-03 13:43:13 -04:00
Jason R. Coombs
be0938dded Add test ensuring that the type of position is float 2016-09-03 13:32:16 -04:00
Jason R. Coombs
288b13db0f Rename node and tree to hidden _doc attributes 2016-09-03 12:57:40 -04:00
Jason R. Coombs
d4e09bb905 Convert on-object lists into properties. Add tests for these properties. 2016-09-03 12:49:33 -04:00
Jason R. Coombs
9115d23d83 Restore expectation that results can be an iterator. 2016-09-03 12:33:58 -04:00
Jason R. Coombs
7ab8e44695 Always use map from the future 2016-09-03 12:29:53 -04:00
Jason R. Coombs
946b5d1f4b Extend test to capture exactly one result with exactly one text. 2016-09-03 12:26:17 -04:00
Jason R. Coombs
14ba338b1e Restore prior expectation about Pod.text 2016-09-03 12:24:46 -04:00
Jason R. Coombs
b69b312692 urlencode requires a tuple and not an iterable. 2016-09-03 12:06:12 -04:00
Jason R. Coombs
029a0c4288 Remove key from the code. Each client must acquire their own key. 2016-09-03 12:01:16 -04:00
Jason R. Coombs
412a04b16b Rely on presence of 'error' element to detect errors. 2016-09-03 11:50:15 -04:00
Jason R. Coombs
35cc9e035d Combine error handling 2016-09-03 11:49:01 -04:00
Jason R. Coombs
760a6a6a92 Normalize docstrings per PEP 257. 2016-09-03 11:20:52 -04:00
Jason R. Coombs
bee228a1d5 Provide an interface to supply multiple parameters (even with the same name) to the query. Renamed 'query' to 'input' for clarity and to align with the API. 2016-09-03 11:18:40 -04:00
Jason R. Coombs
788746c595 Allow other query parameters to be passed 2016-09-03 11:08:41 -04:00
Jason R. Coombs
e98b5d74ca Trim whitespace 2016-09-03 11:05:48 -04:00
Isaac Smith
7d3453ec9a Grouped Pod and Subpod classes. 2016-05-14 20:19:16 -04:00
Isaac Smith
570998719b Fix unseen error.
Result of one of the previous changes. Almost didn't notice it.
2016-05-14 20:08:00 -04:00
Isaac Smith
1d8d2451bb Fix unseen error.
Praised be rubber ducky.
2016-05-14 20:00:16 -04:00
Isaac Smith
d3046c7ede Make tests reflect changes 2016-05-14 19:24:48 -04:00
Isaac Smith
a784c88fa1 Simplify naming convetion
Aligns more with the original implementation.
2016-05-14 19:23:50 -04:00
Isaac Smith
9331558340 Align with original methods
Rewrote the results method a bit so it returned something similar to the original result, which will make the transition easier.
2016-05-14 19:13:58 -04:00
Zenohm
bb3ee3cdc3 Documentation 2016-05-14 17:49:26 -04:00
Zenohm
f653d1e3a9 Consistency matters.
Redesign how information is stored and accessed. This way code can be written once. A developer using this API should not have to build contingencies just because Wolfram Alpha changes its output. The API should handle that.
These changes move the parsing of the tree out of the Wolfram API's returned XML and into Python dictionaries. This allows the full suite of tools that work with Python dictionaries to be used as well as simplifying and unifying how the responses should be handled.
In addition, I have added consistencies in certain areas that allow information to be accessed in one, unified way; regardless of how it would otherwise have been formatted by the library.
With this I want to encourage simplicity. You shouldn't have to look back through the code to figure out exactly what is being iterated over when someone decided to write iter(self) instead of simply iter(self.pods).
Also moved the Client class to the top of the file where it can be immediately seen.
2016-05-14 17:24:48 -04:00
dgw
55c362187b Switch to HTTPS API URL
This alphabet soup closes #5.
2016-04-29 07:00:55 -05:00
milek7
7c2f7ebb23 support for images 2016-01-23 13:09:26 +01:00
Jason R. Coombs
cff8e08013 Use simpler syntax now supported by pmxbot. 2016-01-18 17:02:58 -05:00
Jason R. Coombs
648a4b5aac For tests, also disable the API key. This is the API key that was seeing high usage. 2016-01-18 16:21:00 -05:00
Jason R. Coombs
5fc802f6e7 Remove hard-coded API key from the library. 2016-01-18 16:07:31 -05:00
Jason R. Coombs
2338ab2e3e Add absolute import for compatibility with Python 2.7 (even though late pmxbot only runs on Python 3). 2015-12-11 12:17:55 -05:00
Jason R. Coombs
acdfbd6593 Add pmxbot command 2015-12-10 18:34:25 -05:00
Jason R. Coombs
f72ac2074d Use six for urllib compatibility 2014-06-08 11:02:14 +01:00
Jason R. Coombs
db8b34e618 Flat better than nested 2014-06-08 11:00:14 +01:00
Jason R. Coombs
4831ebb427 Extract method 2014-06-08 10:59:50 +01:00