{"action":"created","comment":{"url":"https://api.github.com/repos/mapillary/OpenSfM/pulls/comments/232453643","pull_request_review_id":173663077,"id":232453643,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzMjQ1MzY0Mw==","diff_hunk":"@@ -57,7 +57,7 @@ def sensor_string(make, model):\n     if make != 'unknown':\n         # remove duplicate 'make' information in 'model'\n         model = model.replace(make, '')\n-    return (make.strip() + ' ' + model.strip()).lower()\n+    return (make.strip() + ' ' + model.strip()).strip().lower()","path":"opensfm/exif.py","position":5,"original_position":5,"commit_id":"644fdfb5131c2e6421f23c6f58e4751bc0086ac0","original_commit_id":"71356d4c1daa365fad0cd7b06d78ad0318cfea62","user":{"login":"GITNE","id":15823872,"node_id":"MDQ6VXNlcjE1ODIzODcy","avatar_url":"https://avatars3.githubusercontent.com/u/15823872?v=4","gravatar_id":"","url":"https://api.github.com/users/GITNE","html_url":"https://github.com/GITNE","followers_url":"https://api.github.com/users/GITNE/followers","following_url":"https://api.github.com/users/GITNE/following{/other_user}","gists_url":"https://api.github.com/users/GITNE/gists{/gist_id}","starred_url":"https://api.github.com/users/GITNE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GITNE/subscriptions","organizations_url":"https://api.github.com/users/GITNE/orgs","repos_url":"https://api.github.com/users/GITNE/repos","events_url":"https://api.github.com/users/GITNE/events{/privacy}","received_events_url":"https://api.github.com/users/GITNE/received_events","type":"User","site_admin":false},"body":"So, I wanted to see what gives and tried a bunch of encodings on the `Make` EXIF tag. Things look like this:\r\n\r\nEncoding | Decoded Text | Google Translation | Note\r\n---------|--------------|--------------------|-----\r\nUTF-16 | 놱뺩량쏗뿆벼폐쿞릫쮾 | 놱뺩 쏗 뿆 뿆 뿆 쿞 쿞 릫쮾 릫쮾 | Korean\r\nBig5 | 控儔滄譙褪撮衄癹鼠侗 | Controlled sputum | non-sense\r\nGB18030 | 北京飞米科技有限公司 | Beijing Feimi Technology Co., Ltd. | probable\r\n\r\nDid you overwrite the `DateTime*` and `GPS*` EXIF tags? If not then the EXIF data is broken beyond repair.\r\n\r\nAnyhow, we should probably store `\"unknown YTXJ02FM\": 6.17` in the database. It is not elegant but it works.","created_at":"2018-11-10T14:30:05Z","updated_at":"2018-11-10T14:30:05Z","html_url":"https://github.com/mapillary/OpenSfM/pull/377#discussion_r232453643","pull_request_url":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/mapillary/OpenSfM/pulls/comments/232453643"},"html":{"href":"https://github.com/mapillary/OpenSfM/pull/377#discussion_r232453643"},"pull_request":{"href":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377"}},"in_reply_to_id":231468759},"pull_request":{"url":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377","id":228841523,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI4ODQxNTIz","html_url":"https://github.com/mapillary/OpenSfM/pull/377","diff_url":"https://github.com/mapillary/OpenSfM/pull/377.diff","patch_url":"https://github.com/mapillary/OpenSfM/pull/377.patch","issue_url":"https://api.github.com/repos/mapillary/OpenSfM/issues/377","number":377,"state":"open","locked":false,"title":"add xiaomi gimbal camera ccd width, fix extra space","user":{"login":"ramunasd","id":150403,"node_id":"MDQ6VXNlcjE1MDQwMw==","avatar_url":"https://avatars1.githubusercontent.com/u/150403?v=4","gravatar_id":"","url":"https://api.github.com/users/ramunasd","html_url":"https://github.com/ramunasd","followers_url":"https://api.github.com/users/ramunasd/followers","following_url":"https://api.github.com/users/ramunasd/following{/other_user}","gists_url":"https://api.github.com/users/ramunasd/gists{/gist_id}","starred_url":"https://api.github.com/users/ramunasd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramunasd/subscriptions","organizations_url":"https://api.github.com/users/ramunasd/orgs","repos_url":"https://api.github.com/users/ramunasd/repos","events_url":"https://api.github.com/users/ramunasd/events{/privacy}","received_events_url":"https://api.github.com/users/ramunasd/received_events","type":"User","site_admin":false},"body":"Xiaomi gimbal camera data is missing.\r\nFix extra space in the beginning of model string due to non valid utf8 bytes in exif data.","created_at":"2018-11-06T21:32:50Z","updated_at":"2018-11-10T14:30:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0ef39b38e4dd4b979cd57590827d9ff8aeb57d3d","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377/commits","review_comments_url":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377/comments","review_comment_url":"https://api.github.com/repos/mapillary/OpenSfM/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mapillary/OpenSfM/issues/377/comments","statuses_url":"https://api.github.com/repos/mapillary/OpenSfM/statuses/644fdfb5131c2e6421f23c6f58e4751bc0086ac0","head":{"label":"ramunasd:xiaomi_sensor","ref":"xiaomi_sensor","sha":"644fdfb5131c2e6421f23c6f58e4751bc0086ac0","user":{"login":"ramunasd","id":150403,"node_id":"MDQ6VXNlcjE1MDQwMw==","avatar_url":"https://avatars1.githubusercontent.com/u/150403?v=4","gravatar_id":"","url":"https://api.github.com/users/ramunasd","html_url":"https://github.com/ramunasd","followers_url":"https://api.github.com/users/ramunasd/followers","following_url":"https://api.github.com/users/ramunasd/following{/other_user}","gists_url":"https://api.github.com/users/ramunasd/gists{/gist_id}","starred_url":"https://api.github.com/users/ramunasd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramunasd/subscriptions","organizations_url":"https://api.github.com/users/ramunasd/orgs","repos_url":"https://api.github.com/users/ramunasd/repos","events_url":"https://api.github.com/users/ramunasd/events{/privacy}","received_events_url":"https://api.github.com/users/ramunasd/received_events","type":"User","site_admin":false},"repo":{"id":156450239,"node_id":"MDEwOlJlcG9zaXRvcnkxNTY0NTAyMzk=","name":"OpenSfM","full_name":"ramunasd/OpenSfM","private":false,"owner":{"login":"ramunasd","id":150403,"node_id":"MDQ6VXNlcjE1MDQwMw==","avatar_url":"https://avatars1.githubusercontent.com/u/150403?v=4","gravatar_id":"","url":"https://api.github.com/users/ramunasd","html_url":"https://github.com/ramunasd","followers_url":"https://api.github.com/users/ramunasd/followers","following_url":"https://api.github.com/users/ramunasd/following{/other_user}","gists_url":"https://api.github.com/users/ramunasd/gists{/gist_id}","starred_url":"https://api.github.com/users/ramunasd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ramunasd/subscriptions","organizations_url":"https://api.github.com/users/ramunasd/orgs","repos_url":"https://api.github.com/users/ramunasd/repos","events_url":"https://api.github.com/users/ramunasd/events{/privacy}","received_events_url":"https://api.github.com/users/ramunasd/received_events","type":"User","site_admin":false},"html_url":"https://github.com/ramunasd/OpenSfM","description":"Open source Structure from Motion pipeline","fork":true,"url":"https://api.github.com/repos/ramunasd/OpenSfM","forks_url":"https://api.github.com/repos/ramunasd/OpenSfM/forks","keys_url":"https://api.github.com/repos/ramunasd/OpenSfM/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ramunasd/OpenSfM/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ramunasd/OpenSfM/teams","hooks_url":"https://api.github.com/repos/ramunasd/OpenSfM/hooks","issue_events_url":"https://api.github.com/repos/ramunasd/OpenSfM/issues/events{/number}","events_url":"https://api.github.com/repos/ramunasd/OpenSfM/events","assignees_url":"https://api.github.com/repos/ramunasd/OpenSfM/assignees{/user}","branches_url":"https://api.github.com/repos/ramunasd/OpenSfM/branches{/branch}","tags_url":"https://api.github.com/repos/ramunasd/OpenSfM/tags","blobs_url":"https://api.github.com/repos/ramunasd/OpenSfM/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ramunasd/OpenSfM/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ramunasd/OpenSfM/git/refs{/sha}","trees_url":"https://api.github.com/repos/ramunasd/OpenSfM/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ramunasd/OpenSfM/statuses/{sha}","languages_url":"https://api.github.com/repos/ramunasd/OpenSfM/languages","stargazers_url":"https://api.github.com/repos/ramunasd/OpenSfM/stargazers","contributors_url":"https://api.github.com/repos/ramunasd/OpenSfM/contributors","subscribers_url":"https://api.github.com/repos/ramunasd/OpenSfM/subscribers","subscription_url":"https://api.github.com/repos/ramunasd/OpenSfM/subscription","commits_url":"https://api.github.com/repos/ramunasd/OpenSfM/commits{/sha}","git_commits_url":"https://api.github.com/repos/ramunasd/OpenSfM/git/commits{/sha}","comments_url":"https://api.github.com/repos/ramunasd/OpenSfM/comments{/number}","issue_comment_url":"https://api.github.com/repos/ramunasd/OpenSfM/issues/comments{/number}","contents_url":"https://api.github.com/repos/ramunasd/OpenSfM/contents/{+path}","compare_url":"https://api.github.com/repos/ramunasd/OpenSfM/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ramunasd/OpenSfM/merges","archive_url":"https://api.github.com/repos/ramunasd/OpenSfM/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ramunasd/OpenSfM/downloads","issues_url":"https://api.github.com/repos/ramunasd/OpenSfM/issues{/number}","pulls_url":"https://api.github.com/repos/ramunasd/OpenSfM/pulls{/number}","milestones_url":"https://api.github.com/repos/ramunasd/OpenSfM/milestones{/number}","notifications_url":"https://api.github.com/repos/ramunasd/OpenSfM/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ramunasd/OpenSfM/labels{/name}","releases_url":"https://api.github.com/repos/ramunasd/OpenSfM/releases{/id}","deployments_url":"https://api.github.com/repos/ramunasd/OpenSfM/deployments","created_at":"2018-11-06T21:28:08Z","updated_at":"2018-11-06T21:28:11Z","pushed_at":"2018-11-07T21:51:34Z","git_url":"git://github.com/ramunasd/OpenSfM.git","ssh_url":"git@github.com:ramunasd/OpenSfM.git","clone_url":"https://github.com/ramunasd/OpenSfM.git","svn_url":"https://github.com/ramunasd/OpenSfM","homepage":"","size":20860,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mapillary:master","ref":"master","sha":"9168ffa0092927e95bdc38c3d89488b437033e36","user":{"login":"mapillary","id":5332499,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUzMzI0OTk=","avatar_url":"https://avatars0.githubusercontent.com/u/5332499?v=4","gravatar_id":"","url":"https://api.github.com/users/mapillary","html_url":"https://github.com/mapillary","followers_url":"https://api.github.com/users/mapillary/followers","following_url":"https://api.github.com/users/mapillary/following{/other_user}","gists_url":"https://api.github.com/users/mapillary/gists{/gist_id}","starred_url":"https://api.github.com/users/mapillary/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapillary/subscriptions","organizations_url":"https://api.github.com/users/mapillary/orgs","repos_url":"https://api.github.com/users/mapillary/repos","events_url":"https://api.github.com/users/mapillary/events{/privacy}","received_events_url":"https://api.github.com/users/mapillary/received_events","type":"Organization","site_admin":false},"repo":{"id":26531519,"node_id":"MDEwOlJlcG9zaXRvcnkyNjUzMTUxOQ==","name":"OpenSfM","full_name":"mapillary/OpenSfM","private":false,"owner":{"login":"mapillary","id":5332499,"node_id":"MDEyOk9yZ2FuaXphdGlvbjUzMzI0OTk=","avatar_url":"https://avatars0.githubusercontent.com/u/5332499?v=4","gravatar_id":"","url":"https://api.github.com/users/mapillary","html_url":"https://github.com/mapillary","followers_url":"https://api.github.com/users/mapillary/followers","following_url":"https://api.github.com/users/mapillary/following{/other_user}","gists_url":"https://api.github.com/users/mapillary/gists{/gist_id}","starred_url":"https://api.github.com/users/mapillary/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapillary/subscriptions","organizations_url":"https://api.github.com/users/mapillary/orgs","repos_url":"https://api.github.com/users/mapillary/repos","events_url":"https://api.github.com/users/mapillary/events{/privacy}","received_events_url":"https://api.github.com/users/mapillary/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/mapillary/OpenSfM","description":"Open source Structure from Motion pipeline","fork":false,"url":"https://api.github.com/repos/mapillary/OpenSfM","forks_url":"https://api.github.com/repos/mapillary/OpenSfM/forks","keys_url":"https://api.github.com/repos/mapillary/OpenSfM/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mapillary/OpenSfM/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mapillary/OpenSfM/teams","hooks_url":"https://api.github.com/repos/mapillary/OpenSfM/hooks","issue_events_url":"https://api.github.com/repos/mapillary/OpenSfM/issues/events{/number}","events_url":"https://api.github.com/repos/mapillary/OpenSfM/events","assignees_url":"https://api.github.com/repos/mapillary/OpenSfM/assignees{/user}","branches_url":"https://api.github.com/repos/mapillary/OpenSfM/branches{/branch}","tags_url":"https://api.github.com/repos/mapillary/OpenSfM/tags","blobs_url":"https://api.github.com/repos/mapillary/OpenSfM/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mapillary/OpenSfM/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mapillary/OpenSfM/git/refs{/sha}","trees_url":"https://api.github.com/repos/mapillary/OpenSfM/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mapillary/OpenSfM/statuses/{sha}","languages_url":"https://api.github.com/repos/mapillary/OpenSfM/languages","stargazers_url":"https://api.github.com/repos/mapillary/OpenSfM/stargazers","contributors_url":"https://api.github.com/repos/mapillary/OpenSfM/contributors","subscribers_url":"https://api.github.com/repos/mapillary/OpenSfM/subscribers","subscription_url":"https://api.github.com/repos/mapillary/OpenSfM/subscription","commits_url":"https://api.github.com/repos/mapillary/OpenSfM/commits{/sha}","git_commits_url":"https://api.github.com/repos/mapillary/OpenSfM/git/commits{/sha}","comments_url":"https://api.github.com/repos/mapillary/OpenSfM/comments{/number}","issue_comment_url":"https://api.github.com/repos/mapillary/OpenSfM/issues/comments{/number}","contents_url":"https://api.github.com/repos/mapillary/OpenSfM/contents/{+path}","compare_url":"https://api.github.com/repos/mapillary/OpenSfM/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mapillary/OpenSfM/merges","archive_url":"https://api.github.com/repos/mapillary/OpenSfM/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mapillary/OpenSfM/downloads","issues_url":"https://api.github.com/repos/mapillary/OpenSfM/issues{/number}","pulls_url":"https://api.github.com/repos/mapillary/OpenSfM/pulls{/number}","milestones_url":"https://api.github.com/repos/mapillary/OpenSfM/milestones{/number}","notifications_url":"https://api.github.com/repos/mapillary/OpenSfM/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mapillary/OpenSfM/labels{/name}","releases_url":"https://api.github.com/repos/mapillary/OpenSfM/releases{/id}","deployments_url":"https://api.github.com/repos/mapillary/OpenSfM/deployments","created_at":"2014-11-12T10:47:29Z","updated_at":"2018-11-09T10:35:59Z","pushed_at":"2018-11-09T10:35:55Z","git_url":"git://github.com/mapillary/OpenSfM.git","ssh_url":"git@github.com:mapillary/OpenSfM.git","clone_url":"https://github.com/mapillary/OpenSfM.git","svn_url":"https://github.com/mapillary/OpenSfM","homepage":"","size":20857,"stargazers_count":1018,"watchers_count":1018,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":331,"mirror_url":null,"archived":false,"open_issues_count":99,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"forks":331,"open_issues":99,"watchers":1018,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377"},"html":{"href":"https://github.com/mapillary/OpenSfM/pull/377"},"issue":{"href":"https://api.github.com/repos/mapillary/OpenSfM/issues/377"},"comments":{"href":"https://api.github.com/repos/mapillary/OpenSfM/issues/377/comments"},"review_comments":{"href":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377/comments"},"review_comment":{"href":"https://api.github.com/repos/mapillary/OpenSfM/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mapillary/OpenSfM/pulls/377/commits"},"statuses":{"href":"https://api.github.com/repos/mapillary/OpenSfM/statuses/644fdfb5131c2e6421f23c6f58e4751bc0086ac0"}},"author_association":"NONE"}}
{"actor":{"display_login":"GITNE"}}