Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Python 3 support - #9

Merged
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3
Mar 19, 2016
Merged

Python 3 support#9
kegsay merged 21 commits into
matrix-org:python3from
Half-Shot:python3

Conversation

@Half-Shot

Copy link
Copy Markdown
Collaborator

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

@ara4n

Copy link
Copy Markdown
Member

ooh! thanks a lot! we'll take a look in the morning :)

On 28 Feb 2016, at 16:14, Will Hunt notifications@github.com wrote:

This will update the existing code to work for python 3 where libraries have been moved and syntax has changed.
The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.

Signed-off-by: Will Hunt half-shot@molrams.com

You can view, comment on, or merge this pull request online at:

#9

Commit Summary

Changed Python version number
Added samples with testing script
Updated api/client to better support python3.
Added simple example for writing a client.
Added help text for script.
Hide inputted password.
Stray f
Minor fixes to help in startSample.sh
File Changes

M README.rst (2)
M matrix_client/api.py (44)
M matrix_client/client.py (14)
A samples/SimpleChatClient.py (75)
A samples/startSample.sh (11)
Patch Links:

https://github.com/matrix-org/matrix-python-sdk/pull/9.patch
https://github.com/matrix-org/matrix-python-sdk/pull/9.diff

Reply to this email directly or view it on GitHub.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yo. Any news? It's been a week.

Comment threadREADME.rst Outdated
:alt: Latest Version

This is a Matrix client-server SDK for Python 2.x.
This is a Matrix client-server SDK for Python 3.x.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this break Python 2.x compatibility? If not, I’d write Python 2.x and 3.x

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to make any promises (which is why I put this on the python 3 branch). I can give it a test later.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, made some changes to include support for both versions.

@ara4n

Copy link
Copy Markdown
Member

gah, sorry for dropping this - my bad. @kegsay, can you take a quick look?

Comment threadmatrix_client/api.py Outdated

# content_type can be a image,audio or video
# extra information should be supplied, see https://matrix.org/docs/spec/r0.0.1/client_server.html
def send_content(self,room_id, item_url,item_name,item_type,extra_information=None):

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spaces please :)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And throughout (e.g. :201)

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the feedback. I'll admit, I wrote this as part of a bot so it was probably more messy than I remember. I'll get right on it.

@kegsay

Copy link
Copy Markdown
Member

Overall, these are some nice additional features to have, thanks! Went ahead and tried out the sample client and made sure it works on Python 2.x and Python 3.x as described.

As an aside, I'd have preferred it if you had separated this PR into PRs for Python 3 support / media uploading / sample client; so heads up in the future.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Yeah mistake on my part. I had originally planned to use this internally for my bot, and then figured I might as well commit it back :). Of course, by then it was extremely tangled.

@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Okay, I think that clears it up. Anything I've missed?

Comment threadsamples/SimpleChatClient.py Outdated
else:
print("Check your sever details are correct.")
sys.exit(3)
print(e)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line will never be hit because in every case sys.exit() will be called before which terminates the process immediately. This needs to go above the if block.

@kegsay

Copy link
Copy Markdown
Member

Nearly there! Thanks for the fixes :)

@kegsay

Copy link
Copy Markdown
Member

LGTM, thanks for all your hard work!

kegsay added a commit that referenced this pull request Mar 19, 2016
Python 3 support
This will update the existing code to work for python 3 where libraries have been moved and syntax has changed. The newish media API has been implemented in the API and client.
In addition, a sample Python 3 program has been included.
Signed-off-by: Will Hunt <half-shot@molrams.com>
@kegsay
kegsay merged commit e43db1d into matrix-org:python3Mar 19, 2016
@Half-Shot

Copy link
Copy Markdown
CollaboratorAuthor

Thanks for the merge, got there in the end :)

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@Half-Shot@ara4n@kegsay@gergelypolonkai