Compare commits

...

13 Commits

Author SHA1 Message Date
Logan Williams
db9b613ae4 Loosen dependency version requirements 2023-05-10 14:15:56 +02:00
Miguel Sozinho Ramalho
37828b4be4 Delete dependabot.yml 2023-02-27 10:21:19 +01:00
msramalho
1a3a7dc0f3 Bump version to v0.3.15 for release 2023-02-23 17:07:13 +01:00
msramalho
f67707a740 Bump version to v0.3.14 for release 2023-02-23 17:05:43 +01:00
msramalho
798684a334 Bump version to v0.3.13 for release 2023-02-23 17:02:14 +01:00
msramalho
a556b237e9 Bump version to v0.3.12 for release 2023-02-23 16:58:11 +01:00
msramalho
283bc35658 Bump version to v0.3.11 for release 2023-02-23 16:52:59 +01:00
msramalho
cef70fb80d update yt-dlp 2023-02-23 16:52:52 +01:00
msramalho
e66ef4f477 fix tests 2023-02-23 16:52:45 +01:00
msramalho
1f6a8368fd updates 2022-11-03 17:07:34 +00:00
msramalho
9a046fd1cb Bump version to v0.3.9 for release 2022-11-03 16:35:59 +00:00
msramalho
aae2bb5999 Bump version to v0.3.8 for release 2022-11-03 16:19:30 +00:00
msramalho
9e30b81d16 Bump version to v0.3.7 for release 2022-11-03 16:05:18 +00:00
9 changed files with 1498 additions and 663 deletions

View File

@@ -1,11 +0,0 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 10
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

28
Pipfile
View File

@@ -4,8 +4,32 @@ verify_ssl = true
name = "pypi" name = "pypi"
[packages] [packages]
vk-api = "*" vk-api = ">=11.9.9"
yt-dlp = "*" yt-dlp = ">=2023.2.17"
flake8 = "*"
mypy = ">=0.961"
black = ">=22.3.0"
isort = ">=5.10.1"
pytest = "*"
pytest-sphinx = "*"
pytest-cov = "*"
twine = ">=1.11.0"
sphinx = "<5.1.0,>=4.3.0"
furo = ">=2022.6.4.1"
myst-parser = "<0.19.0,>=0.15.2"
sphinx-copybutton = ">=0.5.0"
sphinx-autobuild = ">=2021.3.14"
sphinx-autodoc-typehints = "*"
python-dotenv = ">=0.21.1"
brotli = ">=1.0.9"
certifi = ">=2022.12.7"
charset-normalizer = ">=3.0.1"
idna = ">=3.4"
mutagen = ">=1.46.0"
pycryptodomex = ">=3.17"
requests = ">=2.28.2"
urllib3 = ">=1.26.14"
websockets = ">=10.4"
[dev-packages] [dev-packages]
sphinx-copybutton = "==0.5.0" sphinx-copybutton = "==0.5.0"

2075
Pipfile.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -2,11 +2,11 @@
flake8 flake8
# Static type checking # Static type checking
mypy==0.961 mypy>=0.961
# Automatic code formatting # Automatic code formatting
black==22.3.0 black>=22.3.0
isort==5.10.1 isort>=5.10.1
# Running tests # Running tests
pytest pytest
@@ -24,19 +24,20 @@ wheel
Sphinx>=4.3.0,<5.1.0 Sphinx>=4.3.0,<5.1.0
# Sphinx theme: https://sphinx-themes.org/sample-sites/furo/ # Sphinx theme: https://sphinx-themes.org/sample-sites/furo/
furo==2022.6.4.1 furo>=2022.6.4.1
# Lets Sphinx parse markdown files in addition to rst. # Lets Sphinx parse markdown files in addition to rst.
myst-parser>=0.15.2,<0.19.0 myst-parser>=0.15.2,<0.19.0
# Adds a copy button to code examples in the docs. # Adds a copy button to code examples in the docs.
sphinx-copybutton==0.5.0 sphinx-copybutton>=0.5.0
# Live rebuilding and reloading of docs for developing locally. # Live rebuilding and reloading of docs for developing locally.
sphinx-autobuild==2021.3.14 sphinx-autobuild>=2021.3.14
# Automatically adds types to docs # Automatically adds types to docs
sphinx-autodoc-typehints sphinx-autodoc-typehints
# For parsing and comparing version numbers. # For parsing and comparing version numbers.
packaging packaging
python-dotenv>=0.21.1

View File

