1
0
Fork 0
mirror of synced 2024-06-27 18:40:52 +12:00
Commit graph

416 commits

Author SHA1 Message Date
Nick Sweeting 27708152d2 wip initial django setup 2019-04-02 16:36:41 -04:00
luoliyan 924de7f68c Update purge script to match codebase cleanup 2019-04-02 13:13:07 +09:30
Nick Sweeting 03f300d050 always patch all links 2019-03-30 23:47:56 -04:00
Nick Sweeting f1075f2c7d fix links index 2019-03-30 23:43:53 -04:00
Nick Sweeting 97249a1861 handle urls with special characters properly 2019-03-30 22:25:10 -04:00
Nick Sweeting 6a8f6f52af 0 mypy errors 2019-03-30 21:29:16 -04:00
Nick Sweeting f4e018ba0c fix a bunch of mypy errors 2019-03-30 20:49:45 -04:00
Nick Sweeting eef8ca29f0 hide compression detection failure during config setup 2019-03-30 20:31:28 -04:00
Nick Sweeting ac9fed06fd whitespace 2019-03-30 17:59:56 -04:00
Nick Sweeting 880b425df6 add note about saving timestamp strings independently 2019-03-30 17:57:39 -04:00
Nick Sweeting 6d92784dbb add docstring about timestamp parsing 2019-03-30 17:51:23 -04:00
Nick Sweeting 8283b353f4 fix wget_auto_compression check prining stderr to console 2019-03-30 17:43:44 -04:00
Nick Sweeting fffeb21ad4 remove progress dots in title fetching 2019-03-30 15:50:32 -04:00
Nick Sweeting 1e45b02684 add flake8 config 2019-03-30 15:41:26 -04:00
Nick Sweeting 03a388300f fix link parsing 2019-03-30 15:38:28 -04:00
Nick Sweeting b58afcf974 fix broken import 2019-03-30 15:37:36 -04:00
Nick Sweeting 5d0185b6dd Merge branch 'master' into dev 2019-03-30 15:36:54 -04:00
Nick Sweeting 1191cf1df1 fix importerror of scheme 2019-03-30 15:04:43 -04:00
Nick Sweeting 73f46b0b29 add proper typechecked json parsing and dumping 2019-03-30 15:03:46 -04:00
Nick Sweeting 35c05c321f minor bin version checking changes 2019-03-30 15:03:31 -04:00
Nick Sweeting 529a0f8bb2
fix broken function name 2019-03-30 15:00:21 -04:00
Nick Sweeting 066b36b6a9
make URL_BLACKLIST empty by default 2019-03-30 14:56:19 -04:00
Nick Sweeting 9cdceecda8 final link rewrite on ctrl+c 2019-03-27 20:49:09 -04:00
Nick Sweeting 4c8e45b8d7 save all imports to sources dir 2019-03-27 20:48:41 -04:00
Nick Sweeting cc3d1e9cc9 limit length of stringified arg_vals in exceptions 2019-03-27 18:26:22 -04:00
Nick Sweeting 8b50fee0f5 better type checking of latest output methods 2019-03-27 18:25:17 -04:00
Nick Sweeting d2a34f2602 switch to atomic disk writes for all index operations 2019-03-27 18:24:57 -04:00
Nick Sweeting a214bd7c02 make everything take link_dir as an optional arg since its derivable from link url 2019-03-27 18:24:30 -04:00
Nick Sweeting 9fc1e3c3e1 provide migration hint when initializing 2019-03-27 18:21:53 -04:00
Nick Sweeting a26c2fe467 show full version info using flag 2019-03-27 16:44:00 -04:00
Nick Sweeting 3375522ff4 remove uneeded bin shortcuts 2019-03-27 15:49:41 -04:00
Nick Sweeting 64f92af60b working setuptools package distribution 2019-03-27 15:39:30 -04:00
Nick Sweeting 93216a3c3e new version handling and absolute imports 2019-03-27 15:35:13 -04:00
Nick Sweeting bc1bc9fe02 htmldecode all urls and titles during parsing 2019-03-27 15:33:59 -04:00
Nick Sweeting b1b0c8d1c5 show prettier failure output during link archiving 2019-03-27 15:33:12 -04:00
Nick Sweeting ea695b8bef remove dataclass for ArchiveIndex in favor of plain dict to simplify schema file 2019-03-27 15:32:39 -04:00
Nick Sweeting 88721512d4 more detailed parsing and indexing cli output 2019-03-27 15:16:53 -04:00
Nick Sweeting b9839500b2 make archivebox use current directory as OUTPUT_DIR by default 2019-03-27 15:15:51 -04:00
Nick Sweeting 0ad8d51f0e remove base32 crockford in favor of dependency 2019-03-27 15:14:47 -04:00
Nick Sweeting 2e8008009e make main compatible with setuptools entrypoint api 2019-03-27 15:14:22 -04:00
Nick Sweeting 79b319a48c make archive.py runnable as package and as module 2019-03-27 15:13:47 -04:00
mlazana 8502fa5cc3 config.py: update function exclude_blacklisted(links) 2019-03-27 20:10:05 +02:00
mlazana a3705e31c6 Merge remote-tracking branch 'upstream/master' 2019-03-27 20:03:07 +02:00
Nick Sweeting 002206d4fe remove distutils in favor of shutil 2019-03-27 11:39:51 -04:00
Nick Sweeting e1a1ea25dd add readability script 2019-03-27 11:39:28 -04:00
Nick Sweeting 7ae680a461 Merge branch 'master' into dev 2019-03-27 10:36:29 -04:00
Nick Sweeting 0835baf435 show link titles in black 2019-03-27 10:31:44 -04:00
Nick Sweeting 407484b91e show progress during main index writing 2019-03-27 10:31:22 -04:00
Nick Sweeting 19e1c35f1a support loading link indexes with extra keys 2019-03-27 10:31:07 -04:00
Nick Sweeting 6bec1709f6
Update config.py 2019-03-27 04:48:38 -04:00
Nick Sweeting 98870ba428 fit bigger titles with tighter spacing 2019-03-27 03:56:38 -04:00
Nick Sweeting d2cf260e7c css tweaks 2019-03-27 03:52:38 -04:00
Nick Sweeting 2ed91fe429 new details page design 2019-03-27 03:49:39 -04:00
Nick Sweeting c9c5b04df0 full type-hinting coverage 2019-03-26 23:25:07 -04:00
Nick Sweeting ab09560f14 working runtime type casting and enforcement for a wide range of types 2019-03-26 22:26:21 -04:00
Starbeamrainbowlabs ab72a2dad1
Try to add --compression back again 2019-03-26 23:38:50 +00:00
Starbeamrainbowlabs 51859731d3
config.py: add WGET_AUTO_COMPRESSION 2019-03-26 23:34:45 +00:00
Nick Sweeting 0d8a076c1f add base32 crockford dependency 2019-03-26 19:21:48 -04:00
Nick Sweeting 25a107df43 switch to dataclasses, working Link type hints everywhere 2019-03-26 19:21:34 -04:00
Starbeamrainbowlabs ed7ad04fd9
wget: Remove unsupported compression option
--compression=auto is not supported on Raspberry Pis. This PR removes it from ArchiveBox.
2019-03-26 15:46:57 +00:00
Nick Sweeting 76abc58135 switch to strict type hints with NamedTuples instead of dicts 2019-03-26 05:33:34 -04:00
Nick Sweeting 0a44779b21 save command versions in archive results 2019-03-26 05:32:16 -04:00
Nick Sweeting 52871f42e7 cleaner config with type hints 2019-03-26 05:31:27 -04:00
Nick Sweeting 4f8c99011a fix terminal resizing making progress bar go crazy 2019-03-26 05:30:23 -04:00
Nick Sweeting 63abc8980c add mypy type hints 2019-03-26 03:20:41 -04:00
Nick Sweeting 58c9b47d43 fix rss parsing when items have newlines between them 2019-03-25 16:27:55 -04:00
mlazana 81d846427e fix comments in links.py 2019-03-24 19:04:22 +02:00
mlazana 4d10568477 exclude links that are in blacklist 2019-03-24 14:40:26 +02:00
mlazana 417ee9e302 add env variable URL_BLACKLIST 2019-03-23 21:27:41 +02:00
Nick Sweeting fb8d4e9369 fix title None error 2019-03-22 23:10:11 -04:00
Nick Sweeting c28c0d0e71 enable gzip auto decompression 2019-03-22 23:01:01 -04:00
Nick Sweeting f7a0568a6c better chrome options loading 2019-03-22 23:00:53 -04:00
Nick Sweeting ef865dd76a better stats collection and printing 2019-03-22 23:00:43 -04:00
Nick Sweeting 4c499d77b6 move dependency checking into config file 2019-03-22 22:05:45 -04:00
Nick Sweeting 096832210c better logging totals counts 2019-03-22 21:38:24 -04:00
Nick Sweeting d06775923b move latest to derived data using history 2019-03-22 21:38:08 -04:00
Nick Sweeting 69f837bbf6 simplify chrome_user_data_dir default 2019-03-22 21:37:02 -04:00
Nick Sweeting 8f73fdbe09 fix chrome profile precedence order to be equal 2019-03-22 21:31:55 -04:00
Nick Sweeting bd9f3e313f better logging during long output 2019-03-22 15:09:39 -04:00
Nick Sweeting 1c5732d5c6 improve logging of skipped links 2019-03-22 14:01:29 -04:00
Nick Sweeting 0075daa45c
Merge pull request #187 from simon987/master
Fix succeded typo
2019-03-22 12:35:15 -04:00
simon987 1c7dafb378 Fix for #188 2019-03-21 20:12:27 -04:00
simon987 fa425b563e Fix succeded typo 2019-03-21 19:59:09 -04:00
Nick Sweeting d798117081 better separation of archive method checking and running logic 2019-03-21 05:35:41 -04:00
Nick Sweeting e6bd1f8ca8 major codebase-wide code cleanups 2019-03-21 01:28:12 -04:00
Nick Sweeting c806068683 fix missing import 2019-03-20 21:12:43 -04:00
Nick Sweeting 5ee1c39720 remove flawed link_type concept in favor of simpler staticfile detection 2019-03-20 21:11:29 -04:00
Nick Sweeting c79e1df8b2 use hints system to pass stdout and errors up to the traceback 2019-03-20 21:10:09 -04:00
Nick Sweeting c38de3bbe7 nicer iframes on detail pages 2019-03-20 04:30:44 -04:00
Nick Sweeting e4c7683983 move js to head and optimize for loading speed 2019-03-20 04:30:28 -04:00
Nick Sweeting c2ea90ed39 better favicon loading 2019-03-20 04:30:00 -04:00
Nick Sweeting 1772bbfb13 minor ui tweaks 2019-03-20 02:57:06 -04:00
Nick Sweeting ac56023bfd fix wget_output_path relative location building 2019-03-20 02:37:27 -04:00
Nick Sweeting 9c166d5bcf add more files links to index details page 2019-03-20 02:37:13 -04:00
Nick Sweeting 7f84c4b3c8 dont show in progresss message or regen index on exit 2019-03-20 02:36:55 -04:00
Nick Sweeting f9a7c530b9 fix pinboard RSS parser 2019-03-19 18:44:22 -04:00
Nick Sweeting 61ec4971e9 fix nested archive index page and improve wget output finding 2019-03-19 18:10:11 -04:00
Nick Sweeting eb5cc8078a better UX before titles have been fetched during archiving progress 2019-03-19 18:10:11 -04:00
Nick Sweeting 914750c453 better title regex to match titles surrounded by newlines 2019-03-19 18:10:11 -04:00
Nick Sweeting 1b5201fd58 re-save index on Ctrl+c to hide in progress message on html output 2019-03-19 18:10:11 -04:00
noncetonic 28758cf16c
Adds CHROME_USER_AGENT 2019-03-19 10:15:52 -07:00
noncetonic e230e27929
Changes HEADLESS_USER_AGENT to CHROME_USER_AGENT 2019-03-19 08:13:27 -07:00
noncetonic a13f22d15a
Adds support for HEADLESS_USER_AGENT for Chrome 2019-03-19 05:32:48 -07:00
Nick Sweeting 1c1bc76ac1 add chrome headless option and improve default data dir finding 2019-03-12 17:50:10 -04:00
Nick Sweeting 5e583573d5 pretty warning when missing distutils 2019-03-12 15:50:41 -04:00
Nick Sweeting 8319ccf064
add docs link to config.py 2019-03-12 12:48:46 -04:00
Nick Sweeting 10bb970d66
Update archive_methods.py 2019-03-12 12:45:33 -04:00
Nick Sweeting c474bb7992
fix settings not being applied 2019-03-11 03:13:59 -04:00
Nick Sweeting 32c39d0fd0 cleaner output dir spec in config 2019-03-08 17:51:49 -05:00
Nick Sweeting 2e10f57f6e fix relative links from index files 2019-03-08 17:46:14 -05:00
Nick Sweeting ce13a57a2c fix favicon not existing 2019-03-08 17:30:36 -05:00
Nick Sweeting 0f84c40f69 dont use latest to override derived info 2019-03-08 17:29:32 -05:00
Nick Sweeting 450b4534ad actually fix path 2019-03-08 17:10:18 -05:00
Nick Sweeting 5c401007d3 fix output path 2019-03-08 17:05:53 -05:00
Nick Sweeting 83a96bb823 fix missing vars 2019-03-08 17:03:48 -05:00
Nick Sweeting c7fc9e1878 remove dead code and cleanup utils file 2019-03-08 17:01:15 -05:00
Nick Sweeting 354ea142e7 fix double path in archive_url 2019-03-08 16:31:25 -05:00
Nick Sweeting a74d8410f4 also check for macOS binary defaults 2019-03-08 16:25:42 -05:00
Nick Sweeting b2ccb7dbcb refactor error hint printing to be DRYer 2019-03-08 16:25:42 -05:00
Nick Sweeting 14e66a6909 use derived_link_info more consistently in index generation 2019-03-03 14:10:18 -05:00
Nick Sweeting 552734241b put git clones in a git folder to avoid retries 2019-02-27 15:55:39 -05:00
Nick Sweeting 3eaa76267e fix keyerror domain bug 2019-02-27 15:42:53 -05:00
Nick Sweeting b4dc80b0a7 when checking link invariants, check for regex match as well 2019-02-27 04:50:29 -05:00
Nick Sweeting fa6f53f2af used derived info for all derivable info 2019-02-27 04:50:29 -05:00
Nick Sweeting ef4c446c8b new compiled URL regex with better markdown support 2019-02-27 04:50:29 -05:00
Nick Sweeting b2c22a73e6 move parsers to global instead of func 2019-02-27 04:50:29 -05:00
Nick Sweeting af7e8df0eb rename download url func 2019-02-27 04:50:29 -05:00
Nick Sweeting 09d79e55a0 remove derivable link info from links 2019-02-27 04:50:29 -05:00
Nick Sweeting eb003f6a26 better function naming 2019-02-27 04:50:29 -05:00
Nick Sweeting 328a59749b better remote file downloading cli output messages 2019-02-27 04:50:29 -05:00
Nick Sweeting b03e9fade8 better link corruption guards, remove title prefetching, save index after run 2019-02-21 17:45:28 -05:00
Nick Sweeting c95632883e fix without_hash to without_fragment 2019-02-21 16:03:19 -05:00
Nick Sweeting d689264365 add new config and dependency options 2019-02-21 15:47:15 -05:00
Nick Sweeting 34cfde0c4e dont fetch titles when FETCH_TITLE=False 2019-02-21 12:58:51 -05:00
Nick Sweeting d52c9c5304 allow passing COOKIES_FILE to wget 2019-02-21 12:58:51 -05:00
Nick Sweeting 935dcac0c7 fix title showing up as None in some UI spots 2019-02-19 02:40:02 -05:00
Nick Sweeting eff0100971 fix RSS parser bailing out when lines have whitespace before tags 2019-02-19 02:31:53 -05:00
Nick Sweeting 3571ef24e4 fix logic for ONLY_NEW accidentally replacing all links 2019-02-19 02:21:28 -05:00
Nick Sweeting 1b36d5b29c fix pocket timestamps defaulting to now 2019-02-19 01:54:09 -05:00
Nick Sweeting 2c9aad559d use urllib for url parsing instead of hand written string commands 2019-02-19 01:45:19 -05:00
Nick Sweeting 8576a2f061 better parser explanation comment 2019-02-19 01:45:03 -05:00
Nick Sweeting 5a7d00a639 fetch page title during archiving process 2019-02-19 01:44:54 -05:00
Nick Sweeting bb5879a4f7 fix some parser errors not being caught by bail out process 2019-02-18 23:45:49 -05:00
Nick Sweeting 74b99fe9eb fix import_path None error 2019-02-12 20:04:03 -05:00
Nick Sweeting e6d5cd4432 ignore robots.txt when using wget 2019-02-06 22:06:36 -08:00
Nick Sweeting 56d382235f better progress output 2019-02-06 22:06:36 -08:00
Nick Sweeting 33ba29ea90 add optional parser error message 2019-02-06 22:06:36 -08:00
Nick Sweeting ce257949b4 fix double parsing by accident 2019-02-04 22:08:08 -08:00
Nick Sweeting 1ca27a60b2 show dots as progress bar for titles fetching 2019-02-04 22:07:59 -08:00
Nick Sweeting ee93807a0a tweak wording of parser cli output 2019-02-04 22:07:48 -08:00
Nick Sweeting ca8f57ef5c add dedicated shaarli rss parser 2019-02-04 21:18:42 -08:00
Nick Sweeting 522b6288c1 hide frequent youtubedl incompatibility 2019-02-04 21:18:17 -08:00
root fb00f1f336 fix flickering progress bars 2019-02-05 04:45:36 +00:00
Nick Sweeting bc6de29a5a recreate chunks on each new progress bar 2019-02-04 20:41:35 -08:00
Nick Sweeting 78ffa57c06 ignore hsts as well 2019-02-04 20:37:19 -08:00
Nick Sweeting 637f63dc80 chmod media after downloading 2019-02-04 20:15:34 -08:00
Nick Sweeting 756f31a50b hide common youtubedl failures 2019-02-04 20:08:54 -08:00
Nick Sweeting 2b45792ad8 new test files 2019-02-04 20:04:03 -08:00
Nick Sweeting 265e1bd830 fix parsing links from stdin with whitespace 2019-02-04 20:03:32 -08:00
Nick Sweeting 794c043fa4 fix chrome data dir in wrong folder 2019-02-04 20:03:16 -08:00
Nick Sweeting 9f5441c4f3 quieter media downloads 2019-02-04 20:03:06 -08:00
Nick Sweeting 4e5b466bb2 fix broken wget user agents 2019-02-04 20:02:54 -08:00
Nick Sweeting d8c7c98c01 fix exception format string 2019-02-04 20:02:40 -08:00
Nick Sweeting 705abda1a5 send ArchiveBox user agent to archive.org 2019-02-04 20:02:33 -08:00
Nick Sweeting 8a9b4d6975 dont git clone urls with hashes 2019-02-04 19:21:08 -08:00
Nick Sweeting b8e5e1d5bd skip media when folder exists, even if empty 2019-02-04 19:21:00 -08:00
Nick Sweeting 901666bae6 dont show wget errors unless all files failed to download 2019-02-04 19:20:36 -08:00
Nick Sweeting 3ac0efb619 dont parse quotes as part of urls 2019-02-04 18:54:02 -08:00
Nick Sweeting af8b9b5fdf use parsed timestamps instead of now 2019-02-04 18:53:54 -08:00
Nick Sweeting 21c62043e3 new logo 2019-02-04 18:45:46 -08:00
Nick Sweeting 543d2fc010 tweak index visual header style 2019-02-04 18:45:36 -08:00
Nick Sweeting c969451a1c dont clobber pocket timestamps 2019-02-04 18:45:25 -08:00
Nick Sweeting c32a385e8f show which format file was parsed as 2019-02-04 18:45:18 -08:00
Nick Sweeting ae0c20dc76 fix flake8 errors 2019-02-04 17:52:53 -08:00
Nick Sweeting eeb89ae2cc
Merge pull request #138 from luoliyan/improve-purge-script
Improve index purge script
2019-02-04 17:49:22 -08:00
luoliyan fee4565194 Improve index purge script 2019-02-05 06:48:49 +09:30
Nick Sweeting ad7038e031 catch json parse errors in link archiving 2019-02-04 08:00:08 -08:00
Nick Sweeting c37941efd1 dont match closing tags in full text 2019-01-31 19:46:34 -08:00
Nick Sweeting 9eb79258bb check chrome version on startup if using chrome 2019-01-29 17:08:15 -08:00
Nick Sweeting b53251fe45 fix parsers 2019-01-26 15:09:58 -08:00
Nick Sweeting ff125d990c fix order of parsers not enforced on python 3.5 2019-01-25 21:02:25 -08:00
Nick Sweeting e60070dbb2 add youtubedl to help str 2019-01-25 17:38:47 -08:00
Nick Sweeting 20de451515 add linux config example 2019-01-23 01:48:04 -05:00
Nick Sweeting 95301c9306 better default config 2019-01-23 01:42:55 -05:00
Nick Sweeting 2c30cd9468 better closure 2019-01-23 01:08:23 -05:00
Nick Sweeting db0461ec4e add timeout to title fetching 2019-01-23 01:08:23 -05:00
Nick Sweeting e1be96e597 working docker-compose with google chrome 2019-01-23 01:08:23 -05:00
Nick Sweeting f25be8bc24 add chrome user agent example in config 2019-01-20 14:08:33 -05:00
Nick Sweeting 071b39b944 nicer error formats 2019-01-20 14:08:33 -05:00
Nick Sweeting de6eb649e0 disable wget timestamping if using warcs 2019-01-20 14:08:33 -05:00
Nick Sweeting ce07a6c738 patch subprocess.run to have better timeout handling 2019-01-20 14:08:33 -05:00
Nick Sweeting e620722bb9 fix timeouts hanging the progressbar 2019-01-20 14:08:33 -05:00
Nick Sweeting 7ea36c4adb bump timeouts and improve curl archive method 2019-01-20 14:08:33 -05:00
Nick Sweeting cc8611de83
Update config.py 2019-01-14 22:46:35 -05:00
Nick Sweeting c42fcd42d7 fetch warc file inline with wget instead of as separate step 2019-01-14 22:43:14 -05:00
Nick Sweeting 300b5c6182 put ArchiveBox and wget version in user agent 2019-01-14 18:17:30 -05:00
Nick Sweeting 39f5e12364 allow passing import list via stdin 2019-01-14 18:11:48 -05:00
Nick Sweeting cb60bad1d7 disable WARC by default 2019-01-12 20:19:17 -05:00
Nick Sweeting 321cdeda11 add mirror to git clone 2019-01-12 20:13:13 -05:00
Nick Sweeting 6189b1a8af fix invalid old config vars 2019-01-12 03:13:55 -05:00
Nick Sweeting b650c663a0 re-enable checking SSL by default 2019-01-11 22:48:09 -05:00
Nick Sweeting f83750c545 cleanup options and make cli flags better for chrome headless timeouts 2019-01-11 22:38:50 -05:00
Nick Sweeting 911b84a79b make wget cli options easier to read 2019-01-11 22:13:51 -05:00
Nick Sweeting b77476cb83 fix user agent quoting 2019-01-11 19:54:43 -05:00
Nick Sweeting e8808b0a1f add WARC downloading 2019-01-11 07:02:49 -05:00
Nick Sweeting 74189966bf add link to media 2019-01-11 06:50:42 -05:00
Nick Sweeting a15a331798 fix media download with longer timeout 2019-01-11 06:33:35 -05:00
Nick Sweeting c33f7ba91c add ability to fetch media 2019-01-11 05:52:29 -05:00
Nick Sweeting 0df098717a make git domains configurable 2019-01-11 05:27:25 -05:00
Nick Sweeting d35c6cf8b5 fix fetch page title default 2019-01-11 05:19:22 -05:00
Nick Sweeting 67d103a293 dont float round timestamps 2019-01-11 05:19:07 -05:00
Nick Sweeting 827e15b31a add git downloading 2019-01-11 05:18:49 -05:00
Nick Sweeting 5b6c768a47 autodetect common chrome binary locations 2019-01-11 04:34:16 -05:00
Nick Sweeting cf9d1875c7 add plain text link parsing 2019-01-11 04:09:39 -05:00
Nick Sweeting 0e72addcda remove requests dependency 2019-01-09 04:05:34 -05:00
Nick Sweeting 57d42339a4 rename pip dir archive to archivebox 2018-12-31 20:53:01 -05:00