Skip to main content

脚本生成助手和模板的集合。

项目描述

脚本生成器

回购 版本 派皮 PyPI - Python 版本 PyPI - 状态 PyPI - 许可证 PyPI - 格式 下载

脚本生成助手和模板的集合。

安装

pip install scriptgen

用法

from scriptgen import StringBuilder


if __name__ == "__main__":
    # Create a StringBuilder instance.
    sb = StringBuilder()

    sb.wt("Hello ")  # write text "Hello "
    sb.wl("World!")  # write line "World!\n"

    print(str(sb))
Hello World!


from scriptgen import StringBuilder

from scriptgen.templates.csharp import \
    csharp_usings, \
    csharp_namespace, \
    csharp_class, \
    csharp_method


if __name__ == "__main__":
    # Create a StringBuilder instance.
    sb = StringBuilder()

    # Write using statements.
    sb.wb(csharp_usings(
        "System"
    ))

    # Add a new line after the using statements.
    sb.nl()

    # Create a namespace StringBuilder instance.
    ns = csharp_namespace("Sample")

    # Create a class StringBuilder instance.
    c = csharp_class(
        class_name="Program",
        access_modifier="public"
    )

    # Create a method StringBuilder instance.
    m = csharp_method(
        method_name="Main",
        access_modifier="public static",
        return_type="int"
    )

    # Write the following lines inside the method.
    m.wl('Console.WriteLine("Hello World!");')
    m.wl("return 0;")

    c.wb(m)  # Write the method inside the class.
    ns.wb(c)  # Write the class inside the namespace.
    sb.wb(ns)  # Write the namespace.

    print(str(sb))
using System;

namespace Sample
{
    public class Program
    {
        public static int Main()
        {
            Console.WriteLine("Hello World!");
            return 0;
        }
    }
}

from scriptgen import StringBuilder

from scriptgen.templates.csharp import \
    csharp_autogen, \
    csharp_namespace, \
    csharp_class, \
    csharp_region


if __name__ == "__main__":
    # Get version from arguments..
    # i.e. python script.py -major 0 -minor 0 -patch 1
    major: int = 0
    minor: int = 0
    patch: int = 1

    # Create a StringBuilder instance.
    sb = StringBuilder()

    # Write timestamp.
    sb.wb(csharp_autogen())

    # Add a new line after the using statements.
    sb.nl()

    # Create a namespace StringBuilder instance.
    ns = csharp_namespace("Sample")

    # Create a class StringBuilder instance.
    c = csharp_class(
        class_name="BuildInfo",
        access_modifier="public static partial"
    )

    # Create a "Constants" region StringBuilder instance.
    r = csharp_region("Constants")

    # Write the following lines inside the "Constants" region.
    r.wl(f"public const int MAJOR = {major};")
    r.nl()
    r.wl(f"public const int MINOR = {minor};")
    r.nl()
    r.wl(f"public const int PATCH = {patch};")

    c.wb(r)  # Write the region inside the class.
    ns.wb(c)  # Write the class inside the namespace.
    sb.wb(ns)  # Write the namespace.

    print(str(sb))
// Auto-generated: 2020-03-15T04:20:47.909851

namespace Sample
{
    public static partial class BuildInfo
    {
        #region Constants

        public const int MAJOR = 0;

        public const int MINOR = 0;

        public const int PATCH = 1;

        #endregion Constants
    }
}

查看此脚本以了解其实际用例。

贡献

建议和贡献总是受欢迎的。在提交. _pull request

执照

scriptgen是在 MIT 许可下发布的。有关详细信息,请参阅许可证文件。

变更日志

v0.0.5

  • 修复了 Windows 中的多个新行。
  • 添加了更多 C# 模板。

v0.0.4

  • 添加了 XML 模板。

v0.0.3

  • 在 filter_func 中添加了 index 参数。
  • gen_docs.py在脚本中从当前工作路径更改为文件目录路径。

v0.0.2

  • 为构建器类添加了默认值。
  • 添加了可选参数。
  • 包中的公开CSharpBlockBuilderscriptgen.templates.csharp
  • Bug修复。

v0.0.1

  • 添加了IndentTypeStringBuilderBlockBuilder类。
  • 添加了diff_linesdiff_textinterpolate_texttimestampwrite_text_file实用方法。
  • 添加了 C# 和 Markdown 模板。
  • 为实用程序方法、C# 模板和 Markdown 模板添加了测试。
  • 添加了gen_docs.py脚本和模板文件。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

scriptgen-0.0.5.tar.gz (12.7 kB 查看哈希

已上传 source

内置分布

scriptgen-0.0.5-py3-none-any.whl (11.0 kB 查看哈希

已上传 py3