Commit graph

934 commits

Author SHA1 Message Date
Preston Maness
1810426774 Remove now-unused mark_safe import 2021-01-25 21:16:06 -06:00
Preston Maness
b647581115
Update archivebox/index/html.py
mark_safe is dangerous, as the URL's filename could have malicious HTML fragments in it.

Co-authored-by: Nick Sweeting <git@sweeting.me>
2021-01-25 20:47:57 -06:00
Nick Sweeting
9764a8ed9b check for non html files from wget 2021-01-25 18:15:16 -05:00
Preston Maness
1989275944 Fix issue #617 by using mark_safe in combination with format_html
I have no experience with Django, so all I'm really going off of is this
stackoverflow

https://stackoverflow.com/a/64498319

which cited this bit of Django documentation:

https://docs.djangoproject.com/en/3.1/ref/utils/#django.utils.html.format_html

After using this method, I no longer get the 500 error or KeyError
exception, and can browse the local server and interact with the single
entry in it (the problematic URL in ArchiveBox#617 with curly braces).

Whether this is the "right" method or not, I have no idea. But it is at
least a start.
2021-01-23 20:32:56 -06:00
Dan Arnfield
5420903102 Refactor should_save_extractor methods to accept overwrite parameter 2021-01-21 15:56:32 -06:00
Nick Sweeting
ef7711ffa0 fix cookies file arg is path 2021-01-20 19:13:53 -05:00
Nick Sweeting
a07ed3989e fix import path 2021-01-20 19:02:31 -05:00
Nick Sweeting
72e2c7b95d use relative imports for util 2021-01-20 18:44:28 -05:00
Nick Sweeting
02bdb3bdeb fix DATABASE_NAME posixpath 2021-01-20 18:42:12 -05:00
jdcaballerov
14df0cbb7c
Update sonic.py
Sonic buffer accepts 20.000 bytes not unicode characters, since the chunking here is on unicode characters, sending 20.000 characters will overflow sonic's buffer.
UTF-8 can take up to 6 bytes, so sending less than (20.000 / 6) rounded minus should be ok.
2021-01-20 14:51:46 -05:00
Dan Arnfield
5c7842ffb3 Fix dependency dict entries 2021-01-20 09:24:34 -06:00
Nick Sweeting
a3008c8189 fix migration failing due to null cmd_versions in older archives 2021-01-12 12:56:06 +02:00
Nick Sweeting
f2a0068c17
Merge pull request #608 from cdvv7788/extractor-bugs 2021-01-07 16:38:56 +02:00
Cristian
6031ffa3b2 fix: Mercury extractor error was incorrectly initialized 2021-01-07 09:22:46 -05:00
Cristian
e9e4adfc34 fix: wget_output_path failing on some extractors. Add a new condition 2021-01-07 09:07:29 -05:00
Cristian
14d1b3209e fix: Make cmd_version nullable 2021-01-06 20:03:40 +02:00
Cristian
c21af37ed4 fix: Give cmd_version a default value in case it is not present 2021-01-06 20:03:40 +02:00
Tim Gates
7bf63d91ff docs: fix simple typo, timstamp -> timestamp
There is a small typo in archivebox/index/__init__.py.

Should read `timestamp` rather than `timstamp`.
2021-01-06 20:03:40 +02:00
Nick Sweeting
9784dcb816 better config comments and docstrings 2020-12-20 03:11:19 +02:00
Nick Sweeting
72b8119881
Merge pull request #587 from jdcaballerov/move-vendored-as-submodules
Add submodules and links
2020-12-16 09:59:56 -05:00
jdcaballerov
a2694a3e8a Add submodules and links 2020-12-16 08:53:59 -05:00
jdcaballerov
c29ce7e7f0 Add border for card select 2020-12-14 16:00:59 -05:00
jdcaballerov
7b66e1514d Merge branch 'v0.5.0' of github.com:ArchiveBox/ArchiveBox into feat-snapshots-grid 2020-12-14 15:05:19 -05:00
jdcaballerov
243fcccd89 Allow actions on grid view 2020-12-14 15:01:24 -05:00
jdcaballerov
6b5c881555 Fix search to include filters 2020-12-14 13:40:38 -05:00
jdcaballerov
45e97ea278 Reverse test condition to avoid redirects with change details 2020-12-14 13:27:06 -05:00
jdcaballerov
d4255be077 use localStorage var 2020-12-14 13:00:13 -05:00
jdcaballerov
8fca36a7cd Restore preferred snapshots view from localstorage 2020-12-14 12:52:15 -05:00
jdcaballerov
7db6b0a8a6 Preserve query string between snapshot list views 2020-12-14 12:11:44 -05:00
Nick Sweeting
326fe69eea
fix lint error 2020-12-12 12:35:32 -05:00
jdcaballerov
9b6afa36a3
Update archivebox/search/backends/ripgrep.py
Co-authored-by: Nick Sweeting <git@sweeting.me>
2020-12-12 08:36:08 -05:00
jdcaballerov
aa53f4f088
Update archivebox/search/backends/ripgrep.py
Co-authored-by: Nick Sweeting <git@sweeting.me>
2020-12-12 08:36:01 -05:00
jdcaballerov
50df108863
Update archivebox/config.py
Co-authored-by: Nick Sweeting <git@sweeting.me>
2020-12-12 08:34:00 -05:00
jdcaballerov
24d4c44624 Add ripgrep configs 2020-12-12 07:36:31 -05:00
jdcaballerov
254d2502fd Feature implementation 2020-12-11 23:03:46 -05:00
Cristian
a57a5b6b83 refactor: call setup_django with the check_db attribute for the commands that actually need the database 2020-12-11 18:02:56 -05:00
Cristian
57d1a3d4e5 refactor: Remove setup_django from html.py 2020-12-11 17:49:16 -05:00
Cristian
ce53b0220c refactor: Remove setup_django from index 2020-12-11 17:36:31 -05:00
Cristian
e82161a768 refactor: Remove setup_django from search 2020-12-11 16:43:48 -05:00
Cristian
a28547cbca refactor: Remove get_empty_snapshot queryset function and generate it directly 2020-12-11 16:27:15 -05:00
Cristian
81d766aba1 refactor: Remove setup_django from title.py 2020-12-11 16:03:50 -05:00
Nick Sweeting
335732649b tweak node dependency version detection order 2020-12-11 21:03:17 +02:00
Nick Sweeting
1c87c27105 patch migration JSONField as well 2020-12-11 20:50:45 +02:00
Nick Sweeting
081d94d799 fallback to old JSONField from lib if django version is old 2020-12-11 20:45:44 +02:00
Nick Sweeting
2db5e51b54 fix windows shutil not able to handle pathlib 2020-12-11 19:33:18 +02:00
Nick Sweeting
e90cf05141 fix lint errors 2020-12-11 16:51:11 +02:00
Nick Sweeting
30f8d3f191 show python implementation name and flip verison output order for easier reading when wrapped on small screens 2020-12-11 16:21:52 +02:00
Nick Sweeting
6623497f18 fix MERCURY_PATH in version output when missing 2020-12-11 16:21:33 +02:00
Nick Sweeting
c084e70ea8 fix TEMPLATES_DIR location 2020-12-11 16:21:09 +02:00
Nick Sweeting
9fa70b3452 add extractors arg to oneshot command and bump version to v0.5.1 2020-12-11 15:48:46 +02:00
Nick Sweeting
a194bb6301
Merge pull request #580 from BlipRanger/master 2020-12-10 12:48:30 -05:00
BlipRanger
6f462b45d7
Update archivebox/core/forms.py
Cleaner handling of the ARCHIVE_METHODS values

Co-authored-by: Nick Sweeting <git@sweeting.me>
2020-12-10 12:46:16 -05:00
BlipRanger
35809eab1c
Update archivebox/core/views.py
Cleaner handling of the archive methods input

Co-authored-by: Nick Sweeting <git@sweeting.me>
2020-12-10 12:45:30 -05:00
BlipRanger
7ce1f63183
Update archivebox/core/forms.py
Format cleanup

Co-authored-by: Nick Sweeting <git@sweeting.me>
2020-12-10 12:44:38 -05:00
BlipRanger
8b0ff2dfee update instead of append 2020-12-10 11:08:27 -05:00
BlipRanger
d9fd1e3811 Add selector for archive modes 2020-12-10 10:51:57 -05:00
Cristian
275ad22db7 refactor: Remove skip_index from archive related functions 2020-12-08 18:42:25 -05:00
Cristian
9745a5ac56 fix: Migrations should be silent when running in setup_django 2020-12-08 18:42:25 -05:00
Cristian
9aac09a5e1 feat: Patch setup_django so we can use an inmemory db in specific commands 2020-12-08 18:42:25 -05:00
Cristian
35a5700c73 fix: Move the setup_django command to a place where we already know what the actual subcommand is 2020-12-08 18:42:25 -05:00
Cristian
f6c73f9aeb fix: Issue with oneshot command 2020-12-08 18:42:25 -05:00
Cristian
db73d92f83 docs: Update shell message to import models 2020-12-06 12:26:22 -05:00
Cristian
8d22ebf988 feat: Remove walrus operator (we still need to support python3.7) 2020-12-06 12:23:02 -05:00
Nick Sweeting
6ac48d7c35 tweak warning msg 2020-12-06 02:11:36 +02:00
Nick Sweeting
a0a79cead8 move utils and vendored libs into subfolders 2020-12-06 02:01:18 +02:00
jdcaballerov
172197ae01 refactor: Remove if LENGTH and use text chunker for every input 2020-12-06 01:14:39 +02:00
jdcaballerov
5a6b814c79 Add exception handling for indexable content reader 2020-12-06 01:14:38 +02:00
JDC
15fbd81480 Change MAX_SONIC_TEXT_LENGTH 2020-12-06 01:14:38 +02:00
JDC
db9c2edccc Add log print for url indexing 2020-12-06 01:14:38 +02:00
JDC
0acf479b70 Partition long strings in chunks for sonic 2020-12-06 01:14:38 +02:00
JDC
caf4660ac8 Add indexing to update command and utilities 2020-12-06 01:14:37 +02:00
JDC
273c9d91c6 Add tag filter to update command 2020-12-06 01:13:39 +02:00
JDC
7903db6dfb Add ArchiveResult Manager and sorted indexable filter 2020-12-06 01:13:39 +02:00
JDC
23a9beb4e0 Add ignored extensions in ripgrep search 2020-12-06 01:13:39 +02:00
JDC
95382b3812 Add ripgrep rg search backend and set as default 2020-12-06 01:13:39 +02:00
JDC
8484bdb973 Fix add search filter to update 2020-12-06 01:13:39 +02:00
JDC
c5b1b91708 fix: flush_search_index must be called before removing snapshots 2020-12-06 01:13:39 +02:00
JDC
70cc0c1950 Add search filter-type 2020-12-06 01:13:39 +02:00
JDC
4eeedae815 Exception handling for indexing and searching 2020-12-06 01:13:39 +02:00
JDC
0ed53cc117 Add search filter type for update 2020-12-06 01:13:39 +02:00
JDC
0f7dba07df feat: add search filter-type to list command 2020-12-06 01:13:37 +02:00
JDC
fb67d6684c fix: Return empty QuerySet instead of list 2020-12-06 01:12:47 +02:00
JDC
823df34080 Use QuerySets for search backend API instead of pks 2020-12-06 01:12:47 +02:00
JDC
f383648ffc Use a generator for snapshot flush from index 2020-12-06 01:12:47 +02:00
JDC
47daa038eb Implement flush for search backend after remove command 2020-12-06 01:12:47 +02:00
JDC
c2c01af3ad Add config for search backend 2020-12-06 01:12:47 +02:00
JDC
5f6673c72c Implement backend architecture for search engines 2020-12-06 01:12:46 +02:00
JDC
b1f70b2197 Initial implementation 2020-12-06 01:12:45 +02:00
Nick Sweeting
7bc13204e6
Merge branch 'master' into v0.5.0 2020-12-05 17:45:16 -05:00
Nick Sweeting
3b280e6b02
Merge pull request #569 from cdvv7788/extract-command-update
feat: Add --extract flag to update command
2020-12-05 17:43:28 -05:00
Cristian
35389608d1 feat: Add --extract flag to update command 2020-12-05 12:20:47 -05:00
Cristian
34cad4fe8d fix: Update function with --index-only flag was not behaving as expected 2020-12-05 12:10:17 -05:00
mAAdhaTTah
ac7ad9e942
Add parser for Pocket API
Pass a url like `pocket://Username` to import that username's archived Pocket
library. Tokens need to be stored in ArchveBox.conf with the following keys:

```
POCKET_CONSUMER_KEY = key-from-custom-pocket-app
POCKET_ACCESS_TOKENS = {"YourUsername": "pocket-token-for-app"}
```

`POCKET_ACCESS_TOKENS` MUST be on a single line, or the JSON will be
misinterpreted by the parser as a new key/value pair.
2020-12-04 22:54:39 -05:00
Nick Sweeting
00dfe2d449
Merge branch 'v0.5.0' into cleanup 2020-12-04 20:40:24 -05:00
jdcaballerov
54b25d9a81 Linting 2020-12-03 15:59:45 -05:00
jdcaballerov
d4bca80b50 Use uppercase for constants 2020-12-03 15:44:59 -05:00
jdcaballerov
c8d8346e4d Remove duplicate context after rebase 2020-12-03 15:44:21 -05:00
jdcaballerov
a1fba9887d Remove write_html_main_index 2020-12-03 09:25:38 -05:00
jdcaballerov
7f39702bd2 Delete legacy/ folder 2020-12-03 09:17:34 -05:00
jdcaballerov
367b12ba40 Replace legacy templates for django templates 2020-12-03 09:16:18 -05:00