開発環境
- macOS Sierra - Apple (OS)
- Emacs (Text Editor)
- Python 3.5 (プログラミング言語)
Exercises for Programmers: 57 Challenges to Develop Your Coding Skills (Brian P. Hogan 著、Pragmatic Bookshelf)のChapter 9(Working with External Services)、51(Pushing Notes to Firebase)を取り組んでみる。
51(Pushing Notes to Firebase)
コード(Emacs)
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys import json import datetime import firecall if len(sys.argv) < 1: print('usage: mynotes.py <command> [note]') sys.exit(1) cmd = sys.argv[1] URL = '<URL>' AUTH = '<Secret>' f = firecall.Firebase(URL, auth=AUTH) b = f.get_sync(point='/', auth=AUTH) if b == b'null': data = {} else: s = b.decode('utf-8') data = json.loads(json.loads(s)) if cmd == 'new': text = ' '.join(sys.argv[2:]) d = {datetime.datetime.now().isoformat(): text} data.update(d) s = json.dumps(data) f.put_sync(point='/', data=s, auth=AUTH, callback=lambda: print('Your note was saved')) elif cmd == 'show': for k, v in data.items(): print('{0} - {1}'.format(k[:10], v))
入出力結果(Terminal, IPython)
$ ./mynotes.py show $ ./mynotes.py new Learn how to invert binary trees $ ./mynotes.py show 2016-10-03 - Learn how to invert binary trees $ ./mynotes.py new Notetaking on the command line is cool. $ ./mynotes.py show 2016-10-03 - Notetaking on the command line is cool. 2016-10-03 - Learn how to invert binary trees $
0 コメント:
コメントを投稿