/ebook_homebrew

Change file name to only digit name like 001.jpg and make e-book format files.

Primary LanguagePythonMIT LicenseMIT

ebook_homebrew

Ebook_homebrew

The Ebook_homebrew is changing file name to only digit name like 001.jpg and make e-book format files.


http://img.shields.io/badge/license-MIT-blue.svg?style=flat https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square Project Status: Active https://travis-ci.org/tubone24/ebook_homebrew.svg?branch=master&logo=travis Maintainability Test Coverage https://img.shields.io/codeclimate/tech-debt/tubone24/ebook_homebrew.svg?style=flat https://scrutinizer-ci.com/g/tubone24/ebook_homebrew/badges/quality-score.png?b=master https://scrutinizer-ci.com/g/tubone24/ebook_homebrew/badges/code-intelligence.svg?b=master https://ci.appveyor.com/api/projects/status/mx93pu69tqkngjxv?svg=true https://img.shields.io/appveyor/tests/tubone24/ebook-homebrew.svg?style=flat https://dev.azure.com/meitantei-conan/ebook_homebrew/_apis/build/status/tubone24.ebook_homebrew?branchName=master https://img.shields.io/azure-devops/tests/meitantei-conan/ebook_homebrew/1.svg?compact_message&style=flat https://api.shippable.com/projects/5c64353c33944406008b4ae8/badge?branch=master https://circleci.com/gh/tubone24/ebook_homebrew.svg?style=svg https://img.shields.io/lgtm/alerts/g/tubone24/ebook_homebrew.svg?logo=lgtm&logoWidth=18 https://img.shields.io/lgtm/grade/python/g/tubone24/ebook_homebrew.svg?logo=lgtm&logoWidth=18 CodeFactor Actions Status Actions Status https://api.codacy.com/project/badge/Grade/d25ad1bd88f24a0abfb2d801034be820 https://snyk.io/test/github/tubone24/ebook_homebrew/badge.svg?targetFile=requirements.txt Documentation Status Latest PyPI version https://dply.me/yv0jty/button/small Twitter URL GitPitch dockerhub Deploy to Heroku 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

$ python setup.py install

Or using pip installer

$ pip install ebook-homebrew

Usage

You can use global command ebookhomebrew .

Show help.

$ ebookhomebrew -h

Ex1) Rename image file to only digit and Create PDF file.

$ ebookhomebrew auto -s ./tests -d 3,4 -e jpg -f test.pdf

Ex2) Run Rest API Server for converting pdf from images.

$ ebookhomebrew api -p 8080

ebookhomebrew command line interface

You can use ebookhomebrew command line interface.

Subcommands
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
-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
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.

$ pytest

If you get coverage report, run coverage and report.

$ coverage run --source=ebook_homebrew -m pytest
$ coverage report -m

Or pytest-cov param for pytest

$ pytest --cov=ebook_homebrew --cov-report html --cov-report xml

Integration Test

Using pytest, if you want to test with mark "--it"

$ pytest --it

With tox

With tox, you can test multiple python version.(only python3.5, 3.6)

$ 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 and be building jobs by push or PR branches.

Codecov

Also you can check coverage with Codecov

CodeClimate

You can check the code maintainability, smells and technical debt with CodeClimate

Scrutinizer

Scrutinizer is the CI which build app and check code quality

Appveyor

Appveyor is the CI which use Windows Platform and Push the artifacts to PyPI

Azure Pipelines

This repo use Azure Dev Ops Azure Pipelines with platform MacOS.

Shippable

Shippable is the CI use Docker containers.

CircleCI

CircleCI is the great CI which can use selenium (not use selenium test in this repo but use ebook-homebrew-vue-typescript-client).

LGTM

LGTM is code smells check.

Snyk

Snyk is fix and prevent vulnerabilities in this code.

Readthedocs

This repo use ReadTheDocs by Docs.

DockerHub

Push master branch, build docker container with DockerHub

Examples

Stand Alone Web GUI

Stand alone Web GUI. Such as Create PDF from your images 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

Vue.js Frontend App

Using Vue.js, Call REST API.

ebook-homebrew-vue-client (deprecated)

ebook-homebrew-vue-typescript-client

Rust Command Line Client

Using Rust, Call REST API by CLI

ebook-homebrew-rust-client

Deploy API to Heroku

Deploy Ebook-homebrew to Heroku app.

Push a button below.

Deploy to Heroku

DEMOS

REST API

The ebook-homebrew REST API DEMO is deploy to Heroku.

https://ebook-homebrew.herokuapp.com/

REST API DOCS (OPENAPI)

With Vue.js Front

Using Vue.js, Call REST API DEMO App, deploy to Heroku.

https://ebook-homebrew.herokuapp.com/#/sample

With Flutter Android App

Using Flutter, Call REST API DEMO Android App, deploy to Deploygate. Try me!

Try it on your device via DeployGate

And also, you can download to Google Play

GitPitch

Ebook Homebrew presentation is made in GitPitch.

GitPitch

Licence

This software is released under the MIT License, see LICENSE.

API Document

The Document write by Sphinx.