Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Eelで作ってみる WHOISアプリと スライド

252e6c31a6452aa80deb9ad0107975c7?s=47 attakei
February 07, 2018

Eelで作ってみる WHOISアプリと スライド

みんなのPython勉強会#32で発表したLTのスライドです

252e6c31a6452aa80deb9ad0107975c7?s=128

attakei

February 07, 2018
Tweet

More Decks by attakei

Other Decks in Programming

Transcript

  1. Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる Eelで作ってみる WHOISアプリと WHOISアプリと WHOISアプリと WHOISアプリと

    WHOISアプリと WHOISアプリと スライド スライド スライド スライド スライド スライド @attakei みんなのPython勉強会 / 2018-02-07
  2. Kazuya Takei @attakei 個人扱い(電撃的にLTしてるので) 中央区でサーバサイド寄りエンジニアしてます 誰?

  3. Eel A little Python library for making simple Electron-like HTML/JS

    GUI apps
  4. 現在のバージョンは、0.9.1 2017年末ぐらいに公開された模様 1756 Stars 何するやつか Electron的なアプリをPythonで作るライブラリ メイン処理的な部分を、Pythonで書けるっぽい その他 What is

    Eel https://github.com/ChrisKnott/Eel 今月の頭に、MOONGIFTで紹介されていました。
  5. Demo Demo Demo Demo Demo Demo

  6. WHOIS Zone 調べる

  7. デモ中身 デモ中身 デモ中身 デモ中身 デモ中身 デモ中身

  8. Python side import eel from whois import whois @eel.expose #

    <-- def get_whois(zone): w = whois(zone) return str(w) eel.init('web') eel.start('slide.html')
  9. JS side <script type="text/javascript" src="/eel.js"></script> document.getElementById('demo-zone-btn').addEventListener('click', () => { var

    val = document.getElementById('demo-whois-input').value; eel.get_whois(val); // <-- Python let register = await eel.get_whois(val)(); document.getElementById('demo-zone-output').innerText = register; });
  10. __init__.py browsers.py ちょっとだけEelの中身 import bottle as btl, bottle.ext.websocket as wbs

    import eel.browsers as brw def start(*start_urls, **kwargs): # ( ) brw.open(start_urls, options) run_lambda = lambda: btl.run(host=options['host'], port=options['port'], serv # ( ) import webbrowser as wbr, sys, subprocess as sps, os # ( ) def open(start_pages, options): # ( ) sps.Popen( [chrome_path, '--app=%s' % url] + options['chromeFlags'], stdout=sps.PIPE, stderr=sps.PIPE) # ( )
  11. bottle

  12. Pros コアな処理をPythonで書ける そして表現をHTMLで書ける Cons デフォルトのChromeを呼び出すのでChromeのインストール 必須 例えば呼び出し時に、Chrome Portableにすれば? macだと、閉じてもChromeが残る ???s

    ウィンドウを複数立ち上げて協調動作させられる可能性 Pros/Cons
  13. おまけ ちなみに イールとは ウナギのことだ カバヤキにすると うまいぞ。

  14. 〜 終 〜 〜 終 〜 〜 終 〜 〜

    終 〜 〜 終 〜 〜 終 〜 ご清聴ありがとうございました