Akash Mahanty and GitHub
15c7244a22
Merge pull request #115 from akamhy/akamhy-patch-1
...
do not use f-strings in setup.py
2022-01-25 10:42:27 +05:30
Akash Mahanty and GitHub
8510210e94
do not use f-strings in setup.py
...
These are not supported in <Python 3.6 version of the cpython.
2022-01-25 10:34:46 +05:30
Akash Mahanty and GitHub
552967487e
Merge pull request #114 from rafaelrdealmeida/patch-1
...
Update setup.py
See also <https://github.com/akamhy/waybackpy/issues/111#issuecomment-1020673814 >
2022-01-25 10:30:34 +05:30
Akash Mahanty
06095202fe
BUG FIX : forgot to use the endpoint from the instance and also assign payload to param. Bug caught by the flake8 in the CI tests.
2022-01-24 23:35:48 +05:30
Akash Mahanty
06fc7855bf
waybackpy/cdx_api.py : deafult user agent is now DEFAULT_USER_AGENT, get_response now take url and headers as arguments and request url is generated by full_url function. max_tries added as parameter for the WaybackMachineCDXServerAPI class with default value of 3.
2022-01-24 23:20:49 +05:30
Akash Mahanty
c49fe971fd
update the older deprecation not for Url class, the newer date is now 2025 instead of 2024.
2022-01-24 23:15:59 +05:30
Akash Mahanty
d6783d5525
added tests for cdx_utils.py
2022-01-24 23:05:47 +05:30
Akash Mahanty
9262f5da21
improve functions get_total_pages, get_response and lint check_filters, check_collapses and check_match_type
...
get_total_pages : default user agent is now DEFAULT_USER_AGENT
and now instead of str formatting passing payload
as param to full_url to generate the request url
also get_response make the request instead of directly
using requests.get()
get_response : get_response is now not taking param as keyword arguments
instead the invoker is supposed to pass the full url which
may be generated by the full_url function therefore the return_full_url=False,
is deprecated also.
Also now closing the session via session.close()
No need to check 'Exceeded 30 redirects' as save API uses a
diffrent method.
check_filters : Not assigning to variables the return of match groups
beacause we wont be using them and the linter picks these
unused assignments.
check_collapses : Same reason as for check_filters but also removed a foolish
test that checks equality with objects that are guaranteed
to be same.
check_match_type : Updated the text that of WaybackError
2022-01-24 22:57:20 +05:30
Akash Mahanty
d1a1cf2546
added tests for utils.py at tests/test_utils.py also changed a keyword argument from headers to user_agent for latest_version of utils.py with the usual default vaule.
2022-01-24 17:50:36 +05:30
Akash Mahanty
cd8a32ed1f
added tests for cdx_snapshot.py at tests/test_cdx_snapshot.py
2022-01-24 16:29:44 +05:30
Akash Mahanty
57512c65ff
change test oldest method from google.com to example.com, the oldest on google is for some unknown reason is not very stable.
2022-01-24 16:27:35 +05:30
Akash Mahanty
d9ea26e11c
added code style black badge
2022-01-24 13:46:31 +05:30
Akash Mahanty
2bea92b348
fix bug with the third matching case of the archive_url_parser, caught while writing more tests fo the save API interface.
2022-01-24 13:31:30 +05:30
Akash Mahanty
d506685f68
added some tests for save_api interface
2022-01-23 18:35:54 +05:30
Akash Mahanty
7844d15d99
close the session in save api interface
2022-01-23 18:34:06 +05:30
Akash Mahanty
c0252edff2
updated tests for availability_api.py and also added max_tries(default value is 3) with delay (sleep) between successive API calls. The dealy actually improves the performace of the availability_api interface.
2022-01-23 15:05:10 +05:30
Akash Mahanty
e7488f3a3e
added test badge, rename test to Tests from ubuntu and fix the Incomplete URL substring sanitization(or trying to)
2022-01-23 02:26:53 +05:30
Akash Mahanty
aed75ad1db
Make modules imprtable as part of a Python package, waybackpy by creating __init__.py file in tests
2022-01-23 02:14:38 +05:30
Akash Mahanty
d740959c34
more dev reqs
2022-01-23 02:10:12 +05:30
Akash Mahanty
2d83043ef7
+ flake8 in requirements-dev.txt
2022-01-23 02:05:08 +05:30
Akash Mahanty
31b1056217
fix typo in CI
2022-01-23 02:03:30 +05:30
Akash Mahanty
97712b2c1e
add CI unit_test.yml
2022-01-23 02:00:15 +05:30
Akash Mahanty
a8acc4c4d8
Fix Incomplete URL substring sanitization in the last commit.
2022-01-23 01:42:48 +05:30
Akash Mahanty
1bacd73002
created pytest.ini, added test for waybackpy/availability_api.py, new exceptions all of which inherit from the main WaybackError and created requirements-dev.txt
2022-01-23 01:29:07 +05:30
Akash Mahanty
79901ba968
updated README.md
2022-01-22 03:08:26 +05:30
Akash Mahanty
df64e839d7
added trove classifiers for python 3.10
2022-01-22 00:57:10 +05:30
Akash Mahanty
405e9a2a79
waybackpy/save_api.py : Added doc strings and also lint with black.
2022-01-22 00:41:10 +05:30
Akash Mahanty
db551abbf6
lint waybackpy/cdx_api.py and added some doc strings
2022-01-22 00:11:35 +05:30
Akash Mahanty
d13dd4db1a
added notice on waybackpy/wrapper.py that the Url class will cease to exist after 2024-01-01 and also removed unused imports.
2022-01-21 23:14:20 +05:30
Akash Mahanty
d3bb8337a1
make setup.py smarter, now no need to update the URL again and also added more keywords. And in __version__.py updated the __author__
2022-01-21 23:01:09 +05:30
Akash Mahanty
fd5e85420c
waybackpy/availability_api.py : removed unused imports, added doc strings, removed redundant function.
2022-01-21 22:47:44 +05:30
Akash Mahanty and GitHub
5c685ef5d7
upload logo and make p path not text
...
I was dumb to forget to convert the p to path.
2022-01-21 21:11:42 +05:30
Akash Mahanty and GitHub
6a3d96b453
Logo ( #113 )
...
* Create logo.txt
* Delete waybackpy_logo.svg
* Add files via upload
* Delete logo.txt
2022-01-21 21:02:38 +05:30
Akash Mahanty and GitHub
afe1b15a5f
Add files via upload
2022-01-21 20:58:53 +05:30
Akash Mahanty and GitHub
4fd9d142e7
Merge pull request #112 from akamhy/fix
...
escape '.' before 'archive.org'
2022-01-21 19:52:55 +05:30
Akash Mahanty and GitHub
5e9fdb40ce
escape '.' before 'archive.org'
...
escape '.' before 'archive.org' on line 88 so it does not match more hosts than expected.
2022-01-21 19:51:08 +05:30
Akash Mahanty and GitHub
fa72098270
_get_response is not used anymore
...
- datashaman (<https://stackoverflow.com/users/401467/datashaman >) for <https://stackoverflow.com/a/35504626 >. _get_response is based on this amazing answer.
2022-01-21 19:43:35 +05:30
Akash Mahanty and GitHub
d18f955044
date year range 2020-2022
2022-01-21 11:55:42 +05:30
Akash Mahanty and GitHub
9c340d6967
Create codeql-analysis.yml
2022-01-21 11:12:59 +05:30
Akash Mahanty and GitHub
78d0e0c126
Update README.md
2022-01-21 09:54:04 +05:30
Akash Mahanty and GitHub
564101e6f5
🐳 for docker image
2022-01-21 01:23:05 +05:30
Akash Mahanty and GitHub
de5a3e1561
improve usage code
2022-01-18 21:18:17 +05:30
Akash Mahanty and GitHub
52e46fecc2
more usage example
2022-01-18 20:58:39 +05:30
Akash Mahanty and GitHub
3b6415abc7
updating examples
2022-01-18 20:44:47 +05:30
Akash Mahanty
66e16d6d89
define __repr__ for the Availability API class
2022-01-18 20:34:21 +05:30
Akash Mahanty
16b9bdd7f9
output the file name if known_url and file flag are passed.
2022-01-18 20:14:44 +05:30
Akash Mahanty
7adc01bff2
implement known_urls for cli from the newer interface. Although use of CDX is recommended but backward-compatibility matters.
2022-01-18 20:07:12 +05:30
Akash Mahanty and GitHub
9bbd056268
Update README.md
2022-01-17 02:15:38 +05:30
Akash Mahanty and GitHub
2ab44391cf
close #107 , added link to SecSI/Docker image
2022-01-16 23:01:31 +05:30
Akash Mahanty
cc3628ae18
define __str__ for objects of WaybackMachineAvailabilityAPI class, the check for self.JSON ensures that the API was atleast called.
2022-01-16 22:28:12 +05:30
Akash Mahanty
1d751b942b
invoke json, was a bad idea removing it the earlier commit as the end user should not have to call it
2022-01-16 22:15:25 +05:30
Akash Mahanty
261a867a21
near() method of WaybackMachineAvailabilityAPI return self to preserve past behaviour
2022-01-16 21:53:54 +05:30
Akash Mahanty
2e487e88d3
define __len__ on Url objects, if any method not used prior to len op then default to len of oldest archive.
2022-01-16 21:29:43 +05:30
Akash Mahanty
c8d0ad493a
defined __str__ for Url objects, print func should print the url.
2022-01-16 21:22:43 +05:30
Akash Mahanty and GitHub
ce869177fd
Merge pull request #103 from akamhy/whitesource/configure
...
Configure WhiteSource Bolt for GitHub
2022-01-02 16:04:15 +05:30
Akash Mahanty
4e68cd5743
Create separate module for the 3 different APIs also CDX is now CLI supported.
2022-01-02 14:14:45 +05:30
akamhy and GitHub
a7b805292d
changes made for v2.4.4 (update download_url) ( #100 )
...
* v2.4.4 (update download_url)
* v2.4.4 (update __version__)
* +1
add jonasjancarik
2021-09-03 11:28:26 +05:30
Akash Mahanty and GitHub
5a9c861cad
v2.4.3 ( #94 )
...
* 2.4.3
* 2.4.3
2021-04-02 10:41:59 +05:30
Akash Mahanty and GitHub
dd1917c77e
added RedirectSaveError - for failed saves if the URL is a permanent … ( #93 )
...
* added RedirectSaveError - for failed saves if the URL is a permanent redirect.
* check if url is redirect before throwing exceptions, res.url is the redirect url if redirected at all
* update tests and cli errors
2021-04-02 10:38:17 +05:30
Akash Mahanty and GitHub
db8f902cff
Add doc strings ( #90 )
...
* Added some docstrings in utils.py
* renamed some func/meth to better names and added doc strings + lint
* added more docstrings
* more docstrings
* improve docstrings
* docstrings
* added more docstrings, lint
* fix import error
2021-01-26 11:56:03 +05:30
Akash Mahanty and GitHub
88cda94c0b
v2.4.2 ( #89 )
...
* v2.4.2
* v2.4.2
2021-01-24 17:03:35 +05:30
Akash Mahanty
09290f88d1
fix one more error
2021-01-24 16:58:53 +05:30
Akash Mahanty
e5835091c9
import re
2021-01-24 16:56:59 +05:30
Akash Mahanty
7312ed1f4f
set cached_save to True if archive older than 3 mins.
2021-01-24 16:53:36 +05:30
Akash Mahanty and GitHub
6ae8f843d3
add --file to --known_urls
2021-01-24 16:15:11 +05:30
Akash Mahanty and GitHub
36b936820b
known urls now yileds, more reliable. And save the file in chucks wrt to response. --file arg can be used to create output file, if --file not used no output will be saved in any file. ( #88 )
2021-01-24 16:11:39 +05:30
Akash Mahanty
a3bc6aad2b
too much API usage by duplicate tests was causing too much tests failure
2021-01-23 21:08:21 +05:30
Akash Mahanty
edc2f63d93
Output valid JSON, dumps python dict. Make JSON valid.
2021-01-23 20:43:52 +05:30
Akash Mahanty
ffe0810b12
flag to check if the archive saved is 30 mins older or not
2021-01-16 12:06:08 +05:30
Akash Mahanty
40233eb115
improve code quality, remove unused imports, use system randomness etc
2021-01-16 11:35:13 +05:30
Akash Mahanty
d549d31421
improve save method, now we know that 302 errors indicates that wayback machine is archiving the URL and hasn't yet archived. We construct an artifical archive with the current UTC time and check for HTTP status code 20* or 30*. If we verify the archival, we return the artifical archive. The artificial archive will automatically point to the new archive or in best case will be the new archive after some time.
2021-01-16 10:47:43 +05:30
Akash Mahanty
0725163af8
mimify the logo, remove ugly old logos
2021-01-15 18:14:48 +05:30
Akash Mahanty
712471176b
better error messages(str), check latest version before asking for an upgrade and rm alive checking
2021-01-15 16:47:26 +05:30
Akash Mahanty
dcd7b03302
getting rid of c style str formatting, now using .format
2021-01-14 19:30:07 +05:30
Akash Mahanty
76205d9cf6
backoff_factor=2 for save, incr success by 25%
2021-01-13 10:13:16 +05:30
Akash Mahanty and GitHub
ec0a0d04cc
+ dequeued0
...
dequeued0 (https://github.com/dequeued0 ) for reporting bugs and useful feature requests.
2021-01-12 10:52:41 +05:30
Akash Mahanty
7bb01df846
v2.4.1
2021-01-12 10:18:09 +05:30
Akash Mahanty
6142e0b353
get should retrive the last fetched archive by default
2021-01-12 10:07:14 +05:30
Akash Mahanty
a65990aee3
don't use pagination API if total pages <= 2
2021-01-12 09:46:07 +05:30
Akash Mahanty and GitHub
259a024eb1
joke? they changed their robots.txt
2021-01-11 23:17:01 +05:30
Akash Mahanty and GitHub
91402792e6
+ Supported Features
...
tell what the package can do, many users probably do not read the full usage.
2021-01-11 23:01:18 +05:30
Akash Mahanty
eabf4dc046
don't fetch more pages if >=2 pages are empty
2021-01-11 22:43:14 +05:30
Akash Mahanty
5a7bd73565
support unix ts as an arg in near
2021-01-11 19:53:37 +05:30
Akash Mahanty
4693dbf9c1
change str repr of cdxsnapshot to cdx line
2021-01-11 09:34:37 +05:30
Akash Mahanty and GitHub
f4f2e51315
V2.4.0 ( #62 )
...
* v 2.4.0
* v 2.4.0
2021-01-10 11:53:45 +05:30
Akash Mahanty and GitHub
d6b7df6837
no need to de-duplicate as we are collapsing the results by urlkey
...
Same urls aren't recieved
2021-01-10 11:36:46 +05:30
Akash Mahanty and GitHub
dafba5d0cb
collapses=["urlkey"] for known urls
2021-01-10 11:34:06 +05:30
Akash Mahanty
6c71dfbe41
use cdx matchtype for domain and host
2021-01-10 11:10:49 +05:30
Akash Mahanty
a6470b1036
not passing dict to cdxsnapshot
2021-01-10 10:40:32 +05:30
Akash Mahanty
04cda4558e
fix test
2021-01-10 03:18:09 +05:30
Akash Mahanty
625ed63482
remove asserts stmnts
2021-01-10 03:05:48 +05:30
Akash Mahanty
a03813315f
full cdx api support
2021-01-10 02:23:53 +05:30
Akash Mahanty
a2550f17d7
retries support for get requests
2021-01-06 01:58:38 +05:30
Akash Mahanty and GitHub
15ef5816db
Always cast url to string, avoid passing waybackpy objects to _get_response
2021-01-05 19:46:17 +05:30
Akash Mahanty and GitHub
93b52bd0fe
FIX : don't use self.user_agent if user_agent passed in get()
2021-01-05 19:31:27 +05:30
Akash Mahanty and GitHub
28ff877081
Update README.md
2021-01-05 19:08:35 +05:30
Akash Mahanty and GitHub
3e3ecff9df
l2 heading and lint
2021-01-05 01:59:29 +05:30
Akash Mahanty and GitHub
ce64135ba8
ce
2021-01-05 01:52:35 +05:30
Akash Mahanty and GitHub
2af6580ffb
docs link
2021-01-05 01:51:53 +05:30
Akash Mahanty and GitHub
8a3c515176
v2.3.3
2021-01-05 01:49:26 +05:30