@@ -5,11 +5,15 @@
# pipenv lock --requirements # pipenv lock --requirements
# #
certifi==2022.6.15 # -i https://pypi.org/simple
charset-normalizer==2.0.12 brotli>=1.0.9; platform_python_implementation >= 'CPython'
idna==3.3 certifi>=2022.12.7; python_version >= '3.6'
requests==2.28.0 charset-normalizer>=3.0.1; python_version >= '3.6'
urllib3==1.26.9 idna>=3.4; python_version >= '3.5'
vk-api==11.9.8 mutagen>=1.46.0; python_version >= '3.7'
python-dotenv==0.20.0 pycryptodomex>=3.17; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
yt-dlp==2022.7.18 requests>=2.28.2; python_version >= '3.7' and python_version < '4'
urllib3>=1.26.14; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
vk-api>=11.9.9
websockets>=10.4; python_version >= '3.7'
yt-dlp>=2023.2.17

View File

@@ -44,7 +44,10 @@ setup(
"Programming Language :: Python :: 3", "Programming Language :: Python :: 3",
], ],
keywords=["scraper", "vk", "vkontakte", "vk-api", "media-downloader"], keywords=["scraper", "vk", "vkontakte", "vk-api", "media-downloader"],
url="https://github.com/bellingcat/vk-url-scraper", project_urls={
"Code": "https://github.com/bellingcat/vk-url-scraper",
"Documentation": "https://vk-url-scraper.readthedocs.io/en/latest/",
},
author="Bellingcat", author="Bellingcat",
author_email="tech@bellingcat.com", author_email="tech@bellingcat.com",
license="MIT", license="MIT",

View File

@@ -19,7 +19,6 @@ def test_login_custom_file():
VkScraper( VkScraper(
os.environ["VK_USERNAME"], os.environ["VK_USERNAME"],
os.environ["VK_PASSWORD"], os.environ["VK_PASSWORD"],
os.environ.get("VK_TOKEN"),
session_file=session_filename, session_file=session_filename,
) )
assert os.path.isfile(session_filename) assert os.path.isfile(session_filename)
@@ -81,7 +80,7 @@ def test_scrape_wall_url_with_photos():
== "Хабаровск\nАллея героев\nПомолимся об укокоении воинов:\nАлександра, Игоря, Эдуарда, \nДионисия, Евгения, Александра, Артемия, Иннокентия, Андрея." == "Хабаровск\nАллея героев\nПомолимся об укокоении воинов:\nАлександра, Игоря, Эдуарда, \nДионисия, Евгения, Александра, Артемия, Иннокентия, Андрея."
) )
assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 15, 10, 37, 24)) assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 6, 15, 10, 37, 24))
assert len(res[0]["payload"]) == 16 assert len(res[0]["payload"]) == 17
assert len(res[0]["attachments"].keys()) == 1 assert len(res[0]["attachments"].keys()) == 1
assert list(res[0]["attachments"].keys()) == ["photo"] assert list(res[0]["attachments"].keys()) == ["photo"]
assert len(res[0]["attachments"]["photo"]) == 9 assert len(res[0]["attachments"]["photo"]) == 9
@@ -93,7 +92,7 @@ def test_scrape_wall_url_with_photos_inner_videos_and_links_with_inner_photos():
assert res[0]["id"] == "wall-17315087_74182" assert res[0]["id"] == "wall-17315087_74182"
assert res[0]["text"] == "" assert res[0]["text"] == ""
assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 3, 24, 11, 1, 9)) assert str(res[0]["datetime"]) == str(datetime.datetime(2022, 3, 24, 11, 1, 9))
assert len(res[0]["payload"]) == 15 assert len(res[0]["payload"]) == 17
assert len(res[0]["attachments"].keys()) == 3 assert len(res[0]["attachments"].keys()) == 3
for k in ["photo", "link", "video"]: for k in ["photo", "link", "video"]:
assert k in list(res[0]["attachments"].keys()) assert k in list(res[0]["attachments"].keys())

View File

@@ -61,7 +61,7 @@ class VkScraper:
token : str token : str
Access token received after authenticating, can be found in the vl_config.v2.json file Access token received after authenticating, can be found in the vl_config.v2.json file
session_file : str session_file : str
File name where the VK session is saved so future logins are easier File name where the VK session is saved so future logins are easier, this will not be created if token is passed
captcha_handler : func captcha_handler : func
Function that can receive a vk_api captcha instance and help the user solve it, default is a complete CLI handler Function that can receive a vk_api captcha instance and help the user solve it, default is a complete CLI handler
""" """

View File

@@ -2,7 +2,7 @@ _MAJOR = "0"
_MINOR = "3" _MINOR = "3"
# On main and in a nightly release the patch should be one ahead of the last # On main and in a nightly release the patch should be one ahead of the last
# released build. # released build.
_PATCH = "6" _PATCH = "15"
# This is mainly for nightly builds which have the suffix ".dev$DATE". See # This is mainly for nightly builds which have the suffix ".dev$DATE". See
# https://semver.org/#is-v123-a-semantic-version for the semantics. # https://semver.org/#is-v123-a-semantic-version for the semantics.
_SUFFIX = "" _SUFFIX = ""