summaryrefslogtreecommitdiff
path: root/python-checkmark.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-31 03:13:13 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-31 03:13:13 +0000
commitc41b1a5730d870ba17e844c6ec5b6b3a00d00cd4 (patch)
tree9cb03af82a27b1702b3109c2dda4be6ea0e80f4c /python-checkmark.spec
parentcacbdf6624863ad7e4741990e7e5cf90d137357c (diff)
automatic import of python-checkmark
Diffstat (limited to 'python-checkmark.spec')
-rw-r--r--python-checkmark.spec649
1 files changed, 649 insertions, 0 deletions
diff --git a/python-checkmark.spec b/python-checkmark.spec
new file mode 100644
index 0000000..6fc64e5
--- /dev/null
+++ b/python-checkmark.spec
@@ -0,0 +1,649 @@
+%global _empty_manifest_terminate_build 0
+Name: python-checkmark
+Version: 1.7.4
+Release: 1
+Summary: Create launchable HTML form windows in Markdown
+License: GPL-3.0-or-later
+URL: https://gitlab.com/deepadmax/checkmark
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e0/c1/d9727d63fa93853b8c1b321ef95150ddee37c2cc7cad65ec3945d3248fa7/checkmark-1.7.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-pywebview
+
+%description
+# Checkmark
+
+Checkmark lets you quickly and easily set up a way for you or any other user to submit data to your program through an HTML form. Using a Markdown-like document, you can specify a plethora of form elements.
+
+### Form elements
+
+- [Inlines](#inlines)
+ - [Label](#label)
+ - [Text & Textarea](#text-textarea)
+ - [Text](#text)
+ - [Textarea](#textarea)
+
+ - [Checkbox](#checkbox)
+ - [Button](#button)
+
+- [Lists](#lists)
+ - [Radio buttons](#radio-buttons)
+ - [Dropdown menu](#dropdown-menu)
+
+
+## Example
+
+```py
+from checkmark import MarkdownForm
+
+document = """
+:[Username](username)
+>[Username](username "Ex. @user:domain.tld")
+:[Password](password)
+>[Password](password "Choose something not too simple.")
+
+<!-- A button that calls the `register` API method. -->
+@[Register](register)
+"""
+
+form = MarkdownForm(
+ title='My Markdown Form',
+ document=document
+)
+
+# Define a function to be called
+# when you press the `Register` button.
+
+@form.api_method
+def register(data):
+ username = data.get('username', "")
+ password = data.get('password', "")
+
+ form.update(data, keys=['username', 'password'])
+
+ print(f'Successfully registered as {username}')
+ print(f'Your password is {"*" * len(password)}.')
+
+form.start()
+```
+
+You can try it out with the example below.
+
+```md
+# Account
+
+## Registration
+
+:[Username](username)
+>[Ex. @michael:duckduckgo.com](username "@user:domain.tld")<br>
+:[Password](password)
+>[password123](password "Choose something not too simple.")<br>
+:[Email](email)
+>[Ex. user@domain.tld](email "So that you can confirm your account.")<br>
+
+[x] [Sign me up to the newsletter](newsletter)
+
+>>[My hobbies are ...](hobbies "What do you like to do during your free time?")
+
+@[Register](register "Register new account.")
+
+
+## Settings
+
+## layout:
+* [IRC](irc)
+* [Modern](modern)
+* [Message bubbles](bubbles)
+
+## language:
+- [Swedish](se)
+- [English](en)
+- [French](fr)
+
+@[Save settings](save_settings)
+```
+
+
+## Rules
+
+### Inlines
+
+Inline elements can be written anywhere on the line. As long as the pattern is matched, it should create an element in the right place.
+
+#### Link
+
+***This is not a custom element of its own.*** It's a description of how the standard Markdown link format is used within other custom elements.
+
+In any and all definitions, if something looks like a Markdown link, it *is* a Markdown link and should be structured like one. It follows the same rules as regular Markdown and so the title is optional.
+
+The title is always used as the `title` argument for any Checkmark element in which it is specified.
+
+```md
+[Text](url "Title.")
+```
+
+#### Label
+
+Labels are simply aesthetic and don't affect the functionality of the form.
+The URL is only used to define the `for` argument.
+
+```md
+:[Super Label](best-label)
+```
+
+#### Text & TextArea
+
+`Text` uses one `>` as prefix and `TextArea` uses two.
+The text of the link is used as the `placeholder` argument.
+
+##### TextArea
+```md
+>>[My hobbies are ...](hobbies "What do you like to do during your free time?")
+```
+
+##### Text
+```md
+>[Username](username "Ex. @user:domain.tld")
+```
+
+#### Checkbox
+```md
+[x] [I understand how checkboxes work.](understood)
+```
+
+#### Button
+
+Call one of the provided API methods using a button, with the URL as the function name.
+
+```md
+@[Log in](log_in)
+```
+
+### Lists
+
+A list has a variable name and the possible values for it. The variable name is defined by a preceding heading's Markdown link URL. The URLs of the entries are used for the values. Any empty lines terminate the list, whether between entries or the entries and the heading.
+
+#### Radio Buttons
+
+Radio button entries use `*` as prefix.
+
+```md
+## [Message layout](layout):
+* [IRC](irc)
+* [Modern](modern)
+* [Message bubbles](bubbles)
+```
+
+#### Dropdown Menu
+
+Dropdown menu entries use `-` as prefix.
+
+```md
+## [Language](language):
+- [Swedish](se)
+- [English](en)
+- [French](fr)
+```
+
+#### Extensible List (Not yet implemented)
+
+I will be adding lists that allow you to define multiple types of elements per entry and with a `+` button, you will be able to add new multi-element entries into the list.
+
+The future syntax will look a little something like this:
+
+```md
+# advanced-dns:
++ ## type:
+ - [A Record](a)
+ - [CNAME Record](cname)
+ - [TXT Record](txt)
++ >[Host](host)
++ >[Port](port)
++ [x] [Backward compatible](backcomp)
+```
+
+This list would include a dropdown menu, two text inputs, and a checkbox.
+I'll describe it more in detail once I get it implemented.
+
+%package -n python3-checkmark
+Summary: Create launchable HTML form windows in Markdown
+Provides: python-checkmark
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-checkmark
+# Checkmark
+
+Checkmark lets you quickly and easily set up a way for you or any other user to submit data to your program through an HTML form. Using a Markdown-like document, you can specify a plethora of form elements.
+
+### Form elements
+
+- [Inlines](#inlines)
+ - [Label](#label)
+ - [Text & Textarea](#text-textarea)
+ - [Text](#text)
+ - [Textarea](#textarea)
+
+ - [Checkbox](#checkbox)
+ - [Button](#button)
+
+- [Lists](#lists)
+ - [Radio buttons](#radio-buttons)
+ - [Dropdown menu](#dropdown-menu)
+
+
+## Example
+
+```py
+from checkmark import MarkdownForm
+
+document = """
+:[Username](username)
+>[Username](username "Ex. @user:domain.tld")
+:[Password](password)
+>[Password](password "Choose something not too simple.")
+
+<!-- A button that calls the `register` API method. -->
+@[Register](register)
+"""
+
+form = MarkdownForm(
+ title='My Markdown Form',
+ document=document
+)
+
+# Define a function to be called
+# when you press the `Register` button.
+
+@form.api_method
+def register(data):
+ username = data.get('username', "")
+ password = data.get('password', "")
+
+ form.update(data, keys=['username', 'password'])
+
+ print(f'Successfully registered as {username}')
+ print(f'Your password is {"*" * len(password)}.')
+
+form.start()
+```
+
+You can try it out with the example below.
+
+```md
+# Account
+
+## Registration
+
+:[Username](username)
+>[Ex. @michael:duckduckgo.com](username "@user:domain.tld")<br>
+:[Password](password)
+>[password123](password "Choose something not too simple.")<br>
+:[Email](email)
+>[Ex. user@domain.tld](email "So that you can confirm your account.")<br>
+
+[x] [Sign me up to the newsletter](newsletter)
+
+>>[My hobbies are ...](hobbies "What do you like to do during your free time?")
+
+@[Register](register "Register new account.")
+
+
+## Settings
+
+## layout:
+* [IRC](irc)
+* [Modern](modern)
+* [Message bubbles](bubbles)
+
+## language:
+- [Swedish](se)
+- [English](en)
+- [French](fr)
+
+@[Save settings](save_settings)
+```
+
+
+## Rules
+
+### Inlines
+
+Inline elements can be written anywhere on the line. As long as the pattern is matched, it should create an element in the right place.
+
+#### Link
+
+***This is not a custom element of its own.*** It's a description of how the standard Markdown link format is used within other custom elements.
+
+In any and all definitions, if something looks like a Markdown link, it *is* a Markdown link and should be structured like one. It follows the same rules as regular Markdown and so the title is optional.
+
+The title is always used as the `title` argument for any Checkmark element in which it is specified.
+
+```md
+[Text](url "Title.")
+```
+
+#### Label
+
+Labels are simply aesthetic and don't affect the functionality of the form.
+The URL is only used to define the `for` argument.
+
+```md
+:[Super Label](best-label)
+```
+
+#### Text & TextArea
+
+`Text` uses one `>` as prefix and `TextArea` uses two.
+The text of the link is used as the `placeholder` argument.
+
+##### TextArea
+```md
+>>[My hobbies are ...](hobbies "What do you like to do during your free time?")
+```
+
+##### Text
+```md
+>[Username](username "Ex. @user:domain.tld")
+```
+
+#### Checkbox
+```md
+[x] [I understand how checkboxes work.](understood)
+```
+
+#### Button
+
+Call one of the provided API methods using a button, with the URL as the function name.
+
+```md
+@[Log in](log_in)
+```
+
+### Lists
+
+A list has a variable name and the possible values for it. The variable name is defined by a preceding heading's Markdown link URL. The URLs of the entries are used for the values. Any empty lines terminate the list, whether between entries or the entries and the heading.
+
+#### Radio Buttons
+
+Radio button entries use `*` as prefix.
+
+```md
+## [Message layout](layout):
+* [IRC](irc)
+* [Modern](modern)
+* [Message bubbles](bubbles)
+```
+
+#### Dropdown Menu
+
+Dropdown menu entries use `-` as prefix.
+
+```md
+## [Language](language):
+- [Swedish](se)
+- [English](en)
+- [French](fr)
+```
+
+#### Extensible List (Not yet implemented)
+
+I will be adding lists that allow you to define multiple types of elements per entry and with a `+` button, you will be able to add new multi-element entries into the list.
+
+The future syntax will look a little something like this:
+
+```md
+# advanced-dns:
++ ## type:
+ - [A Record](a)
+ - [CNAME Record](cname)
+ - [TXT Record](txt)
++ >[Host](host)
++ >[Port](port)
++ [x] [Backward compatible](backcomp)
+```
+
+This list would include a dropdown menu, two text inputs, and a checkbox.
+I'll describe it more in detail once I get it implemented.
+
+%package help
+Summary: Development documents and examples for checkmark
+Provides: python3-checkmark-doc
+%description help
+# Checkmark
+
+Checkmark lets you quickly and easily set up a way for you or any other user to submit data to your program through an HTML form. Using a Markdown-like document, you can specify a plethora of form elements.
+
+### Form elements
+
+- [Inlines](#inlines)
+ - [Label](#label)
+ - [Text & Textarea](#text-textarea)
+ - [Text](#text)
+ - [Textarea](#textarea)
+
+ - [Checkbox](#checkbox)
+ - [Button](#button)
+
+- [Lists](#lists)
+ - [Radio buttons](#radio-buttons)
+ - [Dropdown menu](#dropdown-menu)
+
+
+## Example
+
+```py
+from checkmark import MarkdownForm
+
+document = """
+:[Username](username)
+>[Username](username "Ex. @user:domain.tld")
+:[Password](password)
+>[Password](password "Choose something not too simple.")
+
+<!-- A button that calls the `register` API method. -->
+@[Register](register)
+"""
+
+form = MarkdownForm(
+ title='My Markdown Form',
+ document=document
+)
+
+# Define a function to be called
+# when you press the `Register` button.
+
+@form.api_method
+def register(data):
+ username = data.get('username', "")
+ password = data.get('password', "")
+
+ form.update(data, keys=['username', 'password'])
+
+ print(f'Successfully registered as {username}')
+ print(f'Your password is {"*" * len(password)}.')
+
+form.start()
+```
+
+You can try it out with the example below.
+
+```md
+# Account
+
+## Registration
+
+:[Username](username)
+>[Ex. @michael:duckduckgo.com](username "@user:domain.tld")<br>
+:[Password](password)
+>[password123](password "Choose something not too simple.")<br>
+:[Email](email)
+>[Ex. user@domain.tld](email "So that you can confirm your account.")<br>
+
+[x] [Sign me up to the newsletter](newsletter)
+
+>>[My hobbies are ...](hobbies "What do you like to do during your free time?")
+
+@[Register](register "Register new account.")
+
+
+## Settings
+
+## layout:
+* [IRC](irc)
+* [Modern](modern)
+* [Message bubbles](bubbles)
+
+## language:
+- [Swedish](se)
+- [English](en)
+- [French](fr)
+
+@[Save settings](save_settings)
+```
+
+
+## Rules
+
+### Inlines
+
+Inline elements can be written anywhere on the line. As long as the pattern is matched, it should create an element in the right place.
+
+#### Link
+
+***This is not a custom element of its own.*** It's a description of how the standard Markdown link format is used within other custom elements.
+
+In any and all definitions, if something looks like a Markdown link, it *is* a Markdown link and should be structured like one. It follows the same rules as regular Markdown and so the title is optional.
+
+The title is always used as the `title` argument for any Checkmark element in which it is specified.
+
+```md
+[Text](url "Title.")
+```
+
+#### Label
+
+Labels are simply aesthetic and don't affect the functionality of the form.
+The URL is only used to define the `for` argument.
+
+```md
+:[Super Label](best-label)
+```
+
+#### Text & TextArea
+
+`Text` uses one `>` as prefix and `TextArea` uses two.
+The text of the link is used as the `placeholder` argument.
+
+##### TextArea
+```md
+>>[My hobbies are ...](hobbies "What do you like to do during your free time?")
+```
+
+##### Text
+```md
+>[Username](username "Ex. @user:domain.tld")
+```
+
+#### Checkbox
+```md
+[x] [I understand how checkboxes work.](understood)
+```
+
+#### Button
+
+Call one of the provided API methods using a button, with the URL as the function name.
+
+```md
+@[Log in](log_in)
+```
+
+### Lists
+
+A list has a variable name and the possible values for it. The variable name is defined by a preceding heading's Markdown link URL. The URLs of the entries are used for the values. Any empty lines terminate the list, whether between entries or the entries and the heading.
+
+#### Radio Buttons
+
+Radio button entries use `*` as prefix.
+
+```md
+## [Message layout](layout):
+* [IRC](irc)
+* [Modern](modern)
+* [Message bubbles](bubbles)
+```
+
+#### Dropdown Menu
+
+Dropdown menu entries use `-` as prefix.
+
+```md
+## [Language](language):
+- [Swedish](se)
+- [English](en)
+- [French](fr)
+```
+
+#### Extensible List (Not yet implemented)
+
+I will be adding lists that allow you to define multiple types of elements per entry and with a `+` button, you will be able to add new multi-element entries into the list.
+
+The future syntax will look a little something like this:
+
+```md
+# advanced-dns:
++ ## type:
+ - [A Record](a)
+ - [CNAME Record](cname)
+ - [TXT Record](txt)
++ >[Host](host)
++ >[Port](port)
++ [x] [Backward compatible](backcomp)
+```
+
+This list would include a dropdown menu, two text inputs, and a checkbox.
+I'll describe it more in detail once I get it implemented.
+
+%prep
+%autosetup -n checkmark-1.7.4
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-checkmark -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.7.4-1
+- Package Spec generated