diff options
author | Vasil Zlatanov <v@skozl.com> | 2017-10-17 18:24:07 +0100 |
---|---|---|
committer | Vasil Zlatanov <v@skozl.com> | 2017-10-17 18:24:07 +0100 |
commit | 8141b4227780faddc9672041bda60d84206b8422 (patch) | |
tree | 10b8894b9718b5642baf08b66faad9b67a662042 /wolfram/lat.py | |
download | speech-8141b4227780faddc9672041bda60d84206b8422.tar.gz speech-8141b4227780faddc9672041bda60d84206b8422.tar.bz2 speech-8141b4227780faddc9672041bda60d84206b8422.zip |
make speech project public
Diffstat (limited to 'wolfram/lat.py')
-rw-r--r-- | wolfram/lat.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/wolfram/lat.py b/wolfram/lat.py new file mode 100644 index 0000000..92f31d1 --- /dev/null +++ b/wolfram/lat.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import requests +from urllib import quote_plus +import xml.etree.ElementTree as ET + +appid = 'U6E8UV-AP3QJAT6RK' + +def get_plaintext_query(latex): + r = requests.get('http://api.wolframalpha.com/v2/query?input=%s&appid=%s' % (quote_plus(latex), appid)) + root = ET.fromstring(r.text.encode('utf8')) + + for pod in root: + if pod.attrib.get('title', '') in ['Decimal approximation', 'Definite integral']: + subpod = pod.find('subpod') + result = subpod.find('plaintext').text + + if pod.attrib.get('title', '') == 'Definite integral': + return result.split('~~')[1] + else: + return result + +if __name__ == '__main__': + from sys import stdin + print get_plaintext_query(stdin.read()) |