%global _empty_manifest_terminate_build 0 Name: python-rcslice Version: 1.1.0 Release: 1 Summary: Slice a list of sliceables (1 indexed, start and end index both are inclusive) License: BSD URL: https://github.com/neurobin/rcslice Source0: https://mirrors.nju.edu.cn/pypi/web/packages/53/3e/abe47d91d5340b77b003baf96fdf8966c946eb4c5a704a844b5d03e6e578/rcslice-1.1.0.tar.gz BuildArch: noarch %description [![Build Status](https://travis-ci.org/neurobin/rcslice.svg?branch=release)](https://travis-ci.org/neurobin/rcslice) This package provides Python module to slice a list of sliceables (1 indexed, both start and end index are inclusive). Helps to slice file content line by line or column by column or a combination of both. # Install Install from Pypi: ```bash pip install rcslice ``` # Usage ```python from rcslice import RowSlice rs = RowSlice() list_of_sliceables = rs.slice(list_of_sliceables, '1-2,2.4-4.5,8-2.6') ``` # Slicing syntax Below, r is the row number, and c is the column number. All indexes are inclusive and 1 indexed. r.c-r.c r.c-r.c,r.c-r.c,... .c-.c [not specifying both r means slice on every row for the columns] 1.c-.c [not specifying r means the last row when another r is specified] .c-1 [last row.c to first row, reversion] r [only r'th row] r1-r2 [when both r is not the same, not specifying c means the first c for start index and last c for end index] r1-r2.c [first c of r1 to r2.c] r1.c-r2 [r1.c to last c of r2] r-r.c [when both r is the same, not specifying one c will mean the last c] r-r [when both r is the same, not specifying both c means the first c for start index and last c for end index] e.c-e.c [e means last row] e-e [last row] e-e.c [last c of e to e.c] e.c-e [e.c to last c of e] e.e-e.e [same as e-e, e in column is stripped off] The e to specify the last row is exclusively for row only. Do keep in mind that the class name is RowSlice. It gives special priority on row and not just with the special character e. You will see some major difference in how r and c works in above syntax explanation. For multiple slice syntax `r.c-r.c,r.c-r.c,...`, a separator will be inserted between each slice. You can set the separator by passing it during class object instantiation: ```python rs = RowSlice(['I am a separator']) ``` This separator is also a **list** of something. # Examples An example of slicing a file content read by `readlines()`: ```python import os from rcslice import RowSlice def get_file_lines(filename): content = [] try: with open(os.path.join(os.path.dirname(__file__), filename), 'r') as f: content = f.readlines() except OSError as e: raise return content rs = RowSlice(['','']) # ['',''] will add 2 new lines for multi slice syntax (e.g 1-2,3-4,...) list_of_lines = get_file_lines('test.txt') print("before: ", list_of_lines) list_of_lines = rs.slice(list_of_lines, '1-2,1.2-4.5,3.4-1.3,.4-.9') print("after: ", list_of_lines) ``` %package -n python3-rcslice Summary: Slice a list of sliceables (1 indexed, start and end index both are inclusive) Provides: python-rcslice BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-rcslice [![Build Status](https://travis-ci.org/neurobin/rcslice.svg?branch=release)](https://travis-ci.org/neurobin/rcslice) This package provides Python module to slice a list of sliceables (1 indexed, both start and end index are inclusive). Helps to slice file content line by line or column by column or a combination of both. # Install Install from Pypi: ```bash pip install rcslice ``` # Usage ```python from rcslice import RowSlice rs = RowSlice() list_of_sliceables = rs.slice(list_of_sliceables, '1-2,2.4-4.5,8-2.6') ``` # Slicing syntax Below, r is the row number, and c is the column number. All indexes are inclusive and 1 indexed. r.c-r.c r.c-r.c,r.c-r.c,... .c-.c [not specifying both r means slice on every row for the columns] 1.c-.c [not specifying r means the last row when another r is specified] .c-1 [last row.c to first row, reversion] r [only r'th row] r1-r2 [when both r is not the same, not specifying c means the first c for start index and last c for end index] r1-r2.c [first c of r1 to r2.c] r1.c-r2 [r1.c to last c of r2] r-r.c [when both r is the same, not specifying one c will mean the last c] r-r [when both r is the same, not specifying both c means the first c for start index and last c for end index] e.c-e.c [e means last row] e-e [last row] e-e.c [last c of e to e.c] e.c-e [e.c to last c of e] e.e-e.e [same as e-e, e in column is stripped off] The e to specify the last row is exclusively for row only. Do keep in mind that the class name is RowSlice. It gives special priority on row and not just with the special character e. You will see some major difference in how r and c works in above syntax explanation. For multiple slice syntax `r.c-r.c,r.c-r.c,...`, a separator will be inserted between each slice. You can set the separator by passing it during class object instantiation: ```python rs = RowSlice(['I am a separator']) ``` This separator is also a **list** of something. # Examples An example of slicing a file content read by `readlines()`: ```python import os from rcslice import RowSlice def get_file_lines(filename): content = [] try: with open(os.path.join(os.path.dirname(__file__), filename), 'r') as f: content = f.readlines() except OSError as e: raise return content rs = RowSlice(['','']) # ['',''] will add 2 new lines for multi slice syntax (e.g 1-2,3-4,...) list_of_lines = get_file_lines('test.txt') print("before: ", list_of_lines) list_of_lines = rs.slice(list_of_lines, '1-2,1.2-4.5,3.4-1.3,.4-.9') print("after: ", list_of_lines) ``` %package help Summary: Development documents and examples for rcslice Provides: python3-rcslice-doc %description help [![Build Status](https://travis-ci.org/neurobin/rcslice.svg?branch=release)](https://travis-ci.org/neurobin/rcslice) This package provides Python module to slice a list of sliceables (1 indexed, both start and end index are inclusive). Helps to slice file content line by line or column by column or a combination of both. # Install Install from Pypi: ```bash pip install rcslice ``` # Usage ```python from rcslice import RowSlice rs = RowSlice() list_of_sliceables = rs.slice(list_of_sliceables, '1-2,2.4-4.5,8-2.6') ``` # Slicing syntax Below, r is the row number, and c is the column number. All indexes are inclusive and 1 indexed. r.c-r.c r.c-r.c,r.c-r.c,... .c-.c [not specifying both r means slice on every row for the columns] 1.c-.c [not specifying r means the last row when another r is specified] .c-1 [last row.c to first row, reversion] r [only r'th row] r1-r2 [when both r is not the same, not specifying c means the first c for start index and last c for end index] r1-r2.c [first c of r1 to r2.c] r1.c-r2 [r1.c to last c of r2] r-r.c [when both r is the same, not specifying one c will mean the last c] r-r [when both r is the same, not specifying both c means the first c for start index and last c for end index] e.c-e.c [e means last row] e-e [last row] e-e.c [last c of e to e.c] e.c-e [e.c to last c of e] e.e-e.e [same as e-e, e in column is stripped off] The e to specify the last row is exclusively for row only. Do keep in mind that the class name is RowSlice. It gives special priority on row and not just with the special character e. You will see some major difference in how r and c works in above syntax explanation. For multiple slice syntax `r.c-r.c,r.c-r.c,...`, a separator will be inserted between each slice. You can set the separator by passing it during class object instantiation: ```python rs = RowSlice(['I am a separator']) ``` This separator is also a **list** of something. # Examples An example of slicing a file content read by `readlines()`: ```python import os from rcslice import RowSlice def get_file_lines(filename): content = [] try: with open(os.path.join(os.path.dirname(__file__), filename), 'r') as f: content = f.readlines() except OSError as e: raise return content rs = RowSlice(['','']) # ['',''] will add 2 new lines for multi slice syntax (e.g 1-2,3-4,...) list_of_lines = get_file_lines('test.txt') print("before: ", list_of_lines) list_of_lines = rs.slice(list_of_lines, '1-2,1.2-4.5,3.4-1.3,.4-.9') print("after: ", list_of_lines) ``` %prep %autosetup -n rcslice-1.1.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-rcslice -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 25 2023 Python_Bot - 1.1.0-1 - Package Spec generated