-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve support for Windows #160
Conversation
Added support to ignore SSL errors if the environment variable PYTHONWARNINGS is "ignore:Unverified HTTPS request"
It looks like the version of your code is outdated compared to master. Please rebase your code :) Let me know if you need help with that. |
s4/clients/s3.py
Outdated
if python_ignore == 'ignore:Unverified HTTPS request': | ||
verifySSL = False | ||
else: | ||
verifySSL = True |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you explain why you would want this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Behind my corporate firewall I can't connect using HTTPS because the corporate proxy exchange the encryptation keys to inspect the traffic (Security Here is High).
Oh wow that's pretty horrible :| how do you connect to any website then? Most websites use HSTS nowadays which means they wont allow you to connect to them without an https connection.
s4/commands/sync_command.py
Outdated
if hasattr(sync_object, 'total_size'): | ||
total_size = sync_object.total_size | ||
else: | ||
total_size = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is this for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sync_object came None and it raised an exception. The code just assures the object really has the member before calling.
In that case what about:
total_size = sync_object.total_size if sync_object else 0
Behind my corporate firewall I can't connect using HTTPS because the
corporate proxy exchange the encryptation keys to inspect the traffic
(Security Here is High).
This variable is used in the connection code below (line 38 in *bold*)
s3_client = boto3.client(
"s3",
aws_access_key_id=aws_access_key_id,
aws_secret_access_key=aws_secret_access_key,
region_name=region_name,
* verify=verifySSL*
)
So, I need to disable the SSL key verification (I'm figuring out how to
pass the certificate, but I didn't find the local certificate to pass).
One better solution would be to add an parameter to pass during the
invocation. (like aws has the --no-verify option).
Better yet it would be to have this parameter in a config file or similar,
but it would involve more changes.
You're are the owner of the project, so you choose what is the best option.
…On Sun, Oct 28, 2018 at 11:57 AM Michael Aquilina ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In s4/clients/s3.py
<#160 (comment)>:
> @@ -20,6 +22,11 @@
S3Uri = collections.namedtuple("S3Uri", ["bucket", "key"])
+python_ignore = os.environ.get('PYTHONWARNINGS')
+if python_ignore == 'ignore:Unverified HTTPS request':
+ verifySSL = False
+else:
+ verifySSL = True
could you explain why you would want this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANMznr6aYjXW6c65ve_7Z1oDRJ0lCSks5upcXEgaJpZM4X9_8d>
.
|
This was a small bug I found while trying to sync an empty directory.
The sync_object came None and it raised an exception. The code just assures
the object really has the member before calling.
…On Sun, Oct 28, 2018 at 11:57 AM Michael Aquilina ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In s4/commands/sync_command.py
<#160 (comment)>:
> @@ -47,8 +47,12 @@ def handle_conflict(key, action_1, client_1, action_2, client_2):
def display_progress_bar(sync_object):
+ if hasattr(sync_object, 'total_size'):
+ total_size = sync_object.total_size
+ else:
+ total_size = 0
what is this for?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM-Tl0c0E6uSudEJOQkitmFP2eLlbks5upcXngaJpZM4X9_8d>
.
|
The browser works well because it has some certificate that allows
everything to work fine.
However, when I need to use any program connects directly, I need to
disable the SSL verification. Any program like Dropbox (or similars)
doesn't work here. That's why I liked your project. Since I have the
sources I can adjust it to make it work. :-)
…On Mon, Oct 29, 2018 at 10:58 AM Michael Aquilina ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In s4/clients/s3.py
<#160 (comment)>:
> @@ -20,6 +22,11 @@
S3Uri = collections.namedtuple("S3Uri", ["bucket", "key"])
+python_ignore = os.environ.get('PYTHONWARNINGS')
+if python_ignore == 'ignore:Unverified HTTPS request':
+ verifySSL = False
+else:
+ verifySSL = True
Behind my corporate firewall I can't connect using HTTPS because the
corporate proxy exchange the encryptation keys to inspect the traffic
(Security Here is High).
Oh wow that's pretty horrible :| how do you connect to any website then?
Most websites use HSTS nowadays which means they wont allow you to connect
to them without an https connection.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM5iTUu4g4uOuI3nxXIgtaWiAw8NNks5upwmSgaJpZM4X9_8d>
.
|
Well I got the last version on friday.
Today I did an:
D:\Users\GUSCH\@arquivos\src\S4>git pull upstream master
From https://github.com/MichaelAquilina/S4
* branch master -> FETCH_HEAD
Auto-merging s4/commands/sync_command.py
Auto-merging s4/commands/daemon_command.py
Auto-merging s4/clients/s3.py
CONFLICT (content): Merge conflict in s4/clients/s3.py
Automatic merge failed; fix conflicts and then commit the result.
Fixed the conflict (it was the verifySSL), and added the files again,
commited and pushed:
git add s4/clients/s3.py
git add s4/commands/sync_command.py
git add s4/commands/daemon_command.py
git commit
git push
Did I made everything right? Sorry, I never worked with git.
…On Sun, Oct 28, 2018 at 11:56 AM Michael Aquilina ***@***.***> wrote:
It looks like the version of your code is outdated compared to master.
Please rebase your code :)
Let me know if you need help with that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM3Tmmm3CuWJNmGP9_FgpdQq5nADoks5upcWWgaJpZM4X9_8d>
.
|
Maybe the better alternative is to allow the user to specify additional certificates to use then. Does your company recommend against adding the certificate they provide to your system's certificate folder? A quick search on Google gave me this stack overflow post explaining how certificates are stored on windows: https://superuser.com/questions/411909/where-is-the-certificate-folder-in-windows-7#411930 |
Yes, but to make this I need to have them in a .PEM format.
I tried to generate it from the credentials keychain, but with no success.
Probably I'm not getting it right in some way.
I'll try to talk with the security specialist here to figure this out.
Anyway, even if I get the right certificate, I need to have an option to
pass it to verifySSL of the S3 module.
To make my tests changed it to use SSL_CERT variable. If it is empty, set
verifySSL to true. If is IGNORE, set it to false. Else, use the filename as
the certificate. If I cam make it work I'll pull the request.
Because is a security issue, maybe is safer to use it as a parameter, and
not as a environment variable (ok, it was a clutch, I admit :-) ).
If you want I can put it in the parameters using the same syntax as the aws
command.
I don't want to mess with the parameters, because I'm not using the cli.py
from the directory you put in to execute the program.
I needed to copy cli.py to the upper directory and call it from there
(python cli.py).
D:\Users\GUSCH\@arquivos\src\S4\s4>python cli.py s
Traceback (most recent call last):
File "cli.py", line 7, in <module>
from s4 import VERSION, utils
ModuleNotFoundError: No module named 's4'
D:\Users\GUSCH\@arquivos\src\S4\s4>cd ..
D:\Users\GUSCH\@arquivos\src\S4>python cli.py s
Syncing s4 [D:\Users\GUSCH\arquivos\s4/ <=> s3://ranaur/s4/]
...
How to you evoke the program?
…On Mon, Oct 29, 2018 at 11:10 AM Michael Aquilina ***@***.***> wrote:
Maybe the better alternative is to allow the user to specify additional
certificates to use then. Does your company recommend against adding the
certificate they provide to your system's certificate folder? A quick
search on Google gave me this stack overflow post explaining how
certificates are stored on windows:
https://superuser.com/questions/411909/where-is-the-certificate-folder-in-windows-7#411930
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM_kqGlLFvKv9GNFugFNpBPWNDGqwks5upwxVgaJpZM4X9_8d>
.
|
To me there are two separate problems to solve here:
Let's focus on supporting windows first and then the proxy :) The PR merge is not completely successful because The way to run code directly is now to run using
I was meant to update the contributing section explaining how to use poetry but forgot to - so my apologies about that. |
…s a geturi_local method that display the URI in the local format (local means using \ in Windows machine). Now both clients internally uses always the posix format. local.py translates to local (windows) path format when needs to go to the filesystem. Fix to allow honoring the environment variable REQUESTS_CA_BUNDLE to search for the certification files for the SSL connection. This is the standard variable to use. For some reason BOTO3 doesn't honor it, but urllib3 do, so many other connections APIs.
Great! It is working in poetry.
After some glitches it worked well. I'm writing what I have done, so you
may have it recorded. I may open (and close) one issue about this, but it
is a windows specific problem.
FTR, when setting up the environment in Windows, we need to manually
install python-magic-bin package.
If we don't do this, the program behaves very oddly. For example:
D:\Users\GUSCH\@arquivos\src\S4>poetry run s4 s
0 [main] python 2724
D:\Users\GUSCH\AppData\Local\pypoetry\Cache\virtualen
vs\S4-py3.7\Scripts\python.exe: *** fatal error - Internal error:
TP_NUM_C_BUFS
too small: 50
Stack trace:
Frame Function Args
000002FCD78 0018007152E (0018028F08B, 00180229DF9, 001803084E0,
000002FA7E0)
000002FCD78 00180046679 (0000031D0C0, 000002FB838, 0000031D334,
0000031EDA0)
000002FCD78 001800466B2 (00000000032, 000004000A1, 001803084E0,
00000000230)
000002FCD78 0018015D9E0 (00000000000, 00000000003, 00000000012,
0000036E9C2)
000002FCD78 001800F6F13 (00000000048, 00002AAA03E, 001803084E0,
00000000016)
000002FCD78 0018006B102 (0018013EBCB, 001802111E0, 005DE9160A8,
00000000001)
000002FCD78 00180145221 (001800CE6E2, 00000000016, 00600000190,
005DE9174F1)
000002FCD78 0018012CDFB (001800CE6E2, 00000000016, 00600000190,
005DE9174F1)
000002FCD78 005DE902BA6 (6FC244C7AA7A, 000002FD1C4, 000004C2FC0,
000004C3688)
000FFFFFFFF 005DE905B0B (00000000000, 00003500000, 00077985C37,
1D46FDAAAB823F2
)
000002FCF00 7FEF14117E3 (000002FCF50, 00000000028, 00000000001,
000002FD160)
000002FCF50 7FEF140FEE3 (00000000000, 00000000000, 00000000000,
000002FD140)
000002FD1A0 7FEF140B4C5 (005DE901700, 000002FD150, 00000000002,
00000000000)
000002FD1A0 7FEF140C019 (00003044630, 00002FE3EE8, 00000000000,
00000001101)
00000000002 7FEF1406DFA (00003BE7D48, 00000000000, 00000000000,
00000000000)
7FEF1406B80 7FECE4A6AFA (000002FD4A8, 00000000002, 000032A5A58,
05FFFFF0000)
End of stack trace (more stack frames may be present)
The problem happens because libmagic binary is not installed by default
when we pip install python-magic. (it installs only the python related
files),
*pip install python-magic-bin*
This happened when I installed in the "bare" python (outside poetry), and I
needed to reinstall again inside the poetry shell:
D:\Users\GUSCH\@arquivos\src\S4>*poetry shell*
Spawning shell within
D:\Users\GUSCH\AppData\Local\pypoetry\Cache\virtualenvs\S4
-py3.7
Microsoft Windows [versão 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Todos os direitos reservados.
D:\Users\GUSCH\@arquivos\src\S4>*python -m pip install --upgrade pip*
(....)
D:\Users\GUSCH\@arquivos\src\S4>*pip install python-magic-bin*
Collecting python-magic-bin
Using cached
https://files.pythonhosted.org/packages/07/c2/094e3d62b906d952537
196603a23aec4bcd7c6126bf80eb14e6f9f4be3a2/python_magic_bin-0.4.14-py2.py3-none-w
in_amd64.whl
Installing collected packages: python-magic-bin
Successfully installed python-magic-bin-0.4.14
Should the package python-magic-bin be inside pyproject.toml? I don't know
if it will break on other systems (like linux or macos)
…On Mon, Oct 29, 2018 at 1:27 PM Michael Aquilina ***@***.***> wrote:
To me there are two separate problems to solve here:
- Supporting Windows
- Supporting machines that need to work with a proxy certificate
Let's focus on supporting windows first and then the proxy :)
The PR merge is not completely successful because cli.py does not exist
anymore on master.
The way to run code directly is now to run using poetry (which is the
package manager for this project).
pip install poetry
poetry run s4 sync
I was meant to update the contributing section explaining how to use
poetry but forgot to - so my apologies about that.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM4aQ9SNd7GW9HzHU3NOsONN8SSsIks5upyxYgaJpZM4X9_8d>
.
|
BTW, I just commited a bunch of changes to improve the windows support.
I hope it is finally ok, and I can try to do the daemon as soon as I get
some time.
Also, I fixed the support for the certification file. It is on the commit
message.
On Tue, Oct 30, 2018 at 5:40 PM Gustavo Ranaur Schoenaker <[email protected]>
wrote:
… Great! It is working in poetry.
After some glitches it worked well. I'm writing what I have done, so you
may have it recorded. I may open (and close) one issue about this, but it
is a windows specific problem.
FTR, when setting up the environment in Windows, we need to manually
install python-magic-bin package.
If we don't do this, the program behaves very oddly. For example:
***@***.***\src\S4>poetry run s4 s
0 [main] python 2724
D:\Users\GUSCH\AppData\Local\pypoetry\Cache\virtualen
vs\S4-py3.7\Scripts\python.exe: *** fatal error - Internal error:
TP_NUM_C_BUFS
too small: 50
Stack trace:
Frame Function Args
000002FCD78 0018007152E (0018028F08B, 00180229DF9, 001803084E0,
000002FA7E0)
000002FCD78 00180046679 (0000031D0C0, 000002FB838, 0000031D334,
0000031EDA0)
000002FCD78 001800466B2 (00000000032, 000004000A1, 001803084E0,
00000000230)
000002FCD78 0018015D9E0 (00000000000, 00000000003, 00000000012,
0000036E9C2)
000002FCD78 001800F6F13 (00000000048, 00002AAA03E, 001803084E0,
00000000016)
000002FCD78 0018006B102 (0018013EBCB, 001802111E0, 005DE9160A8,
00000000001)
000002FCD78 00180145221 (001800CE6E2, 00000000016, 00600000190,
005DE9174F1)
000002FCD78 0018012CDFB (001800CE6E2, 00000000016, 00600000190,
005DE9174F1)
000002FCD78 005DE902BA6 (6FC244C7AA7A, 000002FD1C4, 000004C2FC0,
000004C3688)
000FFFFFFFF 005DE905B0B (00000000000, 00003500000, 00077985C37,
1D46FDAAAB823F2
)
000002FCF00 7FEF14117E3 (000002FCF50, 00000000028, 00000000001,
000002FD160)
000002FCF50 7FEF140FEE3 (00000000000, 00000000000, 00000000000,
000002FD140)
000002FD1A0 7FEF140B4C5 (005DE901700, 000002FD150, 00000000002,
00000000000)
000002FD1A0 7FEF140C019 (00003044630, 00002FE3EE8, 00000000000,
00000001101)
00000000002 7FEF1406DFA (00003BE7D48, 00000000000, 00000000000,
00000000000)
7FEF1406B80 7FECE4A6AFA (000002FD4A8, 00000000002, 000032A5A58,
05FFFFF0000)
End of stack trace (more stack frames may be present)
The problem happens because libmagic binary is not installed by default
when we pip install python-magic. (it installs only the python related
files),
*pip install python-magic-bin*
This happened when I installed in the "bare" python (outside poetry), and
I needed to reinstall again inside the poetry shell:
***@***.***\src\S4>*poetry shell*
Spawning shell within
D:\Users\GUSCH\AppData\Local\pypoetry\Cache\virtualenvs\S4
-py3.7
Microsoft Windows [versão 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Todos os direitos reservados.
***@***.***\src\S4>*python -m pip install --upgrade pip*
(....)
***@***.***\src\S4>*pip install python-magic-bin*
Collecting python-magic-bin
Using cached
https://files.pythonhosted.org/packages/07/c2/094e3d62b906d952537
196603a23aec4bcd7c6126bf80eb14e6f9f4be3a2/python_magic_bin-0.4.14-py2.py3-none-w
in_amd64.whl
Installing collected packages: python-magic-bin
Successfully installed python-magic-bin-0.4.14
Should the package python-magic-bin be inside pyproject.toml? I don't know
if it will break on other systems (like linux or macos)
On Mon, Oct 29, 2018 at 1:27 PM Michael Aquilina ***@***.***>
wrote:
> To me there are two separate problems to solve here:
>
> - Supporting Windows
> - Supporting machines that need to work with a proxy certificate
>
> Let's focus on supporting windows first and then the proxy :)
>
> The PR merge is not completely successful because cli.py does not exist
> anymore on master.
>
> The way to run code directly is now to run using poetry (which is the
> package manager for this project).
>
> pip install poetry
> poetry run s4 sync
>
> I was meant to update the contributing section explaining how to use
> poetry but forgot to - so my apologies about that.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#160 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ACANM4aQ9SNd7GW9HzHU3NOsONN8SSsIks5upyxYgaJpZM4X9_8d>
> .
>
|
Could you add the installation instructions for this to the README?
Lets keep that in a separate Pull Request to prevent making this one too large I'll review your code now :) |
TODO
Outdated
utf-8 filename | ||
|
||
Support validation of a PEM file to validate SSL/no-validate option | ||
Put on config file? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
could you remove this file from the PR?
cli.py
Outdated
@@ -0,0 +1,152 @@ | |||
# -*- coding: utf-8 -*- | |||
|
|||
import argparse |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this file shouldnt be here - please remove it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are quite a few issues with this existing PR which makes it hard to review correctly.
What I would recommend is that we start working on each "logical" change one by one - each its own Pull Request. That makes it easier to focus on getting each change correct and merged in as early as possible for you.
To me we should have a separate PR for:
- getting path working correctly on Windows
- Adding support for alternative SSL options
There are a lot of tutorials online about how to open Pull Requests on github that you could follow. You can start with this one for example: https://help.github.com/articles/creating-a-pull-request-from-a-fork/
In terms of getting paths to work. Could you give me an example of a path you are inserting into windows so that I could test it out? I think there is some lack of clarity about what should be entered which I can work on making clearer through some minor changes to the text.
To start you off I would run the following commands:
And then start adding your changes :) |
Sure. Done.
…On Tue, Oct 30, 2018 at 5:55 PM Michael Aquilina ***@***.***> wrote:
we need to manually install python-magic
Could you add the installation instructions for this to the README?
I hope it is finally ok, and I can try to do the daemon as soon as I get
some time.
Lets keep that in a separate Pull Request to prevent making this one too
large
I'll review your code now :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM027DYcO8Ohay_xO0XrUFC9s4xR0ks5uqLzNgaJpZM4X9_8d>
.
|
Done aswell. Sorry for this.
…On Tue, Oct 30, 2018 at 5:55 PM Michael Aquilina ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In TODO
<#160 (comment)>:
> @@ -0,0 +1,13 @@
+Support the Daemon command on Windows
+ ref: http://timgolden.me.uk/python/win32_how_do_i/watch_directory_for_changes.html
+
+Make an unit test to test:
+ directory
+ subderectory
+ utf-8 filename
+
+Support validation of a PEM file to validate SSL/no-validate option
+ Put on config file?
could you remove this file from the PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM7gtY4EeFQhOr_oQBs0HmDe-03Hjks5uqLzdgaJpZM4X9_8d>
.
|
Done.
…On Tue, Oct 30, 2018 at 5:56 PM Michael Aquilina ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In cli.py
<#160 (comment)>:
> @@ -0,0 +1,152 @@
+# -*- coding: utf-8 -*-
+
+import argparse
this file shouldnt be here - please remove it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM5gWP4rjfCAy32eyjhLFImt46TZmks5uqLzngaJpZM4X9_8d>
.
|
Ok. Can you create a branch for the SSL support? This one is small and
easy. Much simpler than the windows support.
About the paths, I'm testing with a subditectory. I have two files:
test.txt
test\newfle.txt
In the original version, the key name for the second file was
"test\newfle.txt". Then it created a file in S3 called "test\newfle.txt"
and not a directory "test" and a file "newfile.txt" inside it.
This happens because os.path functions uses the OS path separator ("/" in
unixes "\" in windows). To fix it I did:
First I changed s3.py to use the posixpath module, instead the os.path on
evey join and relpath call. That assures the S3 client works nicely in both
environment.
Second, it needed to make the local.py client to behave correctly,
specially when the keys are generated. I made is use "/" as separator in
the lists (specially in the return list of traverse function), but every
time it needed to go to the filesystem it should be converted to the
"local" (windows) format.
Third, I needed to fix the exibition on sync and sync_command so they show
the path correctly to the user.
Maybe it was not the easiest way to do, but was the safest way I could
think of. (and worked!)
…On Tue, Oct 30, 2018 at 6:05 PM Michael Aquilina ***@***.***> wrote:
***@***.**** commented on this pull request.
There are quite a few issues with this existing PR which makes it hard to
review correctly.
What I would recommend is that we start working on each "logical" change
one by one - each its own Pull Request. That makes it easier to focus on
getting each change correct and merged in as early as possible for you.
To me we should have a separate PR for:
1. getting path working correctly on Windows
2. Adding support for alternative SSL options
There are a lot of tutorials online about how to open Pull Requests on
github that you could follow. You can start with this one for example:
https://help.github.com/articles/creating-a-pull-request-from-a-fork/
In terms of getting paths to work. Could you give me an example of a path
you are inserting into windows so that I could test it out? I think there
is some lack of clarity about what should be entered which I can work on
making clearer through some minor changes to the text.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#160 (review)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACANM8rrgIFzpwFZ5QahnESQR8oHx-M4ks5uqL8FgaJpZM4X9_8d>
.
|
There are definitely some complications around making this work well on both s3 (which uses \ for separators) and windows (which uses /). I think due to its complexity it make make more sense to leave me to try fix it and I'll add you as a review to test it when that's done if that's ok. With regards SSL, I could open a PR for you but its much easier if you learn to open PRs yourself :)
Then go to github.com/ranaur/s4 and github should prompt you to open a new pull request here |
Closing this PR in favour of #165 as agreed |
Fix for issues #155 and #156
Added support to ignore SSL errors if the environment variable PYTHONWARNINGS
is "ignore:Unverified HTTPS request"
@ranaur I've opened the pull request for you