diff --git a/.gitignore b/.gitignore index eaf9a6d0..0822ce41 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ KindleComicConverter*.egg-info/ /kindlegen* /kcc.bat .DS_Store +.vscode/ \ No newline at end of file diff --git a/code_of_conduct.md b/code_of_conduct.md new file mode 100644 index 00000000..ea3af275 --- /dev/null +++ b/code_of_conduct.md @@ -0,0 +1,73 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +education, socio-economic status, nationality, personal appearance, race, +religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at {{ email }}. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org \ No newline at end of file diff --git a/kindlecomicconverter/KCC_gui.py b/kindlecomicconverter/KCC_gui.py index a92f13ed..18deba2b 100644 --- a/kindlecomicconverter/KCC_gui.py +++ b/kindlecomicconverter/KCC_gui.py @@ -452,12 +452,21 @@ def selectDir(self): if self.needClean: self.needClean = False GUI.jobList.clear() + dname = QtWidgets.QFileDialog.getExistingDirectory(MW, 'Select directory', self.lastPath) - if dname != '': - if sys.platform.startswith('win'): - dname = dname.replace('/', '\\') + if dname: self.lastPath = os.path.abspath(os.path.join(dname, os.pardir)) + GUI.jobList.addItem(dname) + + supported_extensions = ('.cb7', '.7z', '.cbz', '.zip', '.cbr', '.rar') + + for root, _, files in os.walk(dname): + for file in files: + if file.lower().endswith(supported_extensions): + file_path = os.path.join(root, file) + GUI.jobList.addItem(file_path) + GUI.jobList.scrollToBottom() def selectFile(self): diff --git a/kindlecomicconverter/comic2ebook.py b/kindlecomicconverter/comic2ebook.py index dc673b42..48a15e00 100755 --- a/kindlecomicconverter/comic2ebook.py +++ b/kindlecomicconverter/comic2ebook.py @@ -1143,7 +1143,6 @@ def checkPre(source): except Exception: raise UserWarning("Target directory is not writable.") - def makeBook(source, qtgui=None): global GUI GUI = qtgui @@ -1155,8 +1154,9 @@ def makeBook(source, qtgui=None): print("Preparing source images...") path = getWorkFolder(source) print("Checking images...") - getComicInfo(os.path.join(path, "OEBPS", "Images"), source) - detectCorruption(os.path.join(path, "OEBPS", "Images"), source) + pathOebpsImages = os.path.join(path, "OEBPS", "Images") + getComicInfo(pathOebpsImages, source) + detectCorruption(pathOebpsImages, source) if options.webtoon: y = image.ProfileData.Profiles[options.profile][1][1] comic2panel.main(['-y ' + str(y), '-i', '-m', path], qtgui) @@ -1166,10 +1166,10 @@ def makeBook(source, qtgui=None): print("Processing images...") if GUI: GUI.progressBarTick.emit('Processing images') - imgDirectoryProcessing(os.path.join(path, "OEBPS", "Images")) + imgDirectoryProcessing(pathOebpsImages) if GUI: GUI.progressBarTick.emit('1') - chapterNames = sanitizeTree(os.path.join(path, 'OEBPS', 'Images')) + chapterNames = sanitizeTree(pathOebpsImages) if options.batchsplit > 0: tomes = splitDirectory(path) else: