txt2ebook 0.1.163__tar.gz → 0.1.164__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {txt2ebook-0.1.163/src/txt2ebook.egg-info → txt2ebook-0.1.164}/PKG-INFO +1 -1
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/pyproject.toml +4 -1
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/tex.py +12 -4
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164/src/txt2ebook.egg-info}/PKG-INFO +1 -1
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/tests/test_tokenizer.py +3 -2
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/LICENSE.md +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/README.md +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/setup.cfg +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/__main__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/cli.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/exceptions.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/base.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/epub.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/gmi.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/md.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/pdf.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/templates/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/templates/epub/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/tex.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/txt.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/formats/typ.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/helpers/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/languages/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/languages/en.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/languages/zh_base.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/languages/zh_cn.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/languages/zh_tw.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/models/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/models/book.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/models/chapter.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/models/volume.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/parser.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/__init__.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/env.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/epub.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/gmi.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/massage.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/md.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/parse.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/pdf.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/subcommands/typ.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook/tokenizer.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook.egg-info/SOURCES.txt +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook.egg-info/dependency_links.txt +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook.egg-info/entry_points.txt +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook.egg-info/requires.txt +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/src/txt2ebook.egg-info/top_level.txt +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/tests/test_parser.py +0 -0
 - {txt2ebook-0.1.163 → txt2ebook-0.1.164}/tests/test_txt2ebook.py +0 -0
 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            [project]
         
     | 
| 
       2 
2 
     | 
    
         
             
            name = "txt2ebook"
         
     | 
| 
       3 
     | 
    
         
            -
            version = "0.1. 
     | 
| 
      
 3 
     | 
    
         
            +
            version = "0.1.164"
         
     | 
| 
       4 
4 
     | 
    
         
             
            description = "CLI tool to convert txt file to ebook format"
         
     | 
| 
       5 
5 
     | 
    
         
             
            authors = [{ name = "Kian-Meng Ang", email = "kianmeng@cpan.org" }]
         
     | 
| 
       6 
6 
     | 
    
         
             
            requires-python = ">=3.10"
         
     | 
| 
         @@ -104,5 +104,8 @@ extend-select = [ 
     | 
|
| 
       104 
104 
     | 
    
         
             
            [tool.ruff.lint.pydocstyle]
         
     | 
| 
       105 
105 
     | 
    
         
             
            convention = "google"
         
     | 
| 
       106 
106 
     | 
    
         | 
| 
      
 107 
     | 
    
         
            +
            [tool.pytest.ini_options]
         
     | 
| 
      
 108 
     | 
    
         
            +
            pythonpath = ["src"]
         
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
       107 
110 
     | 
    
         
             
            [tool.setuptools.packages.find]
         
     | 
| 
       108 
111 
     | 
    
         
             
            where = ["src"]
         
     | 
| 
         @@ -40,6 +40,14 @@ def build_subparser(subparsers) -> None: 
     | 
|
| 
       40 
40 
     | 
    
         
             
                    metavar="TXT_FILENAMES",
         
     | 
| 
       41 
41 
     | 
    
         
             
                )
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
      
 43 
     | 
    
         
            +
                tex_parser.add_argument(
         
     | 
| 
      
 44 
     | 
    
         
            +
                    "output_file",
         
     | 
| 
      
 45 
     | 
    
         
            +
                    nargs="?",
         
     | 
| 
      
 46 
     | 
    
         
            +
                    default=None,
         
     | 
| 
      
 47 
     | 
    
         
            +
                    help="converted ebook filename (default: 'TXT_FILENAME.tex')",
         
     | 
| 
      
 48 
     | 
    
         
            +
                    metavar="EBOOK_FILENAME",
         
     | 
| 
      
 49 
     | 
    
         
            +
                )
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
       43 
