Coder Social home page Coder Social logo

aozora-cli's Introduction

aozorahack slack

aozorahack全般に関するissue/wiki用リポジトリです(いわゆるメタリポジトリ)。

「Code for 青空文庫」アイデアソン #1 (https://atnd.org/events/66230 ) の開催をきっかけとしてaozorahackというgithub organizationを作成しました。青空文庫とその周辺に関する技術的な情報や、コード・ドキュメント置き場として活用できればと思っています。

このリポジトリ、aozorahack/aozorahackは、aozorahackに関する情報や意見質問の集約用のリポジトリです。お気軽にご利用ください(ただ、意見や質問をいただいても返答がないこともあります。ご了承ください)。

Issues

slack

https://aozorahack.slack.com/ を作成しました。メインのやりとりはgithubで実施しますが、ブレストや雑談はslackでもできればと思っています。参加希望者は https://aozoraslackin.herokuapp.com/ からJoinしてください。

Projects

新しくプロジェクトを作りたい人は、新規プロジェクト(リポジトリ)を作るにはをご覧ください。

現在活動中のプロジェクトは以下になります。

アイデアソンで提案された「オープンソースの文書入力・校正システムを作る件について」のプロジェクトです。

  • aozoraflow - 作品をgitで管理する際の運用規約とサポートツール
  • aozora-parser.js - 青空文庫テキストのパーサ
  • hinagata - 作品パッケージの雛形
  • aozora.json - 作品メタデータのフォーマット

青空文庫の技術的な「仕様」をまとめて文書化するためのレポジトリ。今後作るものの仕様ではなく、既存の青空文庫がどうなっているかが中心です。

アイデアソンの資料置き場です。

Resources

aozora-cli's People

Contributors

dependabot[bot] avatar ksato9700 avatar takahashim avatar yasuhiroki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aozora-cli's Issues

pip installでのエラー

pipでのインストールを試みましたが、以下の様なエラーが出てしまいます。

$ pip install aozora-cli
Collecting aozora-cli
  Using cached aozora-cli-0.0.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/jj/8dwknd5x75z2g4czzvshkfwc0000gn/T/pip-build-53ydt4x7/aozora-cli/setup.py", line 7, in <module>
        import aozoracli.version
      File "/private/var/folders/jj/8dwknd5x75z2g4czzvshkfwc0000gn/T/pip-build-53ydt4x7/aozora-cli/aozoracli/__init__.py", line 1, in <module>
        from .cli import *
      File "/private/var/folders/jj/8dwknd5x75z2g4czzvshkfwc0000gn/T/pip-build-53ydt4x7/aozora-cli/aozoracli/cli.py", line 2, in <module>
        import click
    ImportError: No module named 'click'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/jj/8dwknd5x75z2g4czzvshkfwc0000gn/T/pip-build-53ydt4x7/aozora-cli/

おそらく、setup.py内でversionを参照するのにaozoracli.versionをimportしているのが原因かと思います。そのimport時に__init.py__経由でcli.pyをimportし、そこに書かれているimport clickが実行出来ずに落ちているように見えます。残念ながら install_requiresに依存関係として書いていてもダメなようです。

解決するのは、例えば

--- a/setup.py
+++ b/setup.py
@@ -4,11 +4,11 @@
 from setuptools import setup, find_packages
 import os

-import aozoracli.version
+exec(open('aozoracli/version.py').read())

 setup(
     name='aozora-cli',
-    version=aozoracli.version.__version__,
+    version=__version__,
     description='Aozora Bunko Command Line Tool',
     author='Yasuhiro Kiyota',
     author_email='[email protected]',

という形で読み込むか、setup.pyの方でversion 指定しておいて

-- a/aozoracli/version.py
+++ b/aozoracli/version.py
@@ -1 +1,3 @@
-__version__ = "0.0.1"
+import pkg_resources
+__version__ = pkg_resources.require("aozora-cli")[0].version

という形で、その情報を逆にversion.pyの方で読み込むかかなと思います。

如何でしょうか。

--output オプション

こちらも、 awscliを真似して

  • --output text
  • --output json
  • --output table

tableは不要だと思いますが...

Crash output txt option in python3

python3 で --output txt オプションを指定するとクラッシュすることがある。

$ export PYTHONPATH=.
$ python3 ./bin/aozora books --output txt
Traceback (most recent call last):
  File "./bin/aozora", line 11, in <module>
    sys.exit(main())
  File "./bin/aozora", line 8, in main
    return aozoracli.cli()
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/cli.py", line 40, in books
    _print(res, output)
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/cli.py", line 98, in _print
    output = aozoracli.output.txt.dump(res)
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/output/txt.py", line 5, in dump
    return _format_print_txt(res)
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/output/txt.py", line 9, in _format_print_txt
    return "\n".join([_to_txt(d) for d in data])
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/output/txt.py", line 9, in <listcomp>
    return "\n".join([_to_txt(d) for d in data])
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/output/txt.py", line 28, in _to_txt
    val = _to_txt(data[key])
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/output/txt.py", line 22, in _to_txt
    output += _to_txt(d)
  File "/Users/yasuhiroki/ghq/github.com/aozorahack/aozora-cli/aozoracli/output/txt.py", line 30, in _to_txt
    return " ".join(sorted_values)
TypeError: sequence item 0: expected str instance, bytes found

booksサブコマンドがCP932にエンコードできない文字があると落ちる

booksサブコマンドをWindows環境、引数なしで実行するとエラーが起きました。
エラーメッセージから、返ってきたデータ中にCP932にエンコードできない文字があって落ちたのかな、と思いました。

C:\Users\tsukamoto\temp\aozora-cli>python ./bin/aozora books
Traceback (most recent call last):
(略)
 File "C:\Users\ap745667\temp\aozora-cli\aozoracli\cli.py", line 19, in books
   'title': title,
 File "C:\Users\ap745667\temp\aozora-cli\aozoracli\books.py", line 21, in main
   print(books)
UnicodeEncodeError: 'cp932' codec can't encode character '\xd6' in position 88210: illegal multibyte sequence

Windows固有(CLIがCP932)の気もするので、後回しでいいかも。

aozora book > xxx.txt のとき エラーが発生しました

普通にターミナルで

aozora book

の時は、結果が出てくるんです。
しかし

aozora book > a.txt

で、結果を保存したいとき、ダメでした。
osは ubuntu14.04とdebian 8.6。また、pip install でインストールしたのです。

エラー:
Traceback (most recent call last):
File "/usr/local/bin/aozora", line 10, in
sys.exit(main())
File "/usr/local/bin/aozora", line 7, in main
return aozoracli.cli()
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 716, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 696, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 1060, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 889, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 534, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/aozoracli/cli.py", line 38, in books
_print(res, output)
File "/usr/local/lib/python2.7/dist-packages/aozoracli/cli.py", line 79, in _print
print(output)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 34-36: ordinal not in range(128)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.