14
0
forked from pool/python-Scrapy

Accepting request 819355 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/819355
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-Scrapy?expand=0&rev=8
This commit is contained in:
2020-07-08 17:13:43 +00:00
committed by Git OBS Bridge
5 changed files with 29 additions and 34 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:85581a01f4160a103ca9906ffa4e44474f4ecd1685f0934728892c58ebf111f6
size 983545

3
Scrapy-2.2.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8ce036a113ef9bc575a65b463994244e4298145f70bcdcf40b8847a2f528a1fb
size 1011073

View File

@@ -1,3 +1,21 @@
-------------------------------------------------------------------
Fri Jul 3 17:05:03 UTC 2020 - Jacob W <jacob@jacobwinski.com>
- Update to 2.2.0:
* Python 3.5.2+ is required now
* dataclass objects and attrs objects are now valid item types
* New TextResponse.json method
* New bytes_received signal that allows canceling response download
* CookiesMiddleware fixes
- Update to 2.1.0:
* New FEEDS setting to export to multiple feeds
* New Response.ip_address attribute
- Remove zope-exception-test_crawler.patch
- Add new required dependency python-itemadapter
- Omit test that fails in OBS due to https / tls issues
------------------------------------------------------------------- -------------------------------------------------------------------
Tue May 19 09:27:53 UTC 2020 - Petr Gajdos <pgajdos@suse.com> Tue May 19 09:27:53 UTC 2020 - Petr Gajdos <pgajdos@suse.com>

View File

@@ -19,14 +19,13 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}} %{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1 %define skip_python2 1
Name: python-Scrapy Name: python-Scrapy
Version: 2.0.1 Version: 2.2.0
Release: 0 Release: 0
Summary: A high-level Python Screen Scraping framework Summary: A high-level Python Screen Scraping framework
License: BSD-3-Clause License: BSD-3-Clause
Group: Development/Languages/Python Group: Development/Languages/Python
URL: https://scrapy.org URL: https://scrapy.org
Source: https://files.pythonhosted.org/packages/source/S/Scrapy/Scrapy-%{version}.tar.gz Source: https://files.pythonhosted.org/packages/source/S/Scrapy/Scrapy-%{version}.tar.gz
Patch0: zope-exception-test_crawler.patch
BuildRequires: %{python_module Pillow} BuildRequires: %{python_module Pillow}
BuildRequires: %{python_module Protego >= 0.1.15} BuildRequires: %{python_module Protego >= 0.1.15}
BuildRequires: %{python_module PyDispatcher >= 2.0.5} BuildRequires: %{python_module PyDispatcher >= 2.0.5}
@@ -34,6 +33,7 @@ BuildRequires: %{python_module Twisted >= 17.9.0}
BuildRequires: %{python_module cryptography >= 2.0} BuildRequires: %{python_module cryptography >= 2.0}
BuildRequires: %{python_module cssselect >= 0.9.1} BuildRequires: %{python_module cssselect >= 0.9.1}
BuildRequires: %{python_module dbm} BuildRequires: %{python_module dbm}
BuildRequires: %{python_module itemadapter >= 0.1.0}
BuildRequires: %{python_module jmespath} BuildRequires: %{python_module jmespath}
BuildRequires: %{python_module lxml >= 3.5.0} BuildRequires: %{python_module lxml >= 3.5.0}
BuildRequires: %{python_module mock} BuildRequires: %{python_module mock}
@@ -56,6 +56,7 @@ Requires: python-PyDispatcher >= 2.0.5
Requires: python-Twisted >= 17.9.0 Requires: python-Twisted >= 17.9.0
Requires: python-cryptography >= 2.0 Requires: python-cryptography >= 2.0
Requires: python-cssselect >= 0.9.1 Requires: python-cssselect >= 0.9.1
Requires: python-itemadapter >= 0.1.0
Requires: python-lxml >= 3.5.0 Requires: python-lxml >= 3.5.0
Requires: python-parsel >= 1.5.0 Requires: python-parsel >= 1.5.0
Requires: python-pyOpenSSL >= 16.2.0 Requires: python-pyOpenSSL >= 16.2.0
@@ -84,7 +85,6 @@ Provides documentation for %{name}.
%prep %prep
%setup -q -n Scrapy-%{version} %setup -q -n Scrapy-%{version}
sed -i -e 's:= python:= python3:g' docs/Makefile sed -i -e 's:= python:= python3:g' docs/Makefile
%autopatch -p1
%build %build
%python_build %python_build
@@ -103,9 +103,14 @@ skiplist="not S3AnonTestCase and not S3TestCase and not S3FeedStorageTest"
skiplist="$skiplist and not FilesPipelineTestCaseFields" skiplist="$skiplist and not FilesPipelineTestCaseFields"
skiplist="$skiplist and not ImagesPipelineTestCaseFields" skiplist="$skiplist and not ImagesPipelineTestCaseFields"
skiplist="$skiplist and not CrawlerTestCase" skiplist="$skiplist and not CrawlerTestCase"
skiplist="$skiplist and not CrawlerRunnerTestCase"
skiplist="$skiplist and not RFPDupeFilterTest"
skiplist="$skiplist and not StopDownloadEngineTest"
# tests/test_proxy_connect.py: requires mitmproxy == 0.10.1 # tests/test_proxy_connect.py: requires mitmproxy == 0.10.1
# tests/test_downloader_handlers.py: fails on https & tls tests
%{python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} py.test-%{$python_bin_suffix} \ %{python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} py.test-%{$python_bin_suffix} \
--ignore tests/test_proxy_connect.py \ --ignore tests/test_proxy_connect.py \
--ignore tests/test_downloader_handlers.py \
-k "${skiplist}" \ -k "${skiplist}" \
-W ignore::DeprecationWarning \ -W ignore::DeprecationWarning \
tests} tests}

View File

@@ -1,28 +0,0 @@
Index: Scrapy-2.0.1/tests/test_crawler.py
===================================================================
--- Scrapy-2.0.1.orig/tests/test_crawler.py
+++ Scrapy-2.0.1/tests/test_crawler.py
@@ -20,6 +20,8 @@ from scrapy.extensions.throttle import A
from scrapy.extensions import telnet
from scrapy.utils.test import get_testenv
+from zope.interface.exceptions import MultipleInvalid
+
class BaseCrawlerTest(unittest.TestCase):
@@ -157,11 +159,9 @@ class CrawlerRunnerTestCase(BaseCrawlerT
settings = Settings({
'SPIDER_LOADER_CLASS': 'tests.test_crawler.SpiderLoaderWithWrongInterface'
})
- with warnings.catch_warnings(record=True) as w:
- self.assertRaises(AttributeError, CrawlerRunner, settings)
- self.assertEqual(len(w), 1)
- self.assertIn("SPIDER_LOADER_CLASS", str(w[0].message))
- self.assertIn("scrapy.interfaces.ISpiderLoader", str(w[0].message))
+ msg = "SpiderLoaderWithWrongInterface.*scrapy.interfaces.ISpiderLoader"
+ with self.assertRaisesRegex(MultipleInvalid, msg):
+ CrawlerRunner(settings)
def test_crawler_runner_accepts_dict(self):
runner = CrawlerRunner({'foo': 'bar'})