:rocket: A minimalist comic reader

Overview



Pynocchio

A minimalist comic reader

TravisCI Coveralls Github All Releases Release Ratings

Features | Installation | Contributing | Credits

Pynocchio Comic Reader - Main Screen

Features

The current version is stable and we intend to improve it even more.

  • Support several view adjust modes using anti-aliasing.
  • Support the several image formats provide by Qt5: WEBP, JPG, JPEG, PNG, GIF, BMP, PBM, PGM, PPM, XBM, XPM.
  • Support a several comic formats like .ZIP, .RAR, .TAR, .CBT, .CBR, .CBZ.
  • Double page and manga read mode
  • Elegant visual, free and easy to use! :)

Installation

Please, download the latest release here, in Linux Apps.

Contributing

If you'd like to contribute, please see CONTRIBUTING.md.

Credits

Third party resources

Pynocchio use Elementary USU Icon Theme icon set free pack.

Copyright (C) 2014-2020 by Michell Stuttgart

Comments
  • Add log message in Pynocchio core functions

    Add log message in Pynocchio core functions

    Pynocchio install instructions: https://github.com/pynocchio/pynocchio/wiki/Contributing

    Add log to follow core functions:

    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/comic_file_loader.py
    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/comic_file_loader_factory.py
    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/comic_file_loader_image.py
    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/comic_file_loader_rar.py
    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/comic_file_loader_tar.py
    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/comic_file_loader_zip.py
    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/main_window_view.py#L79
    • [x] https://github.com/pynocchio/pynocchio/blob/develop/pynocchio/main_window_view.py#L56
    Category: Backend Priority: High Type: Improvement 
    opened by mstuttgart 8
  • Usability changes and thumbnails

    Usability changes and thumbnails

    Many small changes that I found necessary and hopefully others will find useful or nice:

    • Make qdarkgraystyle optional (I don't call it "elegant" when it doesn't follow my desktop's style).

    • Show original image size in status bar (in brackets).

    • Properly resize the image when toggling toolbar, etc.

    • Flip pages with mouse wheel.

    • Let the user choose whether next/prev page should go to next/prev file.

    • Add a "page fit" option. I would actually call this "best fit", I don't see the point in the current "best fit", that's simply an unconditional fit to 80% window width.

    • Show scrollbars if the page does not fit the window, and take them into account when resizing.

    • Esc returns from fullscreen, and window size is restored (rather than forcing it maximized).

    • Save/restore settings and window size.

    • Add context (right click) menu and enable shortcuts in fullscreen.

    • Dockable thumbnails view.

    • Restore last page (bookmarked) also when loading from command line.

    • Allow loading a directory from command line.

    Category: Backend Stage: Review Type: Improvement 
    opened by Jellby 5
  • Remove landscape failures

    Remove landscape failures

    PR for removing some of the code health failures from Landscape:

    • use new-style classes
    • specify string format arguments as logging function parameters
    • remove deprecated load_stylesheet_pyqt5 and replace with load_stylesheet
    Type: Improvement 
    opened by syre 5
  • Translations not updated

    Translations not updated

    Prior to version 3 I updated the Spanish translation file i18n/es.ts, but the actual resource file (pynocchio/locale/es.qm) was not updated.

    I could do it, but maybe you want to re-generate for all languages. And update the version number in data/others/about.html. And fix or figure out why the translated version of this file that I provided is not being used.

    Type: Bug 
    opened by Jellby 4
  • Upload to pypi

    Upload to pypi

    Just a suggestion: upload the package to pypi, so it's installable with pip. It might need renaming, since https://pypi.org/project/pynocchio/ is something else.

    opened by Jellby 3
  • Replace code in travis.yml

    Replace code in travis.yml

    Replace the follow code:

      api_key:
         secure: FbZOk633cPQK70SwNHV29vddB48pQhZYXK6tBi6rNOQFCmtsRltiAZx1mn9cBA89yYcbiEGi8SKNTUKFAOtn8xsftXtRQbh7NLH+1S1rXoFLTKqd/e2K8V+I3qPnSIflXgw4jipkVJEtaTnYjjM39Dd9LYVlOfzTdDS3gePGOGKvLIx+T7nmzNTfPb/jVmBo9d68vlcMvDApMcocURXXHPK2Yoz4cjfGU1s674GOycoPPxE0Ovmdhj/PHLYqnSL0Q78UQ9luL8q6Lv15PeDKynpsi5ajm6p8p7DKp6ilvwWN+iKZA9ged8E8FbA7eLu3DA3pPmghph0dlRpYwbanosccTlbeFrNM6p3s6huxUzHt6Fkdzk5ubtz30FkA0LzvxwxOn6u1W4iTTI1Z1p07SpoyNrRw8wZY/hqcPkD+rDhQX1jmxfzaro8M0QRZ92cOI1nX3N8HRwMTZ2o+vMvaTvmHglfLN1aTpm3z/Pbp2gqj/uxE1aQlXKc3b+V5cGCEmsJKNp3TFhKyRdI7pMNF6E+vWfOLjTjif6h8Vy4nYkCX0C5h8eVmL6y8qfVMS1yATAM8B8K1dXvP3JaDKJoNUvH3VHgH/AxZGYHgycObU7GVUc/XhpCErBuMv1JZmLYE3tEGVFpt93RX2/MVmO8yp7/X6hxeIvfpsFUp2yk1q6k=
    

    by

    api_key: $GITHUB_OAUTH_TOKEN
    

    in .travis.yml file.

    Type: Improvement hacktoberfest 
    opened by mstuttgart 3
  • Unhardcode icon file type for Linux launcher

    Unhardcode icon file type for Linux launcher

    Since the icon already is installed to a location compliant with freedesktop.org standards you don't need to specify the full icon path or the file type extension in the launcher. The icon will be found anyway.

    Cf. this example .desktop launcher presented in the freedesktop.org documentation.

    opened by palob 2
  • add warning when recent comic does not exist

    add warning when recent comic does not exist

    hey @mstuttgart,

    I have created this PR for showing a warning dialog when a recent file cannot be opened for #82 , it's been a long time since i've used Qt so perhaps you can give me some pointers on my work so far?

    Type: Bug 
    opened by syre 2
  • Error when loading not found file

    Error when loading not found file

    I'm getting this error when trying to load a file that is not found:

    ERROR:pynocchio.main_window_model:Error in load comic! 'File not loaded'
    Traceback (most recent call last):
      File "/home/syre/pynocchio/pynocchio/main_window_model.py", line 65, in load
        loader.load(filename)
      File "/home/syre/pynocchio/pynocchio/comic_file_loader_zip.py", line 72, in load
        raise NoDataFindException(message)
    pynocchio.exception.NoDataFindException: 'File not loaded'
    QIODevice::read (QFile, ":/icons/notCover.png"): device not open
    

    does the notCover.png refer to an image previously found?

    Stage: Backlog Type: Bug 
    opened by syre 1
  • Added CB7 compatibility

    Added CB7 compatibility

    Added CB7 compatibility by using the 7z program. I still need to update the docs as to that new requirement.

    I added the file:

    • comic_file_loader_7z.py

    and modified the following:

    • main_window_view.py, on line 72
    • comic_file_loader_factory.py, on lines 9, 31 and 32

    close https://github.com/pynocchio/pynocchio/issues/73

    Category: Backend Type: Improvement Type: New feature 
    opened by pandeazucar 1
  • Cannot be sent to background

    Cannot be sent to background

    If starting pynocchio from the command line, it cannot be suspended and sent to the background (Ctrl+Z, bg), as it leaves the python environment in a nonresponsive state, which has to be killed manually. Starting it directly to the background (pynocchio ... &) works, though.

    Type: Bug 
    opened by Jellby 0
Releases(3.2.2)
Simple Python package to convert an image into a quantized image using a customizable palette

Simple Python package to convert an image into a quantized image using a customizable palette. Resulting image can be displayed by ePaper displays such as Waveshare displays.

Luis Obis 3 Apr 13, 2022
Change the image one color channel at a time.

Building-a-Contact-Sheet This hands-on Project is in Python 3 Programming Specialization offered by University of Michigan via Coursera. change the im

Eszter Pai 1 Jan 03, 2022
A 3D structural engineering finite element library for Python.

An easy to use elastic 3D structural engineering finite element analysis library for Python.

Craig 220 Dec 27, 2022
Pnuemonia Normal detection by using XRay images.

Pnuemonia Normal detection by using XRay images. Got image datas from kaggle(link is given in sources.txt file) also normal xray images from other site (also link is given) in order to avoid data dis

Zarina 1 Feb 28, 2022
GTK and Python based, simple multiple image editor tool

System Monitoring Center GTK3 and Python3 based, simple multiple image editor tool. Note: Development of this application is not completed yet. The ap

Hakan Dündar 1 Feb 02, 2022
Combinatorial image generator for generative NFT art.

ImageGen Stitches multiple image layers together into one image. Run usage: stitch.py [-h] backgrounds_dir dinos_dir traits_dir texture_file

Dinosols NFT 19 Sep 16, 2022
Rotates your images in the spirit of rot13

Image Rotator (imrot10) Its like rot13 but for images. Calling the algorithm imrot10 for im = image, rot = rotation, 10 = default magnitude. Unfortuna

Sarah 2 Dec 10, 2021
DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics

DrawBot is a powerful, free application for macOS that invites you to write Python scripts to generate two-dimensional graphics.

Frederik Berlaen 344 Jan 06, 2023
A tool for making simple-style text posters or wallpapers with high resolution.

PurePoster PurePoster is a fancy tool for making arbitrary-resolution, simple-style posters or wallpapers with text in center. Functionality PurePoste

Renyang Guan 4 Jul 09, 2022
Find target hash collisions for Apple's NeuralHash perceptual hash function.💣

neural-hash-collider Find target hash collisions for Apple's NeuralHash perceptual hash function. For example, starting from a picture of this cat, we

Anish Athalye 630 Jan 01, 2023
A ray tracing render implemented using Taichi language.

A ray tracing render implemented using Taichi language.

Mingrui Zhang 45 Oct 23, 2022
Samila is a generative art generator written in Python

Samila is a generative art generator written in Python, Samila let's you create arts based on many thousand points. The position of every single point is calculated by a formula, which has random par

Sepand Haghighi 947 Dec 30, 2022
The coolest python qrcode maker for small businesses.

QR.ify The coolest python qrcode maker for small businesses. Author Zach Yusuf Project description Python final project. Built to test python skills P

zachystuff 2 Jan 14, 2022
Simple to use image handler for python sqlite3.

SQLite Image Handler Simple to use image handler for python sqlite3. Functions Function Name Parameters Returns init databasePath : str tableName : st

Mustafa Ozan Çetin 7 Sep 16, 2022
A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for quickly creating new images from the one assigned to the field.

django-versatileimagefield A drop-in replacement for django's ImageField that provides a flexible, intuitive and easily-extensible interface for creat

Jonathan Ellenberger 490 Dec 13, 2022
👷 Build images with images

👷 Build images with images. About Tiler is a tool to create an image using all kinds of other smaller images (tiles). It is different from other mosa

5.5k Jan 03, 2023
Easy to use Python module to extract Exif metadata from digital image files.

Easy to use Python module to extract Exif metadata from digital image files.

ianaré sévi 719 Jan 05, 2023
🖼️ Draw Images or GIFs in your terminal

Drawitor Draw Images/GIFs in your terminal. Install pip install drawitor CLI Tool drawitor cat_dancing.gif Library The library is written in a simple

Eliaz Bobadilla 7 Dec 15, 2022
Docbarcodes extracts 1D and 2D barcodes from scanned PDF documents or images. It can be used to automate extraction and processing of all kind of documents.

Intro Barcodes are being used in many documents or forms to enable machine reading capabilities and reduce manual processing effort. Simple 1D barcode

Arlind Nocaj 3 Jun 18, 2022
Script for the creation of metadatas and the randomization of images of MekaVerse

MekaVerse-random Script for the creation of metadata and the randomization of images of MekaVerse Step to replay the random : Create a folder : output

Miinded 8 Sep 07, 2022