{"action":"created","comment":{"url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/comments/37619987","id":37619987,"diff_hunk":"@@ -1,9 +1,81 @@\n # Wiki Loves Monuments\n \n-This repo is a collection of code supporting the Wiki Loves Monuments competition on the German Wikipedia.\n+This repo is a collection of code enabling easier image uploads on the German Wikipedia for Wiki Loves Monuments competition.\n \n-At the moment it consists of bots that analyze and prepare the monument pages and a PHP script that forwards from Wikipedia links to the Commons Uploader, adding URL parameters.\n+The code consists of two parts:\n+1. Bots that analyze the monument pages and insert images from Commons in the monument lists. See the [bots README](update-bot/README.md) for detailed documentation on the bots.\n+2. A PHP script that forwards from Wikipedia links to the Commons Uploader, adding URL parameters. See the [forward script README](forward_script/README.md) for detailed documentation on the forward script.\n \n-See the [bots README](update-bot/README.md) for detailed documentation on the bots.\n+## Deployment on Tool Labs\n+The tool name is `wlm-de-utils`. All following instructions must be carried out with the tool account, *not* your personal Tool Labs account. To switch to the tool account, run the following command after logging in with your personal Tool Labs account:\n \n-See the [forward script README](forward_script/README.md) for detailed documentation on the forward script.\n+    become wlm-de-utils\n+\n+Generally, the [`WikiLovesMonuments`][wlmrepo] repository is checked out in the tool home directory.\n+Whenever you want to deploy a new version, just do a `git pull` in the repository directory. However, there are some things that must be done afterwards:\n+\n+1. Update the `wlmbots` module:\n+\n+ ```bash\n+ cd WikiLovesMonuments/update-bot\n+ pip install --update -e .\n+ ```\n+\n+   If the installer displays a message that the module doesn't need to be updated, make sure that there were no changes in the Python code. If there were changes, change the version in `update-bot/setup.py`, commit, pull and install again.\n+2. Restart the commons bot:\n+\n+ ```bash\n+ cd WikiLovesMonuments/update-bot\n+ jstop commons_bot\n+ jstart -l release=trusty -N commons_bot -cwd python -m wlmbots.commons_bot\n+ ```\n+\n+### First time initializations","path":"README.md","position":37,"original_position":37,"commit_id":"9fb2837888c1f84bf43c281a24b1b5a578faf1ad","original_commit_id":"9fb2837888c1f84bf43c281a24b1b5a578faf1ad","user":{"login":"gbirke","id":223326,"avatar_url":"https://avatars.githubusercontent.com/u/223326?v=3","gravatar_id":"","url":"https://api.github.com/users/gbirke","html_url":"https://github.com/gbirke","followers_url":"https://api.github.com/users/gbirke/followers","following_url":"https://api.github.com/users/gbirke/following{/other_user}","gists_url":"https://api.github.com/users/gbirke/gists{/gist_id}","starred_url":"https://api.github.com/users/gbirke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gbirke/subscriptions","organizations_url":"https://api.github.com/users/gbirke/orgs","repos_url":"https://api.github.com/users/gbirke/repos","events_url":"https://api.github.com/users/gbirke/events{/privacy}","received_events_url":"https://api.github.com/users/gbirke/received_events","type":"User","site_admin":false},"body":"Will do that.","created_at":"2015-08-21T09:41:37Z","updated_at":"2015-08-21T09:41:37Z","html_url":"https://github.com/wmde/WikiLovesMonuments/pull/70#discussion_r37619987","pull_request_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70","_links":{"self":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/comments/37619987"},"html":{"href":"https://github.com/wmde/WikiLovesMonuments/pull/70#discussion_r37619987"},"pull_request":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70"}}},"pull_request":{"url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70","id":42916595,"html_url":"https://github.com/wmde/WikiLovesMonuments/pull/70","diff_url":"https://github.com/wmde/WikiLovesMonuments/pull/70.diff","patch_url":"https://github.com/wmde/WikiLovesMonuments/pull/70.patch","issue_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/70","number":70,"state":"open","locked":false,"title":"Add Tool Tabs instructions","user":{"login":"gbirke","id":223326,"avatar_url":"https://avatars.githubusercontent.com/u/223326?v=3","gravatar_id":"","url":"https://api.github.com/users/gbirke","html_url":"https://github.com/gbirke","followers_url":"https://api.github.com/users/gbirke/followers","following_url":"https://api.github.com/users/gbirke/following{/other_user}","gists_url":"https://api.github.com/users/gbirke/gists{/gist_id}","starred_url":"https://api.github.com/users/gbirke/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gbirke/subscriptions","organizations_url":"https://api.github.com/users/gbirke/orgs","repos_url":"https://api.github.com/users/gbirke/repos","events_url":"https://api.github.com/users/gbirke/events{/privacy}","received_events_url":"https://api.github.com/users/gbirke/received_events","type":"User","site_admin":false},"body":"Expand README with instructions on how to deploy new versions of the\r\nbots.\r\nExpand README with first-time setup instructions.\r\nPut configurations files on tool labs under version control.","created_at":"2015-08-20T11:00:47Z","updated_at":"2015-08-21T09:41:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4faa78c72d70297f6526190f59ca31ca8e22fa8a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70/commits","review_comments_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70/comments","review_comment_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/comments{/number}","comments_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/70/comments","statuses_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/statuses/9fb2837888c1f84bf43c281a24b1b5a578faf1ad","head":{"label":"wmde:tool-labs-readme","ref":"tool-labs-readme","sha":"9fb2837888c1f84bf43c281a24b1b5a578faf1ad","user":{"login":"wmde","id":664724,"avatar_url":"https://avatars.githubusercontent.com/u/664724?v=3","gravatar_id":"","url":"https://api.github.com/users/wmde","html_url":"https://github.com/wmde","followers_url":"https://api.github.com/users/wmde/followers","following_url":"https://api.github.com/users/wmde/following{/other_user}","gists_url":"https://api.github.com/users/wmde/gists{/gist_id}","starred_url":"https://api.github.com/users/wmde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmde/subscriptions","organizations_url":"https://api.github.com/users/wmde/orgs","repos_url":"https://api.github.com/users/wmde/repos","events_url":"https://api.github.com/users/wmde/events{/privacy}","received_events_url":"https://api.github.com/users/wmde/received_events","type":"Organization","site_admin":false},"repo":{"id":39148984,"name":"WikiLovesMonuments","full_name":"wmde/WikiLovesMonuments","owner":{"login":"wmde","id":664724,"avatar_url":"https://avatars.githubusercontent.com/u/664724?v=3","gravatar_id":"","url":"https://api.github.com/users/wmde","html_url":"https://github.com/wmde","followers_url":"https://api.github.com/users/wmde/followers","following_url":"https://api.github.com/users/wmde/following{/other_user}","gists_url":"https://api.github.com/users/wmde/gists{/gist_id}","starred_url":"https://api.github.com/users/wmde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmde/subscriptions","organizations_url":"https://api.github.com/users/wmde/orgs","repos_url":"https://api.github.com/users/wmde/repos","events_url":"https://api.github.com/users/wmde/events{/privacy}","received_events_url":"https://api.github.com/users/wmde/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/wmde/WikiLovesMonuments","description":"Bot for updating the placeholders in lists of monuments on the German Wikipedia","fork":false,"url":"https://api.github.com/repos/wmde/WikiLovesMonuments","forks_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/forks","keys_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/teams","hooks_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/hooks","issue_events_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/events{/number}","events_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/events","assignees_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/assignees{/user}","branches_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/branches{/branch}","tags_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/tags","blobs_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/refs{/sha}","trees_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/statuses/{sha}","languages_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/languages","stargazers_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/stargazers","contributors_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/contributors","subscribers_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/subscribers","subscription_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/subscription","commits_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/commits{/sha}","git_commits_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/commits{/sha}","comments_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/comments{/number}","issue_comment_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/comments{/number}","contents_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/contents/{+path}","compare_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/merges","archive_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/downloads","issues_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues{/number}","pulls_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls{/number}","milestones_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/milestones{/number}","notifications_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/labels{/name}","releases_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/releases{/id}","created_at":"2015-07-15T16:50:22Z","updated_at":"2015-07-22T09:05:53Z","pushed_at":"2015-08-21T09:20:21Z","git_url":"git://github.com/wmde/WikiLovesMonuments.git","ssh_url":"git@github.com:wmde/WikiLovesMonuments.git","clone_url":"https://github.com/wmde/WikiLovesMonuments.git","svn_url":"https://github.com/wmde/WikiLovesMonuments","homepage":"","size":1080,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":0,"default_branch":"master"}},"base":{"label":"wmde:master","ref":"master","sha":"b1051ac6a54bff9b2abae00da5054a717f00c0dc","user":{"login":"wmde","id":664724,"avatar_url":"https://avatars.githubusercontent.com/u/664724?v=3","gravatar_id":"","url":"https://api.github.com/users/wmde","html_url":"https://github.com/wmde","followers_url":"https://api.github.com/users/wmde/followers","following_url":"https://api.github.com/users/wmde/following{/other_user}","gists_url":"https://api.github.com/users/wmde/gists{/gist_id}","starred_url":"https://api.github.com/users/wmde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmde/subscriptions","organizations_url":"https://api.github.com/users/wmde/orgs","repos_url":"https://api.github.com/users/wmde/repos","events_url":"https://api.github.com/users/wmde/events{/privacy}","received_events_url":"https://api.github.com/users/wmde/received_events","type":"Organization","site_admin":false},"repo":{"id":39148984,"name":"WikiLovesMonuments","full_name":"wmde/WikiLovesMonuments","owner":{"login":"wmde","id":664724,"avatar_url":"https://avatars.githubusercontent.com/u/664724?v=3","gravatar_id":"","url":"https://api.github.com/users/wmde","html_url":"https://github.com/wmde","followers_url":"https://api.github.com/users/wmde/followers","following_url":"https://api.github.com/users/wmde/following{/other_user}","gists_url":"https://api.github.com/users/wmde/gists{/gist_id}","starred_url":"https://api.github.com/users/wmde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmde/subscriptions","organizations_url":"https://api.github.com/users/wmde/orgs","repos_url":"https://api.github.com/users/wmde/repos","events_url":"https://api.github.com/users/wmde/events{/privacy}","received_events_url":"https://api.github.com/users/wmde/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/wmde/WikiLovesMonuments","description":"Bot for updating the placeholders in lists of monuments on the German Wikipedia","fork":false,"url":"https://api.github.com/repos/wmde/WikiLovesMonuments","forks_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/forks","keys_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/teams","hooks_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/hooks","issue_events_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/events{/number}","events_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/events","assignees_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/assignees{/user}","branches_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/branches{/branch}","tags_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/tags","blobs_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/refs{/sha}","trees_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/statuses/{sha}","languages_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/languages","stargazers_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/stargazers","contributors_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/contributors","subscribers_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/subscribers","subscription_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/subscription","commits_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/commits{/sha}","git_commits_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/git/commits{/sha}","comments_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/comments{/number}","issue_comment_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/comments{/number}","contents_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/contents/{+path}","compare_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/merges","archive_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/downloads","issues_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues{/number}","pulls_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls{/number}","milestones_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/milestones{/number}","notifications_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/labels{/name}","releases_url":"https://api.github.com/repos/wmde/WikiLovesMonuments/releases{/id}","created_at":"2015-07-15T16:50:22Z","updated_at":"2015-07-22T09:05:53Z","pushed_at":"2015-08-21T09:20:21Z","git_url":"git://github.com/wmde/WikiLovesMonuments.git","ssh_url":"git@github.com:wmde/WikiLovesMonuments.git","clone_url":"https://github.com/wmde/WikiLovesMonuments.git","svn_url":"https://github.com/wmde/WikiLovesMonuments","homepage":"","size":1080,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":9,"forks":0,"open_issues":9,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70"},"html":{"href":"https://github.com/wmde/WikiLovesMonuments/pull/70"},"issue":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/70"},"comments":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/issues/70/comments"},"review_comments":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70/comments"},"review_comment":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/pulls/70/commits"},"statuses":{"href":"https://api.github.com/repos/wmde/WikiLovesMonuments/statuses/9fb2837888c1f84bf43c281a24b1b5a578faf1ad"}}}}