%global pypi_name astor Name: python-%{pypi_name} Version: 0.7.1 Release: 1%{?dist} Summary: Read/rewrite/write Python ASTs License: BSD-3-Clause URL: https://github.com/berkerpeksag/astor Source0: https://files.pythonhosted.org/packages/source/a/%{pypi_name}/%{pypi_name}-%{version}.tar.gz BuildArch: noarch %if 0%{?fedora} BuildRequires: python2-devel BuildRequires: python2dist(setuptools) BuildRequires: python3-devel BuildRequires: python3dist(setuptools) %else BuildRequires: python2-devel BuildRequires: python2-setuptools %{!?python2_sitearch: %global python2_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %endif %description astor is designed to allow easy manipulation of Python source via the AST. There are some other similar libraries, but astor focuses on the following areas: - Round-trip an AST back to Python: - Modified AST doesn't need linenumbers, ctx, etc. or otherwise be directly compileable for the round-trip to work. - Easy to read generated code as, well, code - Can round-trip two different source trees to compare for functional differences, using the astor.rtrip tool (for example, after PEP8 edits). - Dump pretty-printing of AST - Harder to read than round-tripped code, but more accurate to figure out what is going on. - Easier to read than dump from built-in AST module - Non-recursive treewalk - Sometimes you want a recursive treewalk (and astor supports that, starting at any node on the tree), but sometimes you don't need to do that. astor doesn't require you to explicitly visit sub-nodes unless you want to: - You can add code that executes before a node's children are visited, and/or - You can add code that executes after a node's children are visited, and/or - You can add code that executes and keeps the node's children from being visited (and optionally visit them yourself via a recursive call) - Write functions to access the tree based on object names and/or attribute names - Enjoy easy access to parent node(s) for tree rewriting %package -n python2-%{pypi_name} Summary: %{summary} %{?python_provide:%python_provide python2-%{pypi_name}} %description -n python2-%{pypi_name} astor -- AST observe/rewrite :PyPI: :Documentation: :Source: :License: 3-clause BSD :Build status: astor is designed to allow easy manipulation of Python source via the AST.There are some other similar libraries, but astor focuses on the following areas:- Round-trip an AST back to Python [1]_: - Modified AST doesn't need linenumbers, ctx, etc. or otherwise %if 0%{?fedora} %package -n python3-%{pypi_name} Summary: %{summary} %{?python_provide:%python_provide python3-%{pypi_name}} %description -n python3-%{pypi_name} astor -- AST observe/rewrite :PyPI: :Documentation: :Source: :License: 3-clause BSD :Build status: astor is designed to allow easy manipulation of Python source via the AST.There are some other similar libraries, but astor focuses on the following areas:- Round-trip an AST back to Python [1]_: - Modified AST doesn't need linenumbers, ctx, etc. or otherwise %endif %prep %autosetup -n %{pypi_name}-%{version} # Remove bundled egg-info rm -rf %{pypi_name}.egg-info %build %py2_build %if 0%{?fedora} %py3_build %endif %install # Must do the default python version install last because # the scripts in /usr/bin are overwritten with every setup.py install. %py2_install %if 0%{?fedora} %py3_install %endif %files -n python2-%{pypi_name} %license LICENSE %doc README.rst %{python2_sitelib}/%{pypi_name} %{python2_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info %if 0%{?fedora} %files -n python3-%{pypi_name} %license LICENSE %doc README.rst %{python3_sitelib}/%{pypi_name} %{python3_sitelib}/%{pypi_name}-%{version}-py?.?.egg-info %endif %changelog * Sat Mar 09 2019 Ruslan Pisarev - 0.7.1-1 - Ported spec from OpenSuse * Fri Nov 9 2018 Petr Cervinka - Removed copied link reference from spec file * Fri Nov 9 2018 cgoll@suse.com - fixed rpmlint warnings * Thu Nov 8 2018 cgoll@suse.com - removed not needed module devel * removed check section * using license macro * Wed Jul 25 2018 cgoll@suse.com - initial commit of astor 0.7.1 for python2 and python3 * skipped check section, as this was faling