{"action":"created","issue":{"url":"https://api.github.com/repos/zapier/transformer/issues/80","repository_url":"https://api.github.com/repos/zapier/transformer","labels_url":"https://api.github.com/repos/zapier/transformer/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/zapier/transformer/issues/80/comments","events_url":"https://api.github.com/repos/zapier/transformer/issues/80/events","html_url":"https://github.com/zapier/transformer/pull/80","id":338209080,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk5MTk3NTQw","number":80,"title":"[WIP] Update URL regexp and correctly parse email with multiple sub-domains","user":{"login":"ngryman","id":892048,"node_id":"MDQ6VXNlcjg5MjA0OA==","avatar_url":"https://avatars2.githubusercontent.com/u/892048?v=4","gravatar_id":"","url":"https://api.github.com/users/ngryman","html_url":"https://github.com/ngryman","followers_url":"https://api.github.com/users/ngryman/followers","following_url":"https://api.github.com/users/ngryman/following{/other_user}","gists_url":"https://api.github.com/users/ngryman/gists{/gist_id}","starred_url":"https://api.github.com/users/ngryman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ngryman/subscriptions","organizations_url":"https://api.github.com/users/ngryman/orgs","repos_url":"https://api.github.com/users/ngryman/repos","events_url":"https://api.github.com/users/ngryman/events{/privacy}","received_events_url":"https://api.github.com/users/ngryman/received_events","type":"User","site_admin":false},"labels":[{"id":318217442,"node_id":"MDU6TGFiZWwzMTgyMTc0NDI=","url":"https://api.github.com/repos/zapier/transformer/labels/in%20progress","name":"in progress","color":"bfe5bf","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-07-04T09:55:16Z","updated_at":"2018-07-26T15:44:11Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/zapier/transformer/pulls/80","html_url":"https://github.com/zapier/transformer/pull/80","diff_url":"https://github.com/zapier/transformer/pull/80.diff","patch_url":"https://github.com/zapier/transformer/pull/80.patch"},"body":"The current regexp doesn't parse emails with multiple sub-domains (ie. `aster4@eq.edu.au`).\r\n\r\nSo I've updated the original regexp from the same author. He explains that the original one had some flaws. We're also pretty exhaustive with TLDs which may become unsustainable as new TLDs are registered everyday now.\r\n\r\nI followed the setup and test instruction locally but wasn't able to run tests 😞\r\nIf the reviewer could test this or explain me what is wrong with my local setup.\r\nI've got the following error in each test: `ImportError: Failed to import test module`. My Python knownledge is quite limited so...\r\n\r\nThanks!\r\n---\r\n\r\nRover issue: https://admin.zapier.com/rover/app/ZapierFormatterDevAPI/issues/99/"},"comment":{"url":"https://api.github.com/repos/zapier/transformer/issues/comments/408141921","html_url":"https://github.com/zapier/transformer/pull/80#issuecomment-408141921","issue_url":"https://api.github.com/repos/zapier/transformer/issues/80","id":408141921,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODE0MTkyMQ==","user":{"login":"cvanderkolk","id":21158438,"node_id":"MDQ6VXNlcjIxMTU4NDM4","avatar_url":"https://avatars3.githubusercontent.com/u/21158438?v=4","gravatar_id":"","url":"https://api.github.com/users/cvanderkolk","html_url":"https://github.com/cvanderkolk","followers_url":"https://api.github.com/users/cvanderkolk/followers","following_url":"https://api.github.com/users/cvanderkolk/following{/other_user}","gists_url":"https://api.github.com/users/cvanderkolk/gists{/gist_id}","starred_url":"https://api.github.com/users/cvanderkolk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cvanderkolk/subscriptions","organizations_url":"https://api.github.com/users/cvanderkolk/orgs","repos_url":"https://api.github.com/users/cvanderkolk/repos","events_url":"https://api.github.com/users/cvanderkolk/events{/privacy}","received_events_url":"https://api.github.com/users/cvanderkolk/received_events","type":"User","site_admin":false},"created_at":"2018-07-26T15:44:11Z","updated_at":"2018-07-26T15:44:11Z","author_association":"CONTRIBUTOR","body":"To clear up some of my confusion about this issue, I did some followup with @erinchock: https://admin.zapier.com/rover/app/ZapierFormatterDevAPI/issues/99/\r\n\r\nIt looks like the main point of this issue is to make sure that the `Extract URL` function doesn't pick up on e-mail addresses, so we'll have to make sure that condition is met while we're updating this regex. The regex in the link you posted seems to work perfectly for that:\r\n\r\n```\r\n(?i)\\b((?:https?:(?:\\/{1,3}|[a-z0-9%])|[a-z0-9.\\-]+[.](?:com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|Ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)\\/)(?:[^\\s()<>{}\\[\\]]+|\\([^\\s()]*?\\([^\\s()]+\\)[^\\s()]*?\\)|\\([^\\s]+?\\))+(?:\\([^\\s()]*?\\([^\\s()]+\\)[^\\s()]*?\\)|\\([^\\s]+?\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’])|(?:(?<!@)[a-z0-9]+(?:[.\\-][a-z0-9]+)*[.](?:com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|Ja|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)\\b\\/?(?!@)))\r\n```\r\n\r\nThis also preserves existing behavior of catching domains like `google.com`. I'll play with this a little 👍 "}}
{"actor":{"display_login":"cvanderkolk"}}