Tanner Collin
cfc475a361
Add timeout
5 years ago
Jason R. Coombs
923b505128
Feed the hobgoblins (delint).
6 years ago
Jason R. Coombs
c66dc29876
Add tests for pmxbot command (and Result.results).
8 years ago
Jason R. Coombs
2c2ba47879
Add test for xml_bool and correct implementation, simplify by using json.
8 years ago
Jason R. Coombs
7bee559740
Rely on inheritance to handle errors in Result and Pod.
8 years ago
Jason R. Coombs
f0fc35c7c1
Simplify init in Result
8 years ago
Jason R. Coombs
5f86e5a1d6
Re-use always_iterable
8 years ago
Jason R. Coombs
e1ae854faf
Return iterables throughout for consistency.
8 years ago
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.
8 years ago
Jason R. Coombs
273cd73330
Move result after Pod
8 years ago
Jason R. Coombs
d4e3afe6b0
Use compose to generate the lists where expected
8 years ago
Jason R. Coombs
658183b56c
Move from_doc to the Document class
8 years ago
Jason R. Coombs
5d697ade21
Fix test failure on Python 2
8 years ago
Jason R. Coombs
9be618cd8c
Now the various objects attributes are derived directly from the data with which they're initialized.
8 years ago
Jason R. Coombs
6abccdc728
Move Image (and Warning and Assumption) ahead of Subpod.
8 years ago
Jason R. Coombs
406967e8e1
Define subpod above pod
8 years ago
Jason R. Coombs
8ed3be43e1
models now derive from a dict (via Document), and store their content natively in self.
8 years ago
Jason R. Coombs
be0938dded
Add test ensuring that the type of position is float
8 years ago
Jason R. Coombs
288b13db0f
Rename node and tree to hidden _doc attributes
8 years ago
Jason R. Coombs
d4e09bb905
Convert on-object lists into properties. Add tests for these properties.
8 years ago
Jason R. Coombs
9115d23d83
Restore expectation that results can be an iterator.
8 years ago
Jason R. Coombs
7ab8e44695
Always use map from the future
8 years ago
Jason R. Coombs
946b5d1f4b
Extend test to capture exactly one result with exactly one text.
8 years ago
Jason R. Coombs
14ba338b1e
Restore prior expectation about Pod.text
8 years ago
Jason R. Coombs
b69b312692
urlencode requires a tuple and not an iterable.
8 years ago
Jason R. Coombs
029a0c4288
Remove key from the code. Each client must acquire their own key.
8 years ago
Jason R. Coombs
412a04b16b
Rely on presence of 'error' element to detect errors.
8 years ago
Jason R. Coombs
35cc9e035d
Combine error handling
8 years ago
Jason R. Coombs
760a6a6a92
Normalize docstrings per PEP 257.
8 years ago
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.
8 years ago
Jason R. Coombs
788746c595
Allow other query parameters to be passed
8 years ago
Jason R. Coombs
e98b5d74ca
Trim whitespace
8 years ago
Isaac Smith
7d3453ec9a
Grouped Pod and Subpod classes.
8 years ago
Isaac Smith
570998719b
Fix unseen error.
...
Result of one of the previous changes. Almost didn't notice it.
8 years ago
Isaac Smith
1d8d2451bb
Fix unseen error.
...
Praised be rubber ducky.
8 years ago
Isaac Smith
d3046c7ede
Make tests reflect changes
8 years ago
Isaac Smith
a784c88fa1
Simplify naming convetion
...
Aligns more with the original implementation.
8 years ago
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.
8 years ago
Zenohm
bb3ee3cdc3
Documentation
8 years ago
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.
8 years ago
dgw
55c362187b
Switch to HTTPS API URL
...
This alphabet soup closes #5 .
8 years ago
milek7
7c2f7ebb23
support for images
8 years ago
Jason R. Coombs
cff8e08013
Use simpler syntax now supported by pmxbot.
8 years ago
Jason R. Coombs
648a4b5aac
For tests, also disable the API key. This is the API key that was seeing high usage.
8 years ago
Jason R. Coombs
5fc802f6e7
Remove hard-coded API key from the library.
8 years ago
Jason R. Coombs
2338ab2e3e
Add absolute import for compatibility with Python 2.7 (even though late pmxbot only runs on Python 3).
9 years ago
Jason R. Coombs
acdfbd6593
Add pmxbot command
9 years ago
Jason R. Coombs
f72ac2074d
Use six for urllib compatibility
10 years ago
Jason R. Coombs
db8b34e618
Flat better than nested
10 years ago
Jason R. Coombs
4831ebb427
Extract method
10 years ago