summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 21:17:35 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 21:17:35 +0000
commitc5cc506e69fefcf9a096bc09b177a69228746909 (patch)
tree242765a3e636c392c1edd591889e8ef54fbeb7eb
parent20da5fd93a2f50d498287645054eb72aa636a3f6 (diff)
automatic import of python-ipyfilechooser
-rw-r--r--.gitignore1
-rw-r--r--python-ipyfilechooser.spec640
-rw-r--r--sources1
3 files changed, 642 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..b3c2875 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/ipyfilechooser-0.6.0.tar.gz
diff --git a/python-ipyfilechooser.spec b/python-ipyfilechooser.spec
new file mode 100644
index 0000000..57e0e59
--- /dev/null
+++ b/python-ipyfilechooser.spec
@@ -0,0 +1,640 @@
+%global _empty_manifest_terminate_build 0
+Name: python-ipyfilechooser
+Version: 0.6.0
+Release: 1
+Summary: Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets
+License: MIT
+URL: https://github.com/crahan/ipyfilechooser
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/13/63/a0bfdda0cdf002421632734e203e4692d72dc4e71cd006f101c90f9ba6d3/ipyfilechooser-0.6.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-ipywidgets
+
+%description
+# ipyfilechooser
+
+A simple Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets. The selected path and file are available via `.selected_path` and `.selected_filename` respectvely or as a single combined filepath via `.selected`. The dialog can be reset to its default path and filename by using `.reset()`.
+
+When a typed filename matches an existing file entry in the current folder the entry will be highlighted. If a typed filename matches a folder entry in the current view the selection button is disabled ensure the user is aware of the match. To select a folder simply leave the filename field empty.
+
+To emphasize the risk of overwriting existing files, the selected filepath is displayed in green if the file does not exist and orange if it does.
+
+[![Downloads](https://pepy.tech/badge/ipyfilechooser)](https://pepy.tech/project/ipyfilechooser)
+
+## Usage
+
+```python
+from ipyfilechooser import FileChooser
+
+# Create and display a FileChooser widget
+fc = FileChooser('/Users/crahan/FC demo')
+display(fc)
+
+# Print the selected path, filename, or both
+print(fc.selected_path)
+print(fc.selected_filename)
+print(fc.selected)
+
+# Change defaults and reset the dialog
+fc.default_path = '/Users/crahan/'
+fc.default_filename = 'output.txt'
+fc.reset()
+
+# Shorthand reset
+fc.reset(path='/Users/crahan/', filename='output.txt')
+
+# Restrict navigation to /Users
+fc.sandbox_path = '/Users'
+
+# Change hidden files
+fc.show_hidden = True
+
+# Customize dir icon
+fc.dir_icon = '/'
+fc.dir_icon_append = True
+
+# Switch to folder-only mode
+fc.show_only_dirs = True
+
+# Set a file filter pattern (uses https://docs.python.org/3/library/fnmatch.html)
+fc.filter_pattern = '*.txt'
+
+# Set multiple file filter patterns (uses https://docs.python.org/3/library/fnmatch.html)
+fc.filter_pattern = ['*.jpg', '*.png']
+
+# Change the title (use '' to hide)
+fc.title = '<b>FileChooser title</b>'
+
+# Sample callback function
+def change_title(chooser):
+ chooser.title = '<b>Callback function executed</b>'
+
+# Register callback function
+fc.register_callback(change_title)
+```
+
+## Functions and properties
+
+```python
+fc.reset()
+fc.refresh()
+fc.register_callback(function_name)
+fc.show_hidden
+fc.dir_icon
+fc.dir_icon_append
+fc.show_only_dirs
+fc.rows
+fc.title
+fc.filter_pattern
+fc.default
+fc.default_path
+fc.default_filename
+fc.sandbox_path
+fc.value
+fc.selected
+fc.selected_path
+fc.selected_filename
+```
+
+## Screenshots
+
+### Closed vs open dialog
+
+![Screenshot 1](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_1.png)
+
+![Screenshot 2](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_2.png)
+
+### Existing vs new file selection
+
+![Screenshot 3](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_3.png)
+
+![Screenshot 4](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_4.png)
+
+### Quick navigation dropdown
+
+![Screenshot 5](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_5.png)
+
+### Use folder icons
+
+![Screenshot 6](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_6.png)
+
+### Restrict navigation
+
+![Screenshot 7](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_7.png)
+
+## Release notes
+
+### 0.6.0
+
+- The ability to restrict file browsing to a `sandbox_path` folder has finally been added!
+- Filenames can not contain path separator characters or parent folder strings (i.e., '..')
+- `use_dir_icons` has been replaced with `dir_icon` which allows for customizing the folder icon
+- `dir_icon_append` can now be used to put the folder icon before or after the folder name
+- Better error handling with `ParentPathError`, `InvalidPathError`, and `InvalidFileNameError`
+- Better and more consistent handling of Windows drive letters and paths
+- Fix bug where resetting the filechooser would not reenable the select/change button
+- Properly handle folder permission errors by raising a warning
+
+### 0.5.0
+
+- Widget width is now configurable using the `layout` property and a `Layout` object
+- Folder paths are now normalized using `os.path.normpath` to properly handle '/' and '\\' on Windows
+- The widget now supports the `value` property to align with other widget types
+- The label showing the selected value now reflows the text to new lines as required (and shows a scrollbar if the value is too long)
+- Buttons now have a minimum width to ensure their text is always visible, regardless of widget width
+
+### 0.4.4
+
+- Added typing hints (@Mandroide)
+- Updated max line length check from 90 to 120 characters
+- Fixed `filter_pattern` values not being treated as case-insensitive
+- General code cleanup
+
+### 0.4.3
+
+- Prevent applying the selected value if the filename doesn't match one of the `filter_pattern` values
+
+### 0.4.2
+
+- Added ability to specify a list of `fnmatch` pattern strings for `filter_pattern`
+
+### 0.4.1
+
+- Fixed issue with `select_default` not being applied on `reset`
+
+### 0.4.0
+
+- Option added to specify a file filter (@andriykorchak)
+- Add support for `ValueWidget` and `get_interact_value()`
+- Updated sample notebook with filter example
+- Updated Development Status to Production/Stable
+
+### 0.3.5
+
+- Option added to only display folders (@andriykorchak)
+
+### 0.3.4
+
+- Option added to display folder icons (@ptooley)
+
+### 0.3.3
+
+- Option added to add `self` as an argument to the callback function (@ptooley)
+
+### 0.3.2
+
+- Return `None` if file is not selected (@danjjl)
+
+### 0.3.1
+
+- Option to register a callback function (`register_callback(function_name)`)
+
+### 0.3.0
+
+- Ability to select a folder
+- Support for Windows drive letters
+- Option to use the defaults as the selected value
+
+### 0.2.0
+
+- First public release
+
+
+
+
+%package -n python3-ipyfilechooser
+Summary: Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets
+Provides: python-ipyfilechooser
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-ipyfilechooser
+# ipyfilechooser
+
+A simple Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets. The selected path and file are available via `.selected_path` and `.selected_filename` respectvely or as a single combined filepath via `.selected`. The dialog can be reset to its default path and filename by using `.reset()`.
+
+When a typed filename matches an existing file entry in the current folder the entry will be highlighted. If a typed filename matches a folder entry in the current view the selection button is disabled ensure the user is aware of the match. To select a folder simply leave the filename field empty.
+
+To emphasize the risk of overwriting existing files, the selected filepath is displayed in green if the file does not exist and orange if it does.
+
+[![Downloads](https://pepy.tech/badge/ipyfilechooser)](https://pepy.tech/project/ipyfilechooser)
+
+## Usage
+
+```python
+from ipyfilechooser import FileChooser
+
+# Create and display a FileChooser widget
+fc = FileChooser('/Users/crahan/FC demo')
+display(fc)
+
+# Print the selected path, filename, or both
+print(fc.selected_path)
+print(fc.selected_filename)
+print(fc.selected)
+
+# Change defaults and reset the dialog
+fc.default_path = '/Users/crahan/'
+fc.default_filename = 'output.txt'
+fc.reset()
+
+# Shorthand reset
+fc.reset(path='/Users/crahan/', filename='output.txt')
+
+# Restrict navigation to /Users
+fc.sandbox_path = '/Users'
+
+# Change hidden files
+fc.show_hidden = True
+
+# Customize dir icon
+fc.dir_icon = '/'
+fc.dir_icon_append = True
+
+# Switch to folder-only mode
+fc.show_only_dirs = True
+
+# Set a file filter pattern (uses https://docs.python.org/3/library/fnmatch.html)
+fc.filter_pattern = '*.txt'
+
+# Set multiple file filter patterns (uses https://docs.python.org/3/library/fnmatch.html)
+fc.filter_pattern = ['*.jpg', '*.png']
+
+# Change the title (use '' to hide)
+fc.title = '<b>FileChooser title</b>'
+
+# Sample callback function
+def change_title(chooser):
+ chooser.title = '<b>Callback function executed</b>'
+
+# Register callback function
+fc.register_callback(change_title)
+```
+
+## Functions and properties
+
+```python
+fc.reset()
+fc.refresh()
+fc.register_callback(function_name)
+fc.show_hidden
+fc.dir_icon
+fc.dir_icon_append
+fc.show_only_dirs
+fc.rows
+fc.title
+fc.filter_pattern
+fc.default
+fc.default_path
+fc.default_filename
+fc.sandbox_path
+fc.value
+fc.selected
+fc.selected_path
+fc.selected_filename
+```
+
+## Screenshots
+
+### Closed vs open dialog
+
+![Screenshot 1](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_1.png)
+
+![Screenshot 2](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_2.png)
+
+### Existing vs new file selection
+
+![Screenshot 3](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_3.png)
+
+![Screenshot 4](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_4.png)
+
+### Quick navigation dropdown
+
+![Screenshot 5](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_5.png)
+
+### Use folder icons
+
+![Screenshot 6](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_6.png)
+
+### Restrict navigation
+
+![Screenshot 7](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_7.png)
+
+## Release notes
+
+### 0.6.0
+
+- The ability to restrict file browsing to a `sandbox_path` folder has finally been added!
+- Filenames can not contain path separator characters or parent folder strings (i.e., '..')
+- `use_dir_icons` has been replaced with `dir_icon` which allows for customizing the folder icon
+- `dir_icon_append` can now be used to put the folder icon before or after the folder name
+- Better error handling with `ParentPathError`, `InvalidPathError`, and `InvalidFileNameError`
+- Better and more consistent handling of Windows drive letters and paths
+- Fix bug where resetting the filechooser would not reenable the select/change button
+- Properly handle folder permission errors by raising a warning
+
+### 0.5.0
+
+- Widget width is now configurable using the `layout` property and a `Layout` object
+- Folder paths are now normalized using `os.path.normpath` to properly handle '/' and '\\' on Windows
+- The widget now supports the `value` property to align with other widget types
+- The label showing the selected value now reflows the text to new lines as required (and shows a scrollbar if the value is too long)
+- Buttons now have a minimum width to ensure their text is always visible, regardless of widget width
+
+### 0.4.4
+
+- Added typing hints (@Mandroide)
+- Updated max line length check from 90 to 120 characters
+- Fixed `filter_pattern` values not being treated as case-insensitive
+- General code cleanup
+
+### 0.4.3
+
+- Prevent applying the selected value if the filename doesn't match one of the `filter_pattern` values
+
+### 0.4.2
+
+- Added ability to specify a list of `fnmatch` pattern strings for `filter_pattern`
+
+### 0.4.1
+
+- Fixed issue with `select_default` not being applied on `reset`
+
+### 0.4.0
+
+- Option added to specify a file filter (@andriykorchak)
+- Add support for `ValueWidget` and `get_interact_value()`
+- Updated sample notebook with filter example
+- Updated Development Status to Production/Stable
+
+### 0.3.5
+
+- Option added to only display folders (@andriykorchak)
+
+### 0.3.4
+
+- Option added to display folder icons (@ptooley)
+
+### 0.3.3
+
+- Option added to add `self` as an argument to the callback function (@ptooley)
+
+### 0.3.2
+
+- Return `None` if file is not selected (@danjjl)
+
+### 0.3.1
+
+- Option to register a callback function (`register_callback(function_name)`)
+
+### 0.3.0
+
+- Ability to select a folder
+- Support for Windows drive letters
+- Option to use the defaults as the selected value
+
+### 0.2.0
+
+- First public release
+
+
+
+
+%package help
+Summary: Development documents and examples for ipyfilechooser
+Provides: python3-ipyfilechooser-doc
+%description help
+# ipyfilechooser
+
+A simple Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets. The selected path and file are available via `.selected_path` and `.selected_filename` respectvely or as a single combined filepath via `.selected`. The dialog can be reset to its default path and filename by using `.reset()`.
+
+When a typed filename matches an existing file entry in the current folder the entry will be highlighted. If a typed filename matches a folder entry in the current view the selection button is disabled ensure the user is aware of the match. To select a folder simply leave the filename field empty.
+
+To emphasize the risk of overwriting existing files, the selected filepath is displayed in green if the file does not exist and orange if it does.
+
+[![Downloads](https://pepy.tech/badge/ipyfilechooser)](https://pepy.tech/project/ipyfilechooser)
+
+## Usage
+
+```python
+from ipyfilechooser import FileChooser
+
+# Create and display a FileChooser widget
+fc = FileChooser('/Users/crahan/FC demo')
+display(fc)
+
+# Print the selected path, filename, or both
+print(fc.selected_path)
+print(fc.selected_filename)
+print(fc.selected)
+
+# Change defaults and reset the dialog
+fc.default_path = '/Users/crahan/'
+fc.default_filename = 'output.txt'
+fc.reset()
+
+# Shorthand reset
+fc.reset(path='/Users/crahan/', filename='output.txt')
+
+# Restrict navigation to /Users
+fc.sandbox_path = '/Users'
+
+# Change hidden files
+fc.show_hidden = True
+
+# Customize dir icon
+fc.dir_icon = '/'
+fc.dir_icon_append = True
+
+# Switch to folder-only mode
+fc.show_only_dirs = True
+
+# Set a file filter pattern (uses https://docs.python.org/3/library/fnmatch.html)
+fc.filter_pattern = '*.txt'
+
+# Set multiple file filter patterns (uses https://docs.python.org/3/library/fnmatch.html)
+fc.filter_pattern = ['*.jpg', '*.png']
+
+# Change the title (use '' to hide)
+fc.title = '<b>FileChooser title</b>'
+
+# Sample callback function
+def change_title(chooser):
+ chooser.title = '<b>Callback function executed</b>'
+
+# Register callback function
+fc.register_callback(change_title)
+```
+
+## Functions and properties
+
+```python
+fc.reset()
+fc.refresh()
+fc.register_callback(function_name)
+fc.show_hidden
+fc.dir_icon
+fc.dir_icon_append
+fc.show_only_dirs
+fc.rows
+fc.title
+fc.filter_pattern
+fc.default
+fc.default_path
+fc.default_filename
+fc.sandbox_path
+fc.value
+fc.selected
+fc.selected_path
+fc.selected_filename
+```
+
+## Screenshots
+
+### Closed vs open dialog
+
+![Screenshot 1](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_1.png)
+
+![Screenshot 2](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_2.png)
+
+### Existing vs new file selection
+
+![Screenshot 3](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_3.png)
+
+![Screenshot 4](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_4.png)
+
+### Quick navigation dropdown
+
+![Screenshot 5](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_5.png)
+
+### Use folder icons
+
+![Screenshot 6](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_6.png)
+
+### Restrict navigation
+
+![Screenshot 7](https://github.com/crahan/ipyfilechooser/raw/master/screenshots/FileChooser_screenshot_7.png)
+
+## Release notes
+
+### 0.6.0
+
+- The ability to restrict file browsing to a `sandbox_path` folder has finally been added!
+- Filenames can not contain path separator characters or parent folder strings (i.e., '..')
+- `use_dir_icons` has been replaced with `dir_icon` which allows for customizing the folder icon
+- `dir_icon_append` can now be used to put the folder icon before or after the folder name
+- Better error handling with `ParentPathError`, `InvalidPathError`, and `InvalidFileNameError`
+- Better and more consistent handling of Windows drive letters and paths
+- Fix bug where resetting the filechooser would not reenable the select/change button
+- Properly handle folder permission errors by raising a warning
+
+### 0.5.0
+
+- Widget width is now configurable using the `layout` property and a `Layout` object
+- Folder paths are now normalized using `os.path.normpath` to properly handle '/' and '\\' on Windows
+- The widget now supports the `value` property to align with other widget types
+- The label showing the selected value now reflows the text to new lines as required (and shows a scrollbar if the value is too long)
+- Buttons now have a minimum width to ensure their text is always visible, regardless of widget width
+
+### 0.4.4
+
+- Added typing hints (@Mandroide)
+- Updated max line length check from 90 to 120 characters
+- Fixed `filter_pattern` values not being treated as case-insensitive
+- General code cleanup
+
+### 0.4.3
+
+- Prevent applying the selected value if the filename doesn't match one of the `filter_pattern` values
+
+### 0.4.2
+
+- Added ability to specify a list of `fnmatch` pattern strings for `filter_pattern`
+
+### 0.4.1
+
+- Fixed issue with `select_default` not being applied on `reset`
+
+### 0.4.0
+
+- Option added to specify a file filter (@andriykorchak)
+- Add support for `ValueWidget` and `get_interact_value()`
+- Updated sample notebook with filter example
+- Updated Development Status to Production/Stable
+
+### 0.3.5
+
+- Option added to only display folders (@andriykorchak)
+
+### 0.3.4
+
+- Option added to display folder icons (@ptooley)
+
+### 0.3.3
+
+- Option added to add `self` as an argument to the callback function (@ptooley)
+
+### 0.3.2
+
+- Return `None` if file is not selected (@danjjl)
+
+### 0.3.1
+
+- Option to register a callback function (`register_callback(function_name)`)
+
+### 0.3.0
+
+- Ability to select a folder
+- Support for Windows drive letters
+- Option to use the defaults as the selected value
+
+### 0.2.0
+
+- First public release
+
+
+
+
+%prep
+%autosetup -n ipyfilechooser-0.6.0
+
+%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-ipyfilechooser -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..35c8eb8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+740d0eb770a51fb9864e0f094fd33041 ipyfilechooser-0.6.0.tar.gz