Commit Graph

293 Commits

Author SHA1 Message Date
Alexander Cecile
59ddd34d0e Changed dependency-related exception to be compatible with Python versions < 3.6 2020-08-28 01:51:14 -04:00
Alexander Cecile
1019c6ae00 Improve the error raised when the new dependency is missing 2020-08-28 00:17:50 -04:00
Alexander Cecile
06483cca1d Update error handling in get_file_by_url
I don't believe the the .text could actually raise that exception. Oops.
2020-08-25 20:48:35 -04:00
Alexander Cecile
083db6955e Implement error handling and improve documentation in get_file_by_url 2020-08-25 18:28:21 -04:00
Alexander Cecile
9380fe534e Tweak output formatting of get_file_by_url 2020-08-21 14:44:27 -04:00
Alexander Cecile
beca76acfe Tweak get_file_by_url 2020-08-20 20:00:36 -04:00
Alexander Cecile
4fefecf2e3 Document get_file_by_url 2020-08-20 18:42:31 -04:00
Alexander Cecile
44f41c317b Document get_file_by_url 2020-08-20 17:01:11 -04:00
Alexander Cecile
140c0bd29e Use domain_to_idna in get_file_by_url 2020-08-20 16:15:37 -04:00
Alexander Cecile
79bd7d4122 Tell requests to detect encoding.
Changed the get_file_by_url function to infer/guess the encoding of the content we receive.
2020-08-18 19:36:47 -04:00
Alexander Cecile
5186071948 Introduce the requests library.
Replace the combination of urllib, beautifulsoup and lxml with the requests library.
2020-08-17 19:52:11 -04:00
Steven Black
a09e408c8a
Merge pull request #1342 from codeswhite/patch-network-retry
Implemented connectivity check (Fixed #1038)
2020-07-13 13:41:19 -04:00
Max G
2abefc7cfa Fixed retrying 2020-07-13 18:05:35 +03:00
Steven Black
82791b30c4
Merge pull request #1341 from codeswhite/patch-systemctl-multiple-restarts
Check if a service has already been restarted (Fixes #1338)
2020-07-12 13:36:15 -04:00
Max G
f26168194b Retry to get file from URL once failed
(Resolves #1038)
2020-07-11 14:09:51 +03:00
Max G
0a96dcad34 Use 'with' to not leave a resource open 2020-07-11 13:58:44 +03:00
Max G
0f727b8bed Revert "Implemented connectivity check (Fixed #1038)"
This reverts commit bc8e4c92b8.
2020-07-11 13:57:42 +03:00
Max G
12ee4e0218 Changed to .append() as requested 2020-07-11 13:37:08 +03:00
Max G
bc8e4c92b8 Implemented connectivity check (Fixed #1038) 2020-07-11 00:23:31 +03:00
Max G
bb1b8e81ae Check if a service has already been restarted (Fixes #1338) 2020-07-10 23:48:36 +03:00
Max G
43fe30181b Check if a service is running (Fixed #1337) 2020-07-10 22:47:47 +03:00
funilrys
15df541200
Fix linting issue. 2020-06-07 20:11:57 +02:00
funilrys
5798b17132
Fix location issue under windows.
This patch fix https://github.com/StevenBlack/hosts/issues/1166#issuecomment-634686875
2020-06-07 18:28:32 +02:00
XhmikosR
877814eb22
Update updateHostsFile.py
Escape backslashes
2020-05-27 10:54:15 +03:00
Guilherme Heuser Prestes
d7f8d5ef35
Add back the '-' after hosts in the filename 2020-04-24 21:16:07 +02:00
Steven Black
ef6cff0702
Merge pull request #1236 from adherzog/fix-default-whitelist
Fix default whitelist argument.
2020-04-23 21:38:58 -04:00
XhmikosR
f5358fd0b4 Join a few short lines and fixes a few typos 2020-04-23 09:02:38 +03:00
funilrys
dd7904dcc8
Add forgotten sorting.
Indeed, I forgot to sort the content of the hosts file.
2020-04-21 23:54:01 +02:00
funilrys
665dc98191
Unification of the sorting of the sources.
Before this patch, there was no proper sorting and the sources.

As @XhmikosR mentioned in StevenBlack/hosts#1166, without this patch,
the output is totally different in Windows. But let's be honest, if it
is like that under Windows, chances are that the same behavior happens
across different OSes or machines around the globe.

Another reason behind this patch is that - desperate the fact that we
certainly trust @StevenBlack - the integrity of the generated files
could not be guarenteed because of the sorting which may be completely
different from an OS to another and a machine to another.

For those reasons, this patch introduces a unification of the sorting of
all sources.

The idea behind this patch is to have @StevenBlack's ad-hoc hosts
file always on top (1st) and the rest of the sources sorted
alphabetically based on the name of the folder inside the `data`
or `extensions` directory.

This will ensure that we get the same result everywhere.

Concretely speaking, I just added the function (`sort_sources`) which
sorts a given list of sources files. And later on, call the new function
everywhere it was necessary. Tests of the newly introduced function
are also included.

Contributors:
  * @ScriptTiger
  * @XhmikosR

Notes:
  * This patch fix (completely ?) ScriptTiger/hosts#1
  * This patch fix https://github.com/StevenBlack/hosts/issues/1166#issuecomment-590511086
2020-04-21 22:54:25 +02:00
Adam Herzog
2a742e7f99 Fix default whitelist argument. 2020-04-20 10:22:13 -04:00
Anthony Molinaro
4aa8b65cc2 provide defaults for args 2020-04-13 16:20:22 -07:00
Anthony Molinaro
dd2d878e95 Allow whitelist/blacklist files to be passed via command line 2020-04-13 12:14:34 -07:00
Steven Black
e091bcc185
Merge pull request #1216 from djnym/clean-checkout-fixes
Keep checkout unmodified when adding outputpath.
2020-04-08 16:23:58 -04:00
Anthony Molinaro
cac15b1c11 use nogendata for arg 2020-04-07 22:55:02 -07:00
Anthony Molinaro
37bc3821f8 applied black 2020-04-07 22:44:37 -07:00
Anthony Molinaro
9c1b8b2579 use more succinct name for arg 2020-04-07 22:40:30 -07:00
XhmikosR
787022fea2
Fix typo 2020-04-08 07:36:24 +03:00
Anthony Molinaro
699b52e1bd forgot to remove a debug 2020-04-07 20:17:04 -07:00
Anthony Molinaro
2d696a42d9 keep checkout clean 2020-04-07 20:08:23 -07:00
funilrys
aa4a0f7a46
Fix backslashes issue under Windows.
This patch fixes https://github.com/StevenBlack/hosts/pull/1165#issuecomment-590111613.

This patch simply, replace the `\` Windows directory separator, with the
universal `/` of the web convention.
2020-02-24 18:34:08 +01:00
XhmikosR
d2566110ff Fix GitHub capitalization 2020-02-22 16:21:26 +02:00
funilrys
0843d83d09
It's stupid that it should be at the very top but yeah I fixed it... ¯\_(ツ)_/¯ 2019-07-13 21:06:30 +02:00
funilrys
b93b427a6e
fix #744 #843 and disable E203 (flake8).
Indeed, before this patch, no `# Title: XYZ` was describing our generated
host file. This patch fixes that.

Indeed, we now do the following:

- If no extension is included we add:
    - `# Title: StevenBlack/hosts`
- If exactly one extension is included we add:
    - `# Title: StevenBlack/hosts with the extension_name extension`
- If more than one extension is included we add (in one line):
    - `# Title: StevenBlack/hosts with the extname1,
      extname2 and extname3 extensions`

Please also note that I disable E203 (whitespace before ':') for flake8
at line 773.

Since we use Black for code formatting let me redirect you to
the documentation of Black which explain what I did.

https://black.readthedocs.io/en/stable/the_black_code_style.html#slices :

> Since E203 is not PEP 8 compliant, you should tell
> Flake8 to ignore these warnings.
2019-07-13 13:41:36 +02:00
funilrys
05dad7e657
Introduction of Black: The uncompromising Python code formatter.
Please find more about it there:
* https://github.com/python/black
* https://black.readthedocs.io/en/stable/
2019-07-13 13:40:13 +02:00
funilrys
90420ae751
Fix issue when we meet something like 0.0.0.0
This patch fix StevenBlack/hosts#904
2019-01-30 01:08:59 +01:00
Duck
5c69826a98 Change "utf8" to "UTF-8" in params for encoding in updateHostFile.py 2019-01-05 23:08:46 +08:00
Duck
df29ed238f Specify encoding to UTF-8 when opening source file 2019-01-05 19:11:01 +08:00
spirillen
ddf5a72906
Replaced (UTC) with %Z
I've changed as suggested in https://github.com/StevenBlack/hosts/pull/836#issuecomment-440452979 by @funilrys

The reason I choose NOT to convert this into ISO-8601 is, that we read date.time in different ways depending on with side on the pond we live. By using the "%d %B %Y %H:%M:%S (%Z)" Full date/time this issue is eliminated  and any confusion on how to read the date is no longer existent. The ISO-8601 is good for active pages, as the date ordering is to be manipulated by interface.

Alternative to this is we should add extra lines/info about the date.time ordering, do to this i found this as the easiest way to give this information
2018-12-07 14:31:52 +01:00
spirillen
a2989eedc8
Changes to the time.strftime to make it more accurate
Since some host files might need to be updated more frequently it's more appropriate to show timezone and the exact time for last build, hince changed the order of month and date to %d %B
2018-11-20 23:19:19 +01:00
funilrys
c0d661f388
Review of the notion of keepdomaincomments
This patch fix StevenBlack/hosts#777

This patch:
  * Change the default state of keepdomaincomments.
    * Indeed, comments are now displayed by default.
    * But if you don't need comments, feel free to use the argument.
  * Delete the requirement input when calling the `-k` argument.
  * Update tests case regarding the new state of keepdomaincomments.
2018-09-14 00:15:56 +02:00