Coder Social home page Coder Social logo

dvtag's People

Contributors

nobekanai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

dvtag's Issues

无法打TAG (Max retries exceeded with url)

本地使用V2ray全局代理,chrome可以访问dlsite,之前还是正常的,今天对本地19个音声批量wav 转flac并打tag,出现了这个问题

尝试过关掉代理,就会得到以下错误
2022-08-17 Wed 15:45:10 - WARNING - Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001B4194B3D00>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')': /maniax/product/info/ajax?product_id=RJ393180

大佬带带我,为啥会有这个问题

环境

Python 3.9.7
pip 22.2.2 
dvtag 0.4.4
requests 2.28.1
pyOpenSSL 22.0.0

错误代码

dvtag -w2f ./

2022-08-17 Wed 15:31:06 - WARNING - Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /maniax/product/info/ajax?product_id=RJ393180
2022-08-17 Wed 15:31:06 - WARNING - Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /maniax/product/info/ajax?product_id=RJ393180
2022-08-17 Wed 15:31:06 - WARNING - Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /maniax/product/info/ajax?product_id=RJ393180
2022-08-17 Wed 15:31:06 - WARNING - Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /maniax/product/info/ajax?product_id=RJ393180
2022-08-17 Wed 15:31:06 - WARNING - Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /maniax/product/info/ajax?product_id=RJ393180
Traceback (most recent call last):
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 700, in urlopen
    self._prepare_proxy(conn)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 996, in _prepare_proxy
    conn.connect()
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 364, in connect
    self.sock = conn = self._connect_tls_proxy(hostname, conn)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connection.py", line 499, in _connect_tls_proxy
    socket = ssl_wrap_socket(
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\ssl_.py", line 453, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 1040, in _create
    self.do_handshake()
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1129)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\adapters.py", line 489, in send
    resp = conn.urlopen(
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 815, in urlopen
    return self.urlopen(
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 815, in urlopen
    return self.urlopen(
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 815, in urlopen
    return self.urlopen(
  [Previous line repeated 2 more times]
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.dlsite.com', port=443): Max retries exceeded with url: /maniax/product/info/ajax?product_id=RJ393180 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\Scripts\dvtag.exe\__main__.py", line 7, in <module>
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\main.py", line 41, in main
    start(path, args.w2f, args.w2m)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\main.py", line 25, in start
    start(file, w2f, w2m)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\main.py", line 19, in start
    tag(dirpath)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\dvtag\dvtag.py", line 71, in tag
    dv = DoujinVoice(rjid)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\dvtag\doujinvoice.py", line 23, in __init__
    self._init_metadata()
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\dvtag\doujinvoice.py", line 55, in _init_metadata
    rsp = session.get("https://www.dlsite.com/maniax/product/info/ajax?product_id=" + self.rjid)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 600, in get
    return self.request("GET", url, **kwargs)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\adapters.py", line 563, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='www.dlsite.com', port=443): Max retries exceeded with url: /maniax/product/info/ajax?product_id=RJ393180 (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)')))

希望加入重试机制

因为经常tag到一半, 就提示远程服务器已断开连接, 然后又得重新打一次, 数量一多就不知道打的进度了.

Storing the metadata to local files

Can we add an optional argument to dvtag to store the metadata locally? I.e., storing the cover art as folder.jpg or cover.jpg, and storing other metadata in an album.nfo file.

It will enable Media servers like Emby, Jellyfin, Kodi, etc. to handle wav files (and other types of files) without needing to convert them to a different format.

封面裁剪问题

本人在使用dvtag打标签的时候,发现部分封面是裁剪过的,问题是有的作品会把封面上的标题也裁掉,看起来就不那么美观了。可以添加一个选项保持原来的封面吗?感谢。

希望转码能保留源文件

源文件的wav我想留着,希望可以选择是否保留源文件。
并且转码后的路径希望能够自定义,一般来说我本地会是 " \ASMR\RJXXXXXX?????\wav\01_???.wav" 这种格式,我个人希望是转码后放到 " \ASMR\RJXXXXXX?????\flac\01_???.flac" 或者 " \ASMR\RJXXXXXX?????\wav\flac\01_???.flac" 这样的路径下。

Error writing to CMYK images

If the image on dlsite is in CMYK format, then an error occurs when writing the image.

OSError: cannot write mode CMYK as PNG

I handled this locally, adding code to convert CMYK images to RGB images in utils.py

def get_png_byte_arr(im: Image.Image) -> BytesIO:
    if im.mode == 'CMYK':
        im = im.convert('RGB')
    img_byte_arr = io.BytesIO()
    im.save(img_byte_arr, "png")
    return img_byte_arr

Hope you can also fix the bugs in the github code to avoid similar problems when others use it.
Your code is very useful and convenient. Thank you.

运行时报错

报错

Traceback (most recent call last):
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, in run_code
exec(code, run_globals)
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\Scripts\dvtag.exe_main
.py", line 7, in
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\main.py", line 44, in main
start(path, args.w2f, args.w2m)
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\main.py", line 25, in start
start(file, w2f, w2m)
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\main.py", line 19, in start
tag(dirpath)
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\dvtag\dvtag.py", line 76, in tag
dv = DoujinVoice(rjid)
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\dvtag\doujinvoice.py", line 23, in init
self._init_metadata()
File "C:\Users\qq287\AppData\Local\Programs\Python\Python39\lib\site-packages\dvtag\doujinvoice.py", line 62, in _init_metadata
json_data = rsp.json()[self.rjid]
TypeError: list indices must be integers or slices, not str

目录

├── 1
│ ├── RJ397140

执行命令

dvtag -w2f ./

在执行完wav转flac后,应该是打tag时弹出上面的报错

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.