%global _empty_manifest_terminate_build 0
Name:		python-splitfile
Version:	2.0.2
Release:	1
Summary:	File like object that splits data across volumes
License:	GNU General Public License v3 (GPLv3)
URL:		https://github.com/alemigo/splitfile
Source0:	https://mirrors.aliyun.com/pypi/web/packages/b3/df/c6826152fc532901708a8ec4719c66d36066ee36423799f616bfd96663fe/splitfile-2.0.2.tar.gz
BuildArch:	noarch


%description
# splitfile

Python file-like object that facilitates reading and writing of binary data split across multiple volumes (files) of a specified size.  Supports random access IO.

Can be used with modules such as tarfile, zipfile, lzma, etc. enabling read/write of split archives.

Note: Version 2.0 removes previously integrated encryption and compression options.  The
breadth of choice across both suggests they are better handled as a separate layer,
leaving splitfile to simply manage the final IO across volumes.

### Examples
```
import splitfile

with splitfile.open('data.bin', 'wb') as f:
    f.write(b'Hello, World!')
```
```
import splitfile
import tarfile

with splitfile.open('data.bin', 'wb', volume_size=1000000) as f:
    with tarfile.open(mode='w', fileobj=f) as t:
        for file in files:
            t.add(file)

Result:
data.bin
data.bin.2
data.bin.3
...
```
### Documentation

splitfile.**open**(*filename, mode, volume_size=0, append_to_partial=True*)

Returns a SplitFile object.

 - *filename* contains a valid file path.  Volumes add a suffix (.2, .3, etc.).
 - Supported *mode* values are `wb, wb+, ab, ab+, rb, rb+`.
 - *volume_size* specifies the max size of a volume in bytes.
 - *append_to_partial* set to True appends data written to the end of a previously created file by adding to the last volume if its size is less than *volume_size*.  If False, a new volume is always created for writing beyond the end of an existing file.

### Dependencies

None

### Installation

pip install splitfile




%package -n python3-splitfile
Summary:	File like object that splits data across volumes
Provides:	python-splitfile
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-splitfile
# splitfile

Python file-like object that facilitates reading and writing of binary data split across multiple volumes (files) of a specified size.  Supports random access IO.

Can be used with modules such as tarfile, zipfile, lzma, etc. enabling read/write of split archives.

Note: Version 2.0 removes previously integrated encryption and compression options.  The
breadth of choice across both suggests they are better handled as a separate layer,
leaving splitfile to simply manage the final IO across volumes.

### Examples
```
import splitfile

with splitfile.open('data.bin', 'wb') as f:
    f.write(b'Hello, World!')
```
```
import splitfile
import tarfile

with splitfile.open('data.bin', 'wb', volume_size=1000000) as f:
    with tarfile.open(mode='w', fileobj=f) as t:
        for file in files:
            t.add(file)

Result:
data.bin
data.bin.2
data.bin.3
...
```
### Documentation

splitfile.**open**(*filename, mode, volume_size=0, append_to_partial=True*)

Returns a SplitFile object.

 - *filename* contains a valid file path.  Volumes add a suffix (.2, .3, etc.).
 - Supported *mode* values are `wb, wb+, ab, ab+, rb, rb+`.
 - *volume_size* specifies the max size of a volume in bytes.
 - *append_to_partial* set to True appends data written to the end of a previously created file by adding to the last volume if its size is less than *volume_size*.  If False, a new volume is always created for writing beyond the end of an existing file.

### Dependencies

None

### Installation

pip install splitfile




%package help
Summary:	Development documents and examples for splitfile
Provides:	python3-splitfile-doc
%description help
# splitfile

Python file-like object that facilitates reading and writing of binary data split across multiple volumes (files) of a specified size.  Supports random access IO.

Can be used with modules such as tarfile, zipfile, lzma, etc. enabling read/write of split archives.

Note: Version 2.0 removes previously integrated encryption and compression options.  The
breadth of choice across both suggests they are better handled as a separate layer,
leaving splitfile to simply manage the final IO across volumes.

### Examples
```
import splitfile

with splitfile.open('data.bin', 'wb') as f:
    f.write(b'Hello, World!')
```
```
import splitfile
import tarfile

with splitfile.open('data.bin', 'wb', volume_size=1000000) as f:
    with tarfile.open(mode='w', fileobj=f) as t:
        for file in files:
            t.add(file)

Result:
data.bin
data.bin.2
data.bin.3
...
```
### Documentation

splitfile.**open**(*filename, mode, volume_size=0, append_to_partial=True*)

Returns a SplitFile object.

 - *filename* contains a valid file path.  Volumes add a suffix (.2, .3, etc.).
 - Supported *mode* values are `wb, wb+, ab, ab+, rb, rb+`.
 - *volume_size* specifies the max size of a volume in bytes.
 - *append_to_partial* set to True appends data written to the end of a previously created file by adding to the last volume if its size is less than *volume_size*.  If False, a new volume is always created for writing beyond the end of an existing file.

### Dependencies

None

### Installation

pip install splitfile




%prep
%autosetup -n splitfile-2.0.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-splitfile -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.2-1
- Package Spec generated