diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-31 03:13:13 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-31 03:13:13 +0000 |
| commit | c41b1a5730d870ba17e844c6ec5b6b3a00d00cd4 (patch) | |
| tree | 9cb03af82a27b1702b3109c2dda4be6ea0e80f4c | |
| parent | cacbdf6624863ad7e4741990e7e5cf90d137357c (diff) | |
automatic import of python-checkmark
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-checkmark.spec | 649 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 651 insertions, 0 deletions
@@ -0,0 +1 @@ +/checkmark-1.7.4.tar.gz 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 @@ -0,0 +1 @@ +e7399b8777263bf427ac8a8df3f2e375 checkmark-1.7.4.tar.gz |
