A collection of script generation helpers and template.
Project description
scriptgen
A collection of script generation helpers and templates.
Installation
pip install scriptgen
Usage
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
}
}
Contribution
Suggestions and contributions are always welcome.
Make sure to read the Contribution Guidelines file for more information before submitting a pull request
.
License
scriptgen
is released under the MIT License. See the LICENSE file for details.
Changelog
v0.0.1
- Added
IndentType
,StringBuilder
, andBlockBuilder
classes. - Added
diff_lines
,diff_text
,interpolate_text
,timestamp
, andwrite_text_file
utility methods. - Added C# and Markdown templates.
- Added tests for the utility methods, C# templates, and Markdown templates.
- Added
gen_docs.py
script and template files.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
scriptgen-0.0.1.tar.gz
(7.0 kB
view hashes)
Built Distribution
Close
Hashes for scriptgen-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1207f25293691bb076f1b16f21e783021521e7a71d3a150b9b000c13ab8c59e |
|
MD5 | 2a475b03b29c59ffeecb891597a60c11 |
|
BLAKE2b-256 | e5a50b3bffde99c2d10c8c423403753ccb6a582e4642a789a5a19f162ef85553 |