diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 14:01:56 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 14:01:56 +0000 |
commit | d286038302715884a03a170c2d46f56f7bbdbbf6 (patch) | |
tree | 286b136bd4f818def7372d8fc699a91724b37a9a | |
parent | c3c8bdbea552b3a2ec4889ab0f0e6ec48da668e6 (diff) |
automatic import of python-blockkitopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-blockkit.spec | 290 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 292 insertions, 0 deletions
@@ -0,0 +1 @@ +/blockkit-1.5.2.tar.gz diff --git a/python-blockkit.spec b/python-blockkit.spec new file mode 100644 index 0000000..e51a8ad --- /dev/null +++ b/python-blockkit.spec @@ -0,0 +1,290 @@ +%global _empty_manifest_terminate_build 0 +Name: python-blockkit +Version: 1.5.2 +Release: 1 +Summary: A fast way to build Block Kit interfaces in Python. +License: MIT +URL: https://github.com/imryche/blockkit +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/dc/ff/1c01f0e1e61303efa7274819a78c2c03df5b6e4bd67638c5ae04915f22cd/blockkit-1.5.2.tar.gz +BuildArch: noarch + +Requires: python3-pydantic +Requires: python3-black + +%description +Blockkit is a Python library for building UI interfaces for Slack apps. It allows you to compose the interface from Python classes, so you type less, and your code becomes more maintainable. +Blockkit performs validation at runtime and provides user-friendly errors when data is invalid. +## Generate +You don't even need to write code yourself. Go to [blockkit-generator.com](https://blockkit-generator.com) paste your JSON payload from [Block Kit Builder](https://api.slack.com/tools/block-kit-builder) and get corresponding Python code! + +## Installation +```bash +pip install blockkit +``` +## Usage +Start with one of the `Home`, `Modal`, or `Message` surface classes and follow the structure as you would follow it in JSON. +The library supports all types of [surfaces](https://api.slack.com/surfaces), [blocks](https://api.slack.com/block-kit), [block elements](https://api.slack.com/block-kit), and [composition objects](https://api.slack.com/block-kit) Slack provides. +Once UI is ready, call the `build()` method to render components to dictionary: +```python +from blockkit import Section, MarkdownText +Section(text=MarkdownText(text="hello world")).build() +{"type": "section", "text": {"text": "hello world", "type": "mrkdwn"}} +``` +Here's the list of types of components and corresponding classes: +### Surfaces +| Type | Class | +| ------------- | ------------ | +| home | Home | +| modal | Modal | +| | Message | +| workflow_step | WorkflowStep | +### Blocks +| Type | Class | +| ------- | ---------- | +| actions | Actions | +| context | Context | +| divider | Divider | +| header | Header | +| image | ImageBlock | +| input | Input | +| section | Section | +### Block elements +| Type | Class | +| -------------------------- | ------------------------ | +| button | Button | +| checkboxes | Checkboxes | +| datepicker | DatePicker | +| type | Image | +| multi_static_select | MultiStaticSelect | +| multi_users_select | MultiUsersSelect | +| multi_channels_select | MultiChannelsSelect | +| multi_conversations_select | MultiConversationsSelect | +| multi_external_select | MultiExternalSelect | +| overflow | Overflow | +| plain_text_input | PlainTextInput | +| radio_buttons | RadioButtons | +| static_select | StaticSelect | +| users_select | UsersSelect | +| channels_select | ChannelsSelect | +| conversations_select | ConversationsSelect | +| external_select | ExternalSelect | +| timepicker | Timepicker | +### Composition objects +| Type | Class | +|------------|----------------------| +| plain_text | PlainText | +| mrkdwn | MarkdownText | +| | Confirm | +| | PlainOption | +| | MarkdownOption | +| | OptionGroup | +| | Filter | +| | DispatchActionConfig | +## Contributing +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. +Please make sure to update tests as appropriate. +## License +[MIT](https://choosealicense.com/licenses/mit/) + +%package -n python3-blockkit +Summary: A fast way to build Block Kit interfaces in Python. +Provides: python-blockkit +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-blockkit +Blockkit is a Python library for building UI interfaces for Slack apps. It allows you to compose the interface from Python classes, so you type less, and your code becomes more maintainable. +Blockkit performs validation at runtime and provides user-friendly errors when data is invalid. +## Generate +You don't even need to write code yourself. Go to [blockkit-generator.com](https://blockkit-generator.com) paste your JSON payload from [Block Kit Builder](https://api.slack.com/tools/block-kit-builder) and get corresponding Python code! + +## Installation +```bash +pip install blockkit +``` +## Usage +Start with one of the `Home`, `Modal`, or `Message` surface classes and follow the structure as you would follow it in JSON. +The library supports all types of [surfaces](https://api.slack.com/surfaces), [blocks](https://api.slack.com/block-kit), [block elements](https://api.slack.com/block-kit), and [composition objects](https://api.slack.com/block-kit) Slack provides. +Once UI is ready, call the `build()` method to render components to dictionary: +```python +from blockkit import Section, MarkdownText +Section(text=MarkdownText(text="hello world")).build() +{"type": "section", "text": {"text": "hello world", "type": "mrkdwn"}} +``` +Here's the list of types of components and corresponding classes: +### Surfaces +| Type | Class | +| ------------- | ------------ | +| home | Home | +| modal | Modal | +| | Message | +| workflow_step | WorkflowStep | +### Blocks +| Type | Class | +| ------- | ---------- | +| actions | Actions | +| context | Context | +| divider | Divider | +| header | Header | +| image | ImageBlock | +| input | Input | +| section | Section | +### Block elements +| Type | Class | +| -------------------------- | ------------------------ | +| button | Button | +| checkboxes | Checkboxes | +| datepicker | DatePicker | +| type | Image | +| multi_static_select | MultiStaticSelect | +| multi_users_select | MultiUsersSelect | +| multi_channels_select | MultiChannelsSelect | +| multi_conversations_select | MultiConversationsSelect | +| multi_external_select | MultiExternalSelect | +| overflow | Overflow | +| plain_text_input | PlainTextInput | +| radio_buttons | RadioButtons | +| static_select | StaticSelect | +| users_select | UsersSelect | +| channels_select | ChannelsSelect | +| conversations_select | ConversationsSelect | +| external_select | ExternalSelect | +| timepicker | Timepicker | +### Composition objects +| Type | Class | +|------------|----------------------| +| plain_text | PlainText | +| mrkdwn | MarkdownText | +| | Confirm | +| | PlainOption | +| | MarkdownOption | +| | OptionGroup | +| | Filter | +| | DispatchActionConfig | +## Contributing +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. +Please make sure to update tests as appropriate. +## License +[MIT](https://choosealicense.com/licenses/mit/) + +%package help +Summary: Development documents and examples for blockkit +Provides: python3-blockkit-doc +%description help +Blockkit is a Python library for building UI interfaces for Slack apps. It allows you to compose the interface from Python classes, so you type less, and your code becomes more maintainable. +Blockkit performs validation at runtime and provides user-friendly errors when data is invalid. +## Generate +You don't even need to write code yourself. Go to [blockkit-generator.com](https://blockkit-generator.com) paste your JSON payload from [Block Kit Builder](https://api.slack.com/tools/block-kit-builder) and get corresponding Python code! + +## Installation +```bash +pip install blockkit +``` +## Usage +Start with one of the `Home`, `Modal`, or `Message` surface classes and follow the structure as you would follow it in JSON. +The library supports all types of [surfaces](https://api.slack.com/surfaces), [blocks](https://api.slack.com/block-kit), [block elements](https://api.slack.com/block-kit), and [composition objects](https://api.slack.com/block-kit) Slack provides. +Once UI is ready, call the `build()` method to render components to dictionary: +```python +from blockkit import Section, MarkdownText +Section(text=MarkdownText(text="hello world")).build() +{"type": "section", "text": {"text": "hello world", "type": "mrkdwn"}} +``` +Here's the list of types of components and corresponding classes: +### Surfaces +| Type | Class | +| ------------- | ------------ | +| home | Home | +| modal | Modal | +| | Message | +| workflow_step | WorkflowStep | +### Blocks +| Type | Class | +| ------- | ---------- | +| actions | Actions | +| context | Context | +| divider | Divider | +| header | Header | +| image | ImageBlock | +| input | Input | +| section | Section | +### Block elements +| Type | Class | +| -------------------------- | ------------------------ | +| button | Button | +| checkboxes | Checkboxes | +| datepicker | DatePicker | +| type | Image | +| multi_static_select | MultiStaticSelect | +| multi_users_select | MultiUsersSelect | +| multi_channels_select | MultiChannelsSelect | +| multi_conversations_select | MultiConversationsSelect | +| multi_external_select | MultiExternalSelect | +| overflow | Overflow | +| plain_text_input | PlainTextInput | +| radio_buttons | RadioButtons | +| static_select | StaticSelect | +| users_select | UsersSelect | +| channels_select | ChannelsSelect | +| conversations_select | ConversationsSelect | +| external_select | ExternalSelect | +| timepicker | Timepicker | +### Composition objects +| Type | Class | +|------------|----------------------| +| plain_text | PlainText | +| mrkdwn | MarkdownText | +| | Confirm | +| | PlainOption | +| | MarkdownOption | +| | OptionGroup | +| | Filter | +| | DispatchActionConfig | +## Contributing +Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. +Please make sure to update tests as appropriate. +## License +[MIT](https://choosealicense.com/licenses/mit/) + +%prep +%autosetup -n blockkit-1.5.2 + +%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-blockkit -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.5.2-1 +- Package Spec generated @@ -0,0 +1 @@ +a44b1b0a3d9353f9e4147f04465a398a blockkit-1.5.2.tar.gz |