summaryrefslogtreecommitdiff
path: root/python-disk.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-05 10:36:40 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-05 10:36:40 +0000
commit7b3970bfe6d03356cf2fbfe9485071b2047ebfcc (patch)
tree8d8265f809fde5f48868eeb04064505f9ea733c9 /python-disk.spec
parentc2c3c36bcbeed254d60c1d8c457723d250451e9e (diff)
automatic import of python-diskopeneuler20.03
Diffstat (limited to 'python-disk.spec')
-rw-r--r--python-disk.spec472
1 files changed, 472 insertions, 0 deletions
diff --git a/python-disk.spec b/python-disk.spec
new file mode 100644
index 0000000..0a5f96f
--- /dev/null
+++ b/python-disk.spec
@@ -0,0 +1,472 @@
+%global _empty_manifest_terminate_build 0
+Name: python-disk
+Version: 2021.6.29
+Release: 1
+Summary: Python library for interacting with the file system
+License: MIT
+URL: https://github.com/idin/disk
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/01/2d/c5d406e56bc10643b5963d0cfa9be4da3fd0709f0a241b2931f240668a31/disk-2021.6.29.tar.gz
+BuildArch: noarch
+
+Requires: python3-dill
+Requires: python3-send2trash
+Requires: python3-chronometry
+Requires: python3-slytherin
+
+%description
+# *Disk*
+
+Disk is a Python library for interacting with the file system in an object oriented manner.
+I know you can use os and os.path to do all of these but I find their usage hard to remember
+and true to object oriented principles.
+
+# Installation
+
+You can use pip to install Disk:
+
+```bash
+pip install disk
+```
+
+# Usage
+
+All files and directories (folders) are considered *Path* objects.
+Any path except the root, has a parent: the directory it is in.
+Directories have children, some of them are files and some are subdirectories.
+
+
+## Path
+
+The *Path* object points to an existing or non-existing file or directory.
+```python
+from disk import Path
+path = Path('C:\\')
+```
+
+
+### *get_current_directory*
+
+Usually we want to start in the current working directory:
+```python
+path = Path.get_current_directory()
+```
+
+
+### *list*, *dir*, *ls*
+
+All of the above methods do the same thing;
+*ls* is for linux people, *dir* is for windows people, and *list* is for literal people.
+
+```python
+print(path.list())
+```
+
+
+### *directories*
+
+To get the sub-directories of a directory use the *directories* attribute which returns a list of *Paths*:
+```python
+subdirectories = path.directories
+```
+
+
+### *files*
+
+To get the files inside a directory use the *files* attribute which returns a list of *Paths*:
+```python
+files = path.files
+```
+
+### *parent_directory*
+
+The parent directory is the directory a *Path* (either file or directory) is inside of.
+```python
+parent_directory = path.parent_directory
+```
+
+
+### *make_directory*
+
+To create a new directory **inside** a *Path* that is also a directory, use *make_directory*
+with the name of the new directory as the *name* argument:
+```python
+path.make_directory(name='new_directory')
+```
+
+
+You can also create a directory at the location of the *Path* object by letting the *name*
+argument take its default value of *None*:
+```python
+path.make_directory()
+```
+
+
+### *make_parent_directory*
+
+Sometimes you need to create a new file at a *Path* that doesn't already exist, *i.e.* the directory
+of the file location doesn't exist. This is when *make_parent_directory* becomes handy:
+```python
+path.make_parent_directory(ignore_if_exists=True)
+```
+The default value of *ignore_if_exists* is *True*.
+
+
+### *delete*
+
+The *delete* function moves a file or directory to the trash. If the *name* argument is provided
+the file or directory inside the *Path* with that name will be deleted:
+```python
+path.delete(name='new_directory')
+```
+
+
+If the *name* argument is not provided the file or directory the *Path* points to will be deleted:
+```python
+path.delete()
+```
+
+
+### *save*
+
+To save a Python object as a **Pickle** file using the *pickle* or *dill* library you can just use the
+*save* function of the *Path* which saves the object right at the location of *Path*.
+```python
+my_list = [1, 2, 3]
+Path('my_list.pickle').save(my_list, method='pickle')
+Path('my_list.dill').save(my_list, method='dill')
+```
+
+
+### *load*
+
+To load an object from a **Pickle** file located at a *Path* you can run the *load* function of the *Path*.
+```python
+list_from_pickle = Path('my_list.pickle').load(method='pickle')
+list_from_dill = Path('my_list.dill').load(method='dill')
+```
+
+
+
+
+%package -n python3-disk
+Summary: Python library for interacting with the file system
+Provides: python-disk
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-disk
+# *Disk*
+
+Disk is a Python library for interacting with the file system in an object oriented manner.
+I know you can use os and os.path to do all of these but I find their usage hard to remember
+and true to object oriented principles.
+
+# Installation
+
+You can use pip to install Disk:
+
+```bash
+pip install disk
+```
+
+# Usage
+
+All files and directories (folders) are considered *Path* objects.
+Any path except the root, has a parent: the directory it is in.
+Directories have children, some of them are files and some are subdirectories.
+
+
+## Path
+
+The *Path* object points to an existing or non-existing file or directory.
+```python
+from disk import Path
+path = Path('C:\\')
+```
+
+
+### *get_current_directory*
+
+Usually we want to start in the current working directory:
+```python
+path = Path.get_current_directory()
+```
+
+
+### *list*, *dir*, *ls*
+
+All of the above methods do the same thing;
+*ls* is for linux people, *dir* is for windows people, and *list* is for literal people.
+
+```python
+print(path.list())
+```
+
+
+### *directories*
+
+To get the sub-directories of a directory use the *directories* attribute which returns a list of *Paths*:
+```python
+subdirectories = path.directories
+```
+
+
+### *files*
+
+To get the files inside a directory use the *files* attribute which returns a list of *Paths*:
+```python
+files = path.files
+```
+
+### *parent_directory*
+
+The parent directory is the directory a *Path* (either file or directory) is inside of.
+```python
+parent_directory = path.parent_directory
+```
+
+
+### *make_directory*
+
+To create a new directory **inside** a *Path* that is also a directory, use *make_directory*
+with the name of the new directory as the *name* argument:
+```python
+path.make_directory(name='new_directory')
+```
+
+
+You can also create a directory at the location of the *Path* object by letting the *name*
+argument take its default value of *None*:
+```python
+path.make_directory()
+```
+
+
+### *make_parent_directory*
+
+Sometimes you need to create a new file at a *Path* that doesn't already exist, *i.e.* the directory
+of the file location doesn't exist. This is when *make_parent_directory* becomes handy:
+```python
+path.make_parent_directory(ignore_if_exists=True)
+```
+The default value of *ignore_if_exists* is *True*.
+
+
+### *delete*
+
+The *delete* function moves a file or directory to the trash. If the *name* argument is provided
+the file or directory inside the *Path* with that name will be deleted:
+```python
+path.delete(name='new_directory')
+```
+
+
+If the *name* argument is not provided the file or directory the *Path* points to will be deleted:
+```python
+path.delete()
+```
+
+
+### *save*
+
+To save a Python object as a **Pickle** file using the *pickle* or *dill* library you can just use the
+*save* function of the *Path* which saves the object right at the location of *Path*.
+```python
+my_list = [1, 2, 3]
+Path('my_list.pickle').save(my_list, method='pickle')
+Path('my_list.dill').save(my_list, method='dill')
+```
+
+
+### *load*
+
+To load an object from a **Pickle** file located at a *Path* you can run the *load* function of the *Path*.
+```python
+list_from_pickle = Path('my_list.pickle').load(method='pickle')
+list_from_dill = Path('my_list.dill').load(method='dill')
+```
+
+
+
+
+%package help
+Summary: Development documents and examples for disk
+Provides: python3-disk-doc
+%description help
+# *Disk*
+
+Disk is a Python library for interacting with the file system in an object oriented manner.
+I know you can use os and os.path to do all of these but I find their usage hard to remember
+and true to object oriented principles.
+
+# Installation
+
+You can use pip to install Disk:
+
+```bash
+pip install disk
+```
+
+# Usage
+
+All files and directories (folders) are considered *Path* objects.
+Any path except the root, has a parent: the directory it is in.
+Directories have children, some of them are files and some are subdirectories.
+
+
+## Path
+
+The *Path* object points to an existing or non-existing file or directory.
+```python
+from disk import Path
+path = Path('C:\\')
+```
+
+
+### *get_current_directory*
+
+Usually we want to start in the current working directory:
+```python
+path = Path.get_current_directory()
+```
+
+
+### *list*, *dir*, *ls*
+
+All of the above methods do the same thing;
+*ls* is for linux people, *dir* is for windows people, and *list* is for literal people.
+
+```python
+print(path.list())
+```
+
+
+### *directories*
+
+To get the sub-directories of a directory use the *directories* attribute which returns a list of *Paths*:
+```python
+subdirectories = path.directories
+```
+
+
+### *files*
+
+To get the files inside a directory use the *files* attribute which returns a list of *Paths*:
+```python
+files = path.files
+```
+
+### *parent_directory*
+
+The parent directory is the directory a *Path* (either file or directory) is inside of.
+```python
+parent_directory = path.parent_directory
+```
+
+
+### *make_directory*
+
+To create a new directory **inside** a *Path* that is also a directory, use *make_directory*
+with the name of the new directory as the *name* argument:
+```python
+path.make_directory(name='new_directory')
+```
+
+
+You can also create a directory at the location of the *Path* object by letting the *name*
+argument take its default value of *None*:
+```python
+path.make_directory()
+```
+
+
+### *make_parent_directory*
+
+Sometimes you need to create a new file at a *Path* that doesn't already exist, *i.e.* the directory
+of the file location doesn't exist. This is when *make_parent_directory* becomes handy:
+```python
+path.make_parent_directory(ignore_if_exists=True)
+```
+The default value of *ignore_if_exists* is *True*.
+
+
+### *delete*
+
+The *delete* function moves a file or directory to the trash. If the *name* argument is provided
+the file or directory inside the *Path* with that name will be deleted:
+```python
+path.delete(name='new_directory')
+```
+
+
+If the *name* argument is not provided the file or directory the *Path* points to will be deleted:
+```python
+path.delete()
+```
+
+
+### *save*
+
+To save a Python object as a **Pickle** file using the *pickle* or *dill* library you can just use the
+*save* function of the *Path* which saves the object right at the location of *Path*.
+```python
+my_list = [1, 2, 3]
+Path('my_list.pickle').save(my_list, method='pickle')
+Path('my_list.dill').save(my_list, method='dill')
+```
+
+
+### *load*
+
+To load an object from a **Pickle** file located at a *Path* you can run the *load* function of the *Path*.
+```python
+list_from_pickle = Path('my_list.pickle').load(method='pickle')
+list_from_dill = Path('my_list.dill').load(method='dill')
+```
+
+
+
+
+%prep
+%autosetup -n disk-2021.6.29
+
+%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-disk -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2021.6.29-1
+- Package Spec generated