README.rst
.. image:: https://raw.githubusercontent.com/tubone24/ebook_homebrew/master/doc_src/logo.png
:target: https://ebook-homebrew.readthedocs.io/en/latest/
:align: center
:alt: ebook_homebrew
==============
Ebook_homebrew
==============
The ``Ebook_homebrew`` is changing file name to only digit name like ``001.jpg`` and make e-book format files.
------
.. image:: http://img.shields.io/badge/license-MIT-blue.svg?style=flat
:target: https://github.com/tubone24/ebook_homebrew/blob/master/LICENSE
.. image:: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square
:target: http://makeapullrequest.com
.. image:: http://www.repostatus.org/badges/latest/active.svg
:target: http://www.repostatus.org/#active
:alt: Project Status: Active
.. image:: https://travis-ci.org/tubone24/ebook_homebrew.svg?branch=master&logo=travis
:target: https://travis-ci.org/tubone24/ebook_homebrew
.. image:: https://codecov.io/gh/tubone24/ebook_homebrew/branch/master/graph/badge.svg
:target: https://codecov.io/gh/tubone24/ebook_homebrew
.. image:: https://api.codeclimate.com/v1/badges/a3e2d70a87998a18e225/maintainability
:target: https://codeclimate.com/github/tubone24/ebook_homebrew/maintainability
:alt: Maintainability
.. image:: https://api.codeclimate.com/v1/badges/a3e2d70a87998a18e225/test_coverage
:target: https://codeclimate.com/github/tubone24/ebook_homebrew/test_coverage
:alt: Test Coverage
.. image:: https://img.shields.io/codeclimate/tech-debt/tubone24/ebook_homebrew.svg?style=flat
:target: https://codeclimate.com/github/tubone24/ebook_homebrew/maintainability
.. image:: https://scrutinizer-ci.com/g/tubone24/ebook_homebrew/badges/quality-score.png?b=master
:target: https://scrutinizer-ci.com/g/tubone24/ebook_homebrew/?branch=master
.. image:: https://scrutinizer-ci.com/g/tubone24/ebook_homebrew/badges/code-intelligence.svg?b=master
:target: https://scrutinizer-ci.com/g/tubone24/ebook_homebrew/?branch=master
.. image:: https://ci.appveyor.com/api/projects/status/mx93pu69tqkngjxv?svg=true
:target: https://ci.appveyor.com/project/tubone24/ebook-homebrew
.. image:: https://img.shields.io/appveyor/tests/tubone24/ebook-homebrew.svg?style=flat
:target: https://ci.appveyor.com/project/tubone24/ebook-homebrew
.. image:: https://dev.azure.com/meitantei-conan/ebook_homebrew/_apis/build/status/tubone24.ebook_homebrew?branchName=master
:target: https://dev.azure.com/meitantei-conan/ebook_homebrew/_build?definitionId=1
.. image:: https://img.shields.io/azure-devops/tests/meitantei-conan/ebook_homebrew/1.svg?compact_message&style=flat
:target: https://dev.azure.com/meitantei-conan/ebook_homebrew/_build?definitionId=1
.. image:: https://api.shippable.com/projects/5c64353c33944406008b4ae8/badge?branch=master
:target: https://app.shippable.com/github/tubone24/ebook_homebrew/dashboard
.. image:: https://circleci.com/gh/tubone24/ebook_homebrew.svg?style=svg
:target: https://circleci.com/gh/tubone24/ebook_homebrew
.. image:: https://img.shields.io/lgtm/alerts/g/tubone24/ebook_homebrew.svg?logo=lgtm&logoWidth=18
:target: https://lgtm.com/projects/g/tubone24/ebook_homebrew/alerts
.. image:: https://img.shields.io/lgtm/grade/python/g/tubone24/ebook_homebrew.svg?logo=lgtm&logoWidth=18
:target: https://lgtm.com/projects/g/tubone24/ebook_homebrew/context:python
.. image:: https://www.codefactor.io/repository/github/tubone24/ebook_homebrew/badge
:target: https://www.codefactor.io/repository/github/tubone24/ebook_homebrew
:alt: CodeFactor
.. image:: https://github.com/tubone24/ebook_homebrew/workflows/Python%20package/badge.svg
:target: https://github.com/tubone24/ebook_homebrew/actions
:alt: Actions Status
.. image:: https://github.com/tubone24/ebook_homebrew/workflows/Docker%20Image%20CI/badge.svg
:target: https://github.com/tubone24/ebook_homebrew/actions
:alt: Actions Status
.. image:: https://api.codacy.com/project/badge/Grade/d25ad1bd88f24a0abfb2d801034be820
:target: https://www.codacy.com/manual/tubone24/ebook_homebrew?utm_source=github.com&utm_medium=referral&utm_content=tubone24/ebook_homebrew&utm_campaign=Badge_Grade
.. image:: https://snyk.io/test/github/tubone24/ebook_homebrew/badge.svg?targetFile=requirements.txt
:target: https://snyk.io/test/github/tubone24/ebook_homebrew?targetFile=requirements.txt
.. image:: https://readthedocs.org/projects/ebook-homebrew/badge/?version=latest
:target: https://ebook-homebrew.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/ambv/black
.. image:: https://img.shields.io/pypi/dm/ebook-homebrew.svg
:target: https://pypi.org/project/ebook-homebrew/#files
.. image:: https://img.shields.io/pypi/v/ebook-homebrew.svg
:target: https://pypi.org/project/ebook-homebrew/
:alt: Latest PyPI version
.. image:: https://img.shields.io/pypi/pyversions/ebook-homebrew.svg
:target: https://pypi.org/project/ebook-homebrew/
.. image:: https://img.shields.io/pypi/format/ebook-homebrew.svg
:target: https://pypi.org/project/ebook-homebrew/
.. image:: https://img.shields.io/gitter/room/tubone24/ebook_homebrew.svg
:target: https://gitter.im/ebook_homebrew/community#
.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg
:target: https://saythanks.io/to/tubone24
.. image:: https://beerpay.io/tubone24/ebook_homebrew/badge.svg
:target: https://beerpay.io/tubone24/ebook_homebrew
.. image:: https://dply.me/yv0jty/button/small
:target: https://dply.me/yv0jty#install
.. image:: https://img.shields.io/twitter/url/https/ebook-homebrew.herokuapp.com?style=social
:target: https://twitter.com/intent/tweet?text=LikeThis:&url=https%3A%2F%2Febook-homebrew.herokuapp.com
:alt: Twitter URL
.. image:: https://gitpitch.com/assets/badge.svg
:target: https://gitpitch.com/tubone24/ebook_homebrew/master?grs=github
:alt: GitPitch
.. image:: https://dockeri.co/image/tubone24/ebook-homebrew
:target: https://cloud.docker.com/repository/docker/tubone24/ebook-homebrew
:alt: dockerhub
.. image:: https://www.herokucdn.com/deploy/button.png
:target: https://heroku.com/deploy
:alt: Deploy to Heroku
.. image:: https://azuredeploy.net/deploybutton.png
:target: https://azuredeploy.net/?repository=https://github.com/tubone24/ebook_homebrew
:alt: Deploy to Azure
ebook_homebrew is command line interface which change file name to only digit name like 001.jpg and make e-book format files.
Getting Started
===============
The Ebook_homebrew is a python package, so that you can use ``setup.py`` or ``pip`` installer.
Using setup.py
--------------
.. code-block:: bash
$ python setup.py install
Or using pip installer
----------------------
.. code-block:: bash
$ pip install ebook-homebrew
Usage
=====
You can use global command ``ebookhomebrew`` .
Show help.
.. code-block:: bash
$ ebookhomebrew -h
Ex1) Rename image file to only digit and Create PDF file.
.. code-block:: bash
$ ebookhomebrew auto -s ./tests -d 3,4 -e jpg -f test.pdf
Ex2) Run Rest API Server for converting pdf from images.
.. code-block:: bash
$ ebookhomebrew api -p 8080
ebookhomebrew command line interface
------------------------------------
You can use ebookhomebrew command line interface.
Subcommands
^^^^^^^^^^^
.. code-block:: bash
Choose subcommands. Usually choose "auto"
{auto,api,makezip}
auto Make only digit file name, convert e-book file such as PDF
api Provides Rest API interfaces
makezip Make zip file for adding specify extension files.
Options auto
^^^^^^^^^^^^
.. code-block:: bash
-h, --help show this help message and exit
-s SRC_DIR, --src_dir SRC_DIR
Source directory which put original image files.
--dst_dir DST_DIR Destination directory which put e-book file.
-d N,N, --digit N,N Serial number digits you remain file name
-e EXT, --extension EXT
Destination directory which put e-book file.
-f FILENAME, --filename FILENAME
Destination directory which put e-book file.
-m, --manual Duplicate file name, solving manually.
-r, --remove Remove original image file.
-y, --assume_yes no verify users.
Options api
^^^^^^^^^^^
.. code-block:: bash
optional arguments:
-h, --help show this help message and exit
-p PORT, --port PORT API Server Port
Testing
=======
Unit Test
---------
Using pytest, if you want to test.
.. code-block:: bash
$ pytest
If you get coverage report, run coverage and report.
.. code-block:: bash
$ coverage run --source=ebook_homebrew -m pytest
$ coverage report -m
Or pytest-cov param for pytest
.. code-block:: bash
$ pytest --cov=ebook_homebrew --cov-report html --cov-report xml
Integration Test
----------------
Using pytest, if you want to test with mark "--it"
.. code-block:: bash
$ pytest --it
With tox
--------
With tox, you can test multiple python version.(only python3.5, 3.6)
.. code-block:: bash
$ tox
CI/CD
-----
This Repo is studies repo which CI/CD Config by tubone.
Check config on this repo!
Travis-CI
^^^^^^^^^
This repository uses `Travis-CI <https://travis-ci.org/tubone24/ebook_homebrew/>`_ and be building jobs by push or PR branches.
Codecov
^^^^^^^
Also you can check coverage with `Codecov <https://codecov.io/gh/tubone24/ebook_homebrew>`_
CodeClimate
^^^^^^^^^^^
You can check the code maintainability, smells and technical debt with `CodeClimate <https://codeclimate.com/github/tubone24/ebook_homebrew>`_
Scrutinizer
^^^^^^^^^^^
`Scrutinizer <https://scrutinizer-ci.com/g/tubone24/ebook_homebrew/?branch=master>`_ is the CI which build app and check code quality
Appveyor
^^^^^^^^
`Appveyor <https://ci.appveyor.com/project/tubone24/ebook-homebrew>`_ is the CI which use Windows Platform and Push the artifacts to `PyPI <https://pypi.org/project/ebook-homebrew/>`_
Azure Pipelines
^^^^^^^^^^^^^^^
This repo use `Azure Dev Ops Azure Pipelines <https://dev.azure.com/meitantei-conan/ebook_homebrew/_build?definitionId=1>`_ with platform MacOS.
Shippable
^^^^^^^^^
`Shippable <https://app.shippable.com/github/tubone24/ebook_homebrew/dashboard>`_ is the CI use Docker containers.
CircleCI
^^^^^^^^
`CircleCI <https://circleci.com/gh/tubone24/ebook_homebrew>`_ is the great CI which can use selenium (not use selenium test in this repo but use `ebook-homebrew-vue-typescript-client <https://github.com/tubone24/ebook-homebrew-vue-typescript-client>`_).
LGTM
^^^^
`LGTM <https://lgtm.com/projects/g/tubone24/ebook_homebrew/alerts>`_ is code smells check.
Snyk
^^^^
`Snyk <https://snyk.io/test/github/tubone24/ebook_homebrew?targetFile=requirements.txt>`_ is fix and prevent vulnerabilities in this code.
Readthedocs
^^^^^^^^^^^
This repo use `ReadTheDocs <https://ebook-homebrew.readthedocs.io/en/latest/?badge=latest>`_ by Docs.
DockerHub
^^^^^^^^^
Push master branch, build docker container with `DockerHub <https://cloud.docker.com/u/tubone24/repository/docker/tubone24/ebook-homebrew>`_
Examples
========
Stand Alone Web GUI
-------------------
Stand alone Web GUI. Such as `Create PDF from your images <examples/web_gui/>`_ by using Flask.
Command Line Tools with using Rest API
--------------------------------------
Command Line Tools which client app for REST API.
`Client App with ebook-homebrew's rest API <https://github.com/tubone24/ebook_homebrew/tree/master/examples/use_rest_api>`_
Vue.js Frontend App
-------------------
Using Vue.js, Call REST API.
`ebook-homebrew-vue-client (deprecated) <https://github.com/tubone24/ebook-homebrew-vue-client>`_
`ebook-homebrew-vue-typescript-client <https://github.com/tubone24/ebook-homebrew-vue-typescript-client>`_
Rust Command Line Client
------------------------
Using Rust, Call REST API by CLI
`ebook-homebrew-rust-client <https://github.com/tubone24/ebook-homebrew-rust-client>`_
Deploy API to Heroku
====================
Deploy Ebook-homebrew to Heroku app.
Push a button below.
.. image:: https://www.herokucdn.com/deploy/button.png
:target: https://heroku.com/deploy
:alt: Deploy to Heroku
DEMOS
=====
REST API
--------
The ebook-homebrew REST API DEMO is deploy to Heroku.
`https://ebook-homebrew.herokuapp.com/ <https://ebook-homebrew.herokuapp.com/>`_
`REST API DOCS (OPENAPI) <https://ebook-homebrew.herokuapp.com/docs>`_
With Vue.js Front
-----------------
Using Vue.js, Call REST API DEMO App, deploy to Heroku.
`https://ebook-homebrew.herokuapp.com/#/sample <https://ebook-homebrew.herokuapp.com/#/sample>`_
With Flutter Android App
------------------------
Using Flutter, Call REST API DEMO Android App, deploy to Deploygate. Try me!
.. image:: https://dply.me/yv0jty/button/large
:target: https://dply.me/yv0jty#install
:alt: Try it on your device via DeployGate
And also, you can download to `Google Play <https://play.google.com/store/apps/details?id=com.tubone.ebook_homebrew_flutter>`_
GitPitch
========
Ebook Homebrew presentation is made in GitPitch.
`GitPitch <https://gitpitch.com/tubone24/ebook_homebrew/master?grs=github>`_
Licence
=======
This software is released under the MIT License, see LICENSE.
API Document
============
The `Document <https://ebook-homebrew.readthedocs.io/en/latest/>`_ write by Sphinx.