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:
@@ -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
3
Scrapy-2.2.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8ce036a113ef9bc575a65b463994244e4298145f70bcdcf40b8847a2f528a1fb
|
||||||
|
size 1011073
|
@@ -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>
|
||||||
|
|
||||||
|
@@ -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}
|
||||||
|
@@ -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'})
|
|
Reference in New Issue
Block a user