diff --git a/.github/workflows/python-app.yml b/.github/workflows/test.yml similarity index 61% rename from .github/workflows/python-app.yml rename to .github/workflows/test.yml index 9af2ca1..4c2e9f3 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/test.yml @@ -16,10 +16,13 @@ jobs: build: runs-on: ubuntu-latest - - environment: nhentai_test - + steps: + - name: Set env + run: | + echo "NHENTAI_COOKIE=csrftoken=zV4qotZJrHKTeEc9uEg5uvXV5qwTcZIHRjF3TgbkvP6OoxZNj8I6RFQeGSSiZT04; sessionid=t2x0ke3u5i1azg2kvepe7w0ej89btc7t; cf_chl_2=eff13178a8d7814; cf_clearance=Gti8UaeKBbXj2A7V0XFSGydeWbLj2VnqP83FnGx_wIU-1675675191-0-160" >> $GITHUB_ENV + echo "NHENTAI_UA=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" >> $GITHUB_ENV + - uses: actions/checkout@v3 - name: Set up Python 3.10 uses: actions/setup-python@v3 diff --git a/nhentai/parser.py b/nhentai/parser.py index 1d8d7a6..6bf007a 100644 --- a/nhentai/parser.py +++ b/nhentai/parser.py @@ -103,7 +103,7 @@ def favorites_parser(page=None): return result -def doujinshi_parser(id_): +def doujinshi_parser(id_, counter=0): if not isinstance(id_, (int,)) and (isinstance(id_, (str,)) and not id_.isdigit()): raise Exception(f'Doujinshi id({id_}) is not valid') @@ -112,7 +112,6 @@ def doujinshi_parser(id_): doujinshi = dict() doujinshi['id'] = id_ url = f'{constant.DETAIL_URL}/{id_}/' - counter = 0 try: response = request('get', url) @@ -126,11 +125,11 @@ def doujinshi_parser(id_): if counter == 10: logger.critical(f'Failed to fetch doujinshi information of id {id_}') - sys.exit(1) + return None logger.debug(f'Slow down and retry ({id_}) ...') time.sleep(1) - return doujinshi_parser(str(id_)) + return doujinshi_parser(str(id_), counter) except Exception as e: logger.warning(f'Error: {e}, ignored')