mirror of
https://github.com/void-linux/void-packages.git
synced 2025-09-01 01:22:55 +02:00
epy: fix no imghdr
This commit is contained in:
parent
3065cf7751
commit
b21778df87
2 changed files with 55 additions and 1 deletions
54
srcpkgs/epy/patches/no-imghdr.patch
Normal file
54
srcpkgs/epy/patches/no-imghdr.patch
Normal file
|
@ -0,0 +1,54 @@
|
|||
--- a/pyproject.toml
|
||||
+++ b/pyproject.toml
|
||||
@@ -17,6 +17,7 @@ epy = "epy_reader.__main__:main"
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.8"
|
||||
windows-curses = { version = "*", markers = "platform_system == 'Windows'" }
|
||||
+magic = { version = "*" }
|
||||
|
||||
[tool.poetry.dev-dependencies]
|
||||
pynvim = "^0.4.3"
|
||||
--- a/src/epy_reader/tools/KindleUnpack/mobi_cover.py
|
||||
+++ b/src/epy_reader/tools/KindleUnpack/mobi_cover.py
|
||||
@@ -8,7 +8,7 @@ from .compatibility_utils import unicode
|
||||
|
||||
from .unipath import pathof
|
||||
import os
|
||||
-import imghdr
|
||||
+import magic
|
||||
|
||||
import struct
|
||||
# note: struct pack, unpack, unpack_from all require bytestring format
|
||||
@@ -34,24 +34,14 @@ MAX_HEIGHT = 4096
|
||||
|
||||
|
||||
def get_image_type(imgname, imgdata=None):
|
||||
- imgtype = unicode_str(imghdr.what(pathof(imgname), imgdata))
|
||||
-
|
||||
- # imghdr only checks for JFIF or Exif JPEG files. Apparently, there are some
|
||||
- # with only the magic JPEG bytes out there...
|
||||
- # ImageMagick handles those, so, do it too.
|
||||
- if imgtype is None:
|
||||
- if imgdata is None:
|
||||
- with open(pathof(imgname), 'rb') as f:
|
||||
- imgdata = f.read()
|
||||
- if imgdata[0:2] == b'\xFF\xD8':
|
||||
- # Get last non-null bytes
|
||||
- last = len(imgdata)
|
||||
- while (imgdata[last-1:last] == b'\x00'):
|
||||
- last-=1
|
||||
- # Be extra safe, check the trailing bytes, too.
|
||||
- if imgdata[last-2:last] == b'\xFF\xD9':
|
||||
- imgtype = "jpeg"
|
||||
- return imgtype
|
||||
+ mime = None
|
||||
+ if imgname:
|
||||
+ mime = magic.from_file(pathof(imgname), mime=True)
|
||||
+ if not mime and imgdata:
|
||||
+ mime = magic.from_buffer(imgdata, mime=True)
|
||||
+ if mime and mime.startswith('image/'):
|
||||
+ return mime.removeprefix('image/')
|
||||
+ return None
|
||||
|
||||
|
||||
def get_image_size(imgname, imgdata=None):
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'epy'
|
||||
pkgname=epy
|
||||
version=2023.6.11
|
||||
revision=3
|
||||
revision=4
|
||||
build_style=python3-pep517
|
||||
hostmakedepends="python3-poetry-core"
|
||||
depends="python3"
|
||||
|
|
Loading…
Add table
Reference in a new issue