diff --git a/.idea/workspace.xml b/.idea/workspace.xml index c718d2e..d33f837 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,7 +2,18 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -109,12 +167,289 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -160,7 +495,65 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Changelog.md b/Changelog.md index cd73e25..c354a93 100644 --- a/Changelog.md +++ b/Changelog.md @@ -11,4 +11,6 @@ - Removed Kissmanga PhantomJS dependency [2016.12.23] - Support for Python 2 and 3 has been merged [2016.12.28] - Updated PhantomJS dependency in [supported sites](https://github.com/Xonshiz/comic-dl/blob/master/Supported_Sites.md) [2016.12.28] -- Added Icon (Logo) [2016.12.28] \ No newline at end of file +- Added Icon (Logo) [2016.12.28] +- Added a YouTube Tutorial for the script [2016.12.30] +- Site support for readcomiconlin.to [2017.01.02] \ No newline at end of file diff --git a/Contributors.md b/Contributors.md index fe98948..ba32729 100644 --- a/Contributors.md +++ b/Contributors.md @@ -1,3 +1,4 @@ # Contributors 1.) [**`@shaggytwodope`**](https://github.com/shaggytwodope) :- [General Pep8 Fixes and clean up](https://github.com/Xonshiz/comic-dl/pull/1) + 2.) [Ankit Passi](https://github.com/ankitpassi141) - Logo and icon designer \ No newline at end of file diff --git a/Images/Icon.ico b/Images/Icon.ico deleted file mode 100644 index 80f89af..0000000 Binary files a/Images/Icon.ico and /dev/null differ diff --git a/Images/Icon.png b/Images/Icon.png index d5c4361..250c687 100644 Binary files a/Images/Icon.png and b/Images/Icon.png differ diff --git a/Images/Logo.ico b/Images/Logo.ico new file mode 100644 index 0000000..4002d7e Binary files /dev/null and b/Images/Logo.ico differ diff --git a/ReadMe.md b/ReadMe.md index 76c5049..fef833e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -17,6 +17,7 @@ Comic-dl is a command line tool to download Comics and Manga from various Manga * [Python Support](#python-support) * [Windows Binary](#windows-binary) * [List of Arguments](#list-of-arguments) +* [Youtube Tutorial](https://www.youtube.com/watch?v=TmQYhLHEZxA) * [Usage](#usage) * [Windows](#windows) * [Linux/Debian](#linuxdebian) @@ -138,6 +139,9 @@ Currently, the script supports these arguments : #### Note : Some websites like bato.to don't let you view some pages if you're not logged in. You'll have to create an account and pass the login information to the script via `-p` and `-u` arguments. +## Youtube Tutorial +[![Check The YouTube Tutorial](https://img.youtube.com/vi/TmQYhLHEZxA/0.jpg)](https://www.youtube.com/watch?v=TmQYhLHEZxA) + ## Usage With this script, you have to pass arguments in order to be able to download anything. Passing arguments in a script is pretty easy. Since the script is pretty basic, it doesn't have too many arguments. Go check the [`ARGUMENTS SECTION`](https://github.com/Xonshiz/comic-dl#list-of-arguments) to know more about which arguments the script offers. diff --git a/Supported_Sites.md b/Supported_Sites.md index d8bb256..d2bc1af 100644 --- a/Supported_Sites.md +++ b/Supported_Sites.md @@ -7,4 +7,5 @@ * [GoManga](http://gomanga.co/) * [Batoto](http://bato.to/) [PhantomJS] * [Kissmanga](http://kissmanga.com/) -* [Comic Naver](http://comic.naver.com/index.nhn) \ No newline at end of file +* [Comic Naver](http://comic.naver.com/index.nhn) +* [Readcomiconline.to](http://readcomiconline.to/) \ No newline at end of file diff --git a/comic_dl/downloader/__init__.pyc b/comic_dl/downloader/__init__.pyc new file mode 100644 index 0000000..01ddbce Binary files /dev/null and b/comic_dl/downloader/__init__.pyc differ diff --git a/comic_dl/downloader/__pycache__/__init__.cpython-35.pyc b/comic_dl/downloader/__pycache__/__init__.cpython-35.pyc new file mode 100644 index 0000000..a1aff0f Binary files /dev/null and b/comic_dl/downloader/__pycache__/__init__.cpython-35.pyc differ diff --git a/comic_dl/downloader/__pycache__/cookies_required.cpython-35.pyc b/comic_dl/downloader/__pycache__/cookies_required.cpython-35.pyc new file mode 100644 index 0000000..904195d Binary files /dev/null and b/comic_dl/downloader/__pycache__/cookies_required.cpython-35.pyc differ diff --git a/comic_dl/downloader/__pycache__/universal.cpython-35.pyc b/comic_dl/downloader/__pycache__/universal.cpython-35.pyc new file mode 100644 index 0000000..ef3ef28 Binary files /dev/null and b/comic_dl/downloader/__pycache__/universal.cpython-35.pyc differ diff --git a/comic_dl/downloader/cookies_required.pyc b/comic_dl/downloader/cookies_required.pyc new file mode 100644 index 0000000..3ac0713 Binary files /dev/null and b/comic_dl/downloader/cookies_required.pyc differ diff --git a/comic_dl/downloader/universal.pyc b/comic_dl/downloader/universal.pyc new file mode 100644 index 0000000..984b256 Binary files /dev/null and b/comic_dl/downloader/universal.pyc differ diff --git a/comic_dl/honcho.py b/comic_dl/honcho.py index ec3e0ee..ac55ebd 100644 --- a/comic_dl/honcho.py +++ b/comic_dl/honcho.py @@ -19,6 +19,7 @@ from sites.mangafox import mangafox_Url_Check from sites.batoto import batoto_Url_Check from sites.kissmanga import kissmanga_Url_Check from sites.comic_naver import comic_naver_Url_Check +from sites.readcomic import readcomic_Url_Check from downloader import universal,cookies_required from urllib.parse import urlparse @@ -46,6 +47,8 @@ def url_checker(input_url, current_directory, User_Name, User_Password): elif domain in ['comic.naver.com']: comic_naver_Url_Check(input_url, current_directory) + elif domain in ['readcomiconline.to']: + readcomic_Url_Check(input_url, current_directory) elif domain in ['']: print('You need to specify at least 1 URL. Please run : comic-dl -h') diff --git a/comic_dl/sites/readcomic.py b/comic_dl/sites/readcomic.py new file mode 100644 index 0000000..a64c7f4 --- /dev/null +++ b/comic_dl/sites/readcomic.py @@ -0,0 +1,97 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals +from __future__ import absolute_import +from __future__ import print_function +from builtins import str +from downloader.universal import main as FileDownloader +import re +import sys +import cfscrape +import os +from bs4 import BeautifulSoup + + +def readcomic_Url_Check(input_url, current_directory): + + Issue_Regex = re.compile('https?://(?P[^/]+)/Comic/(?P[\d\w-]+)(?:/Issue-)?(?P\d+)?') + Annual_Regex = re.compile('https?://(?P[^/]+)/Comic/(?P[\d\w-]+)(?:/Annual-)?(?P\d+)?') + lines = input_url.split('\n') + for line in lines: + found = re.search(Issue_Regex, line) + if found: + match = found.groupdict() + if match['issue']: + Edited_Url = str(input_url) + '?&readType=1' + url = str(Edited_Url) + Single_Issue(url, current_directory) + + else: + url = str(input_url) + Whole_Series(url, current_directory) + + found = re.search(Annual_Regex, line) + if found: + match = found.groupdict() + + if match['issue']: + Edited_Url = str(input_url) + '?&readType=1' + url = str(Edited_Url) + Single_Issue(url, current_directory) + else: + print() + 'Uh, please check the link' + + if not found: + print() + 'Please Check Your URL one again!' + sys.exit() + +def Single_Issue(url, current_directory): + + scraper = cfscrape.create_scraper() + connection = scraper.get(url).content + + Series_Name_Splitter = url.split('/') + Series_Name = str(Series_Name_Splitter[4]).replace('-', ' ') + Issue_Number_Splitter = str(Series_Name_Splitter[5]) + Issue_Or_Annual_Split = str(Issue_Number_Splitter).split("?") + Issue_Or_Annual = str(Issue_Or_Annual_Split[0]).replace("-", " ").strip() + reg = re.findall(r'[(\d)]+', Issue_Number_Splitter) + Issue_Number = str(reg[0]) + + Raw_File_Directory = str(Series_Name) + '/' + "Chapter " + str(Issue_Or_Annual) + + File_Directory = re.sub('[^A-Za-z0-9\-\.\'\#\/ ]+', '', + Raw_File_Directory) # Fix for "Special Characters" in The series name + + Directory_path = os.path.normpath(File_Directory) + + print('\n') + print('{:^80}'.format('=====================================================================\n')) + print('{:^80}'.format('%s - %s') % (Series_Name, Issue_Or_Annual)) + print('{:^80}'.format('=====================================================================\n')) + + linksList = re.findall('lstImages.push\(\"(.*?)\"\)\;', str(connection)) + + for link in linksList: + if not os.path.exists(File_Directory): + os.makedirs(File_Directory) + fileName = str(linksList.index(link)) + ".jpg" + FileDownloader(fileName, Directory_path, link) + +def Whole_Series(url, current_directory): + + scraper = cfscrape.create_scraper() + connection = scraper.get(url).content + + soup = BeautifulSoup(connection, "html.parser") + all_links = soup.findAll('table', {'class': 'listing'}) + + for link in all_links: + x = link.findAll('a') + for a in x: + url = "http://readcomiconline.to" + a['href'] + Single_Issue(url, current_directory=current_directory) + print("Finished Downloading") diff --git a/comic_dl/version.py b/comic_dl/version.py index 5547a36..bd4068d 100644 --- a/comic_dl/version.py +++ b/comic_dl/version.py @@ -4,4 +4,4 @@ Date Format : YY/MM/DD ''' -__version__ = '2016.11.28' +__version__ = '2017.01.02' diff --git a/docs/Changelog.md b/docs/Changelog.md index cd73e25..c354a93 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -11,4 +11,6 @@ - Removed Kissmanga PhantomJS dependency [2016.12.23] - Support for Python 2 and 3 has been merged [2016.12.28] - Updated PhantomJS dependency in [supported sites](https://github.com/Xonshiz/comic-dl/blob/master/Supported_Sites.md) [2016.12.28] -- Added Icon (Logo) [2016.12.28] \ No newline at end of file +- Added Icon (Logo) [2016.12.28] +- Added a YouTube Tutorial for the script [2016.12.30] +- Site support for readcomiconlin.to [2017.01.02] \ No newline at end of file diff --git a/docs/Contributors.md b/docs/Contributors.md index d1302bd..6d17669 100644 --- a/docs/Contributors.md +++ b/docs/Contributors.md @@ -1,3 +1,4 @@ # Contributors 1.) [**`@shaggytwodope`**](https://github.com/shaggytwodope) :- [General Pep8 Fixes and clean up](https://github.com/Xonshiz/comic-dl/pull/1) + 2.) [Ankit Passi](https://github.com/ankitpassi141) - Logo and icon designer diff --git a/docs/Supported_Sites.md b/docs/Supported_Sites.md index d8bb256..d2bc1af 100644 --- a/docs/Supported_Sites.md +++ b/docs/Supported_Sites.md @@ -7,4 +7,5 @@ * [GoManga](http://gomanga.co/) * [Batoto](http://bato.to/) [PhantomJS] * [Kissmanga](http://kissmanga.com/) -* [Comic Naver](http://comic.naver.com/index.nhn) \ No newline at end of file +* [Comic Naver](http://comic.naver.com/index.nhn) +* [Readcomiconline.to](http://readcomiconline.to/) \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 233d45d..f50bdda 100644 --- a/docs/index.md +++ b/docs/index.md @@ -16,6 +16,7 @@ Comic-dl is a command line tool to download Comics and Manga from various Manga * [Python Support](#python-support) * [Windows Binary](#windows-binary) * [List of Arguments](#list-of-arguments) +* [Youtube Tutorial](https://www.youtube.com/watch?v=TmQYhLHEZxA) * [Usage](#usage) * [Windows](#windows) * [Linux/Debian](#linuxdebian) @@ -137,6 +138,9 @@ Currently, the script supports these arguments : #### Note : Some websites like bato.to don't let you view some pages if you're not logged in. You'll have to create an account and pass the login information to the script via `-p` and `-u` arguments. +## Youtube Tutorial +[![Check The YouTube Tutorial](https://img.youtube.com/vi/TmQYhLHEZxA/0.jpg)](https://www.youtube.com/watch?v=TmQYhLHEZxA) + ## Usage With this script, you have to pass arguments in order to be able to download anything. Passing arguments in a script is pretty easy. Since the script is pretty basic, it doesn't have too many arguments. Go check the [`ARGUMENTS SECTION`](http://comic-dl.readthedocs.io/en/latest/?badge=latest#list-of-arguments) to know more about which arguments the script offers.