tldr-python-client
tldr-python-client copied to clipboard
Pages that are only in common, always force an https connection
common vs specific platform
Take for example the command: tldr tldr
on linux (Let's assume I already have the file common/tldr.md
in my cache directory and it is newer than TLDR_CACHE_MAX_AGE
).
One might reasonably assume that no https requests will be made. But in fact, the program first looks for linux/tldr.md
, since it's not in the cache, it first requests it from
PAGES_SOURCE_LOCATION/linux/tldr.md
which returns a 404. then after all this, it looks for common/tldr.md
and shows the contents.
Solution
I suggest checking the common cache directory before making an https connection for platform specific files. Or to avoid changing default behavior, at least put this behavior behind an option like
--common-before-net
https://github.com/tldr-pages/tldr/blob/master/CLIENT-SPECIFICATION.md says nothing about it, but we will take a look. Your reasoning makes perfect sense.
@MasterOdin Wanna take a look at this?
I would probably just make it the default that we construct the list of possible page locations, check if the page exists in any of them, and if it does, display it (assuming page is not too old), else start making http calls. I plan to work on this on a broader clean-up of the process to determine this information (as well as start adding some unit tests to the library).