51 
     | 
    
         
             
                tex_parser.add_argument(
         
     | 
| 
       44 
52 
     | 
    
         
             
                    "-ik",
         
     | 
| 
       45 
53 
     | 
    
         
             
                    "--index-keyword",
         
     | 
| 
         @@ -115,12 +123,12 @@ def run(args: argparse.Namespace) -> None: 
     | 
|
| 
       115 
123 
     | 
    
         
             
                """
         
     | 
| 
       116 
124 
     | 
    
         
             
                input_sources = []
         
     | 
| 
       117 
125 
     | 
    
         | 
| 
       118 
     | 
    
         
            -
                if  
     | 
| 
       119 
     | 
    
         
            -
                    # piped input, use stdin as the single input source
         
     | 
| 
       120 
     | 
    
         
            -
                    input_sources.append(sys.stdin)
         
     | 
| 
       121 
     | 
    
         
            -
                elif args.input_file:
         
     | 
| 
      
 126 
     | 
    
         
            +
                if args.input_file:
         
     | 
| 
       122 
127 
     | 
    
         
             
                    # multiple file(s)
         
     | 
| 
       123 
128 
     | 
    
         
             
                    input_sources.extend(args.input_file)
         
     | 
| 
      
 129 
     | 
    
         
            +
                elif not sys.stdin.isatty():
         
     | 
| 
      
 130 
     | 
    
         
            +
                    # piped input, use stdin as the single input source
         
     | 
| 
      
 131 
     | 
    
         
            +
                    input_sources.append(sys.stdin)
         
     | 
| 
       124 
132 
     | 
    
         
             
                else:
         
     | 
| 
       125 
133 
     | 
    
         
             
                    logger.error("No input files provided.")
         
     | 
| 
       126 
134 
     | 
    
         
             
                    raise InputError("No input files provided.")
         
     | 
| 
         @@ -17,6 +17,7 @@ import argparse 
     | 
|
| 
       17 
17 
     | 
    
         
             
            import pytest
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
            from txt2ebook.tokenizer import Token, Tokenizer
         
     | 
| 
      
 20 
     | 
    
         
            +
            from txt2ebook.languages import zh_cn as lang_zh_cn
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         | 
| 
       22 
23 
     | 
    
         
             
            @pytest.fixture(name="config")
         
     | 
| 
         @@ -64,7 +65,7 @@ def test_parse(config): 
     | 
|
| 
       64 
65 
     | 
    
         | 
| 
       65 
66 
     | 
    
         
             
            果珍李柰,菜重芥姜。
         
     | 
| 
       66 
67 
     | 
    
         
             
            """
         
     | 
| 
       67 
     | 
    
         
            -
                tokenizer = Tokenizer(content, config)
         
     | 
| 
      
 68 
     | 
    
         
            +
                tokenizer = Tokenizer(content, config, lang_zh_cn)
         
     | 
| 
       68 
69 
     | 
    
         | 
| 
       69 
70 
     | 
    
         
             
                assert tokenizer.tokens == [
         
     | 
| 
       70 
71 
     | 
    
         
             
                    Token(type="TITLE", line_no=0, value="天地玄黄"),
         
     | 
| 
         @@ -109,7 +110,7 @@ def test_parse_with_extra_newline_before_chapter_header(config): 
     | 
|
| 
       109 
110 
     | 
    
         | 
| 
       110 
111 
     | 
    
         
             
            天地玄黄。
         
     | 
| 
       111 
112 
     | 
    
         
             
            """
         
     | 
| 
       112 
     | 
    
         
            -
                tokenizer = Tokenizer(content, config)
         
     | 
| 
      
 113 
     | 
    
         
            +
                tokenizer = Tokenizer(content, config, lang_zh_cn)
         
     | 
| 
       113 
114 
     | 
    
         
             
                assert tokenizer.tokens == [
         
     | 
| 
       114 
115 
     | 
    
         
             
                    Token(type="TITLE", line_no=0, value="天地玄黄"),
         
     | 
| 
       115 
116 
     | 
    
         
             
                    Token(type="AUTHOR", line_no=0, value="果珍李柰"),
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |