Browse Source

Convert special characters and spaces to underscore in helper script.

tags/v2.0.0
Andrew Belt 2 years ago
parent
commit
7a789af954
1 changed files with 14 additions and 9 deletions
  1. +14
    -9
      helper.py

+ 14
- 9
helper.py View File

@@ -31,12 +31,17 @@ def is_valid_slug(slug):
return re.match(r'^[a-zA-Z0-9_\-]+$', slug) != None


def slug_to_identifier(slug):
if len(slug) == 0 or slug[0].isdigit():
slug = "_" + slug
slug = slug[0].upper() + slug[1:]
slug = slug.replace('-', '_')
return slug
def str_to_identifier(s):
if not s:
return "_"
# Identifiers can't start with a number
if s[0].isdigit():
s = "_" + s
# Capitalize first letter
s = s[0].upper() + s[1:]
# Replace special characters with underscore
s = re.sub(r'\W', '_', s)
return s


def create_plugin(slug, plugin_dir=None):
@@ -241,7 +246,7 @@ def create_module(slug, panel_filename=None, source_filename=None):
print(f"Source file generated at {source_filename}")

# Append model to plugin.hpp
identifier = slug_to_identifier(slug)
identifier = str_to_identifier(slug)

# Tell user to add model to plugin.hpp and plugin.cpp
print(f"""
@@ -285,7 +290,7 @@ def panel_to_components(tree):
name = el.get('{http://www.inkscape.org/namespaces/inkscape}label')
if name is None:
name = el.get('id')
name = slug_to_identifier(name).upper()
name = str_to_identifier(name).upper()
c['name'] = name

# Get color
@@ -336,7 +341,7 @@ def panel_to_components(tree):


def components_to_source(components, slug):
identifier = slug_to_identifier(slug)
identifier = str_to_identifier(slug)
source = ""

source += f"""#include "plugin.hpp"


Loading…
Cancel
Save