{"action":"created","comment":{"url":"https://api.github.com/repos/agrc/forklift/pulls/comments/66478276","id":66478276,"diff_hunk":"@@ -5,8 +5,37 @@\n \n A CLI tool for managing a plethora of scheduled task python scripts.\n \n+### Usage\n+The work that forklift does is defined by plugins called [Pallets](src/forklift/models.py). `Pallet` is a base class that allows the user to define a job for forklift to perform by creating a new class that inherits from `Pallet`. Each pallet can have zero or more [Crates](src/forklift/models.py). A `Crate` is an class that defines data that needs to be moved from one location to another (reprojecting to web mercator by default). Crates are created by calling the `add_crates` (or `add_crate`) methods within `__init__` on the pallet. For example:\n+```python\n+class StringCratePallet(Pallet):\n+    def __init__(self):\n+        #: this call is required so that default properties are initialized\n+        super(StringCratePallet, self).__init__()\n+\n+        destination_workspace = r'C:\\\\MapData'\n+        source_workspace = path.join(data_folder, 'agrc@sgid10.sde')\n+\n+        self.add_crate('Counties', {'source_workspace': source_workspace,\n+                                    'destination_workspace': destination_workspace})\n+```\n+For details on all of the members of the `Pallet` and `Crate` classes see [models.py](src/forklift/models.py).\n+\n+For examples of pallets see [samples/PalletSamples.py](samples/PalletSamples.py).\n+\n+#### CLI\n+Interacting with forklift is done via the [command line interface](src/forklift/cli.py). Run `forklift -h` for a list of all of the available commands.\n+\n+#### Config File Properties\n+`config.json` is created in the working directory after running `forklift config init`. It contains the following properties:\n+- `warehouse` The folder where all of the repositories will be cloned into and where forklift will scan for pallets to run.\n+- `sendEmails` Determines whether or not to send any emails. Set to `false` when testing.\n+- `notify` A list of emails that will be sent the summary report each time `forklift lift` is run (assuming `sendEmails: true`).\n+- `repositories` A list of repositories (`<owner>/<name>`) that will be cloned/updated into the warehouse folder.\n+- `copyDestinations` A list of folders that you want any data defined in `Pallet.copy_data` to be copied to upon successful processing of the pallet.\n+\n ### Development Usage\n-1. setup.py install","path":"readme.md","position":34,"original_position":34,"commit_id":"96ec6924a7a9911c47413ef55881d75d667e09fa","original_commit_id":"483d3b14d540970366ef24d6c4942f873b3b5ae9","user":{"login":"steveoh","id":325813,"avatar_url":"https://avatars.githubusercontent.com/u/325813?v=3","gravatar_id":"","url":"https://api.github.com/users/steveoh","html_url":"https://github.com/steveoh","followers_url":"https://api.github.com/users/steveoh/followers","following_url":"https://api.github.com/users/steveoh/following{/other_user}","gists_url":"https://api.github.com/users/steveoh/gists{/gist_id}","starred_url":"https://api.github.com/users/steveoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveoh/subscriptions","organizations_url":"https://api.github.com/users/steveoh/orgs","repos_url":"https://api.github.com/users/steveoh/repos","events_url":"https://api.github.com/users/steveoh/events{/privacy}","received_events_url":"https://api.github.com/users/steveoh/received_events","type":"User","site_admin":false},"body":"We should probably say pip install tox\r\nthen tox to run tests","created_at":"2016-06-09T16:49:53Z","updated_at":"2016-06-09T16:49:53Z","html_url":"https://github.com/agrc/forklift/pull/48#discussion_r66478276","pull_request_url":"https://api.github.com/repos/agrc/forklift/pulls/48","_links":{"self":{"href":"https://api.github.com/repos/agrc/forklift/pulls/comments/66478276"},"html":{"href":"https://github.com/agrc/forklift/pull/48#discussion_r66478276"},"pull_request":{"href":"https://api.github.com/repos/agrc/forklift/pulls/48"}}},"pull_request":{"url":"https://api.github.com/repos/agrc/forklift/pulls/48","id":73247451,"html_url":"https://github.com/agrc/forklift/pull/48","diff_url":"https://github.com/agrc/forklift/pull/48.diff","patch_url":"https://github.com/agrc/forklift/pull/48.patch","issue_url":"https://api.github.com/repos/agrc/forklift/issues/48","number":48,"state":"open","locked":false,"title":"basic doc updates","user":{"login":"stdavis","id":1326248,"avatar_url":"https://avatars.githubusercontent.com/u/1326248?v=3","gravatar_id":"","url":"https://api.github.com/users/stdavis","html_url":"https://github.com/stdavis","followers_url":"https://api.github.com/users/stdavis/followers","following_url":"https://api.github.com/users/stdavis/following{/other_user}","gists_url":"https://api.github.com/users/stdavis/gists{/gist_id}","starred_url":"https://api.github.com/users/stdavis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stdavis/subscriptions","organizations_url":"https://api.github.com/users/stdavis/orgs","repos_url":"https://api.github.com/users/stdavis/repos","events_url":"https://api.github.com/users/stdavis/events{/privacy}","received_events_url":"https://api.github.com/users/stdavis/received_events","type":"User","site_admin":false},"body":"Definitely more could be done but wanted to get at least something basic going...","created_at":"2016-06-09T16:44:06Z","updated_at":"2016-06-09T16:49:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4fa2315eaeb8477fd5a9bc7abaf87eaf33642624","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/agrc/forklift/pulls/48/commits","review_comments_url":"https://api.github.com/repos/agrc/forklift/pulls/48/comments","review_comment_url":"https://api.github.com/repos/agrc/forklift/pulls/comments{/number}","comments_url":"https://api.github.com/repos/agrc/forklift/issues/48/comments","statuses_url":"https://api.github.com/repos/agrc/forklift/statuses/96ec6924a7a9911c47413ef55881d75d667e09fa","head":{"label":"agrc:docs","ref":"docs","sha":"96ec6924a7a9911c47413ef55881d75d667e09fa","user":{"login":"agrc","id":709415,"avatar_url":"https://avatars.githubusercontent.com/u/709415?v=3","gravatar_id":"","url":"https://api.github.com/users/agrc","html_url":"https://github.com/agrc","followers_url":"https://api.github.com/users/agrc/followers","following_url":"https://api.github.com/users/agrc/following{/other_user}","gists_url":"https://api.github.com/users/agrc/gists{/gist_id}","starred_url":"https://api.github.com/users/agrc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agrc/subscriptions","organizations_url":"https://api.github.com/users/agrc/orgs","repos_url":"https://api.github.com/users/agrc/repos","events_url":"https://api.github.com/users/agrc/events{/privacy}","received_events_url":"https://api.github.com/users/agrc/received_events","type":"Organization","site_admin":false},"repo":{"id":51560804,"name":"forklift","full_name":"agrc/forklift","owner":{"login":"agrc","id":709415,"avatar_url":"https://avatars.githubusercontent.com/u/709415?v=3","gravatar_id":"","url":"https://api.github.com/users/agrc","html_url":"https://github.com/agrc","followers_url":"https://api.github.com/users/agrc/followers","following_url":"https://api.github.com/users/agrc/following{/other_user}","gists_url":"https://api.github.com/users/agrc/gists{/gist_id}","starred_url":"https://api.github.com/users/agrc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agrc/subscriptions","organizations_url":"https://api.github.com/users/agrc/orgs","repos_url":"https://api.github.com/users/agrc/repos","events_url":"https://api.github.com/users/agrc/events{/privacy}","received_events_url":"https://api.github.com/users/agrc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/agrc/forklift","description":"The core update script for ETL'ing data","fork":false,"url":"https://api.github.com/repos/agrc/forklift","forks_url":"https://api.github.com/repos/agrc/forklift/forks","keys_url":"https://api.github.com/repos/agrc/forklift/keys{/key_id}","collaborators_url":"https://api.github.com/repos/agrc/forklift/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/agrc/forklift/teams","hooks_url":"https://api.github.com/repos/agrc/forklift/hooks","issue_events_url":"https://api.github.com/repos/agrc/forklift/issues/events{/number}","events_url":"https://api.github.com/repos/agrc/forklift/events","assignees_url":"https://api.github.com/repos/agrc/forklift/assignees{/user}","branches_url":"https://api.github.com/repos/agrc/forklift/branches{/branch}","tags_url":"https://api.github.com/repos/agrc/forklift/tags","blobs_url":"https://api.github.com/repos/agrc/forklift/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/agrc/forklift/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/agrc/forklift/git/refs{/sha}","trees_url":"https://api.github.com/repos/agrc/forklift/git/trees{/sha}","statuses_url":"https://api.github.com/repos/agrc/forklift/statuses/{sha}","languages_url":"https://api.github.com/repos/agrc/forklift/languages","stargazers_url":"https://api.github.com/repos/agrc/forklift/stargazers","contributors_url":"https://api.github.com/repos/agrc/forklift/contributors","subscribers_url":"https://api.github.com/repos/agrc/forklift/subscribers","subscription_url":"https://api.github.com/repos/agrc/forklift/subscription","commits_url":"https://api.github.com/repos/agrc/forklift/commits{/sha}","git_commits_url":"https://api.github.com/repos/agrc/forklift/git/commits{/sha}","comments_url":"https://api.github.com/repos/agrc/forklift/comments{/number}","issue_comment_url":"https://api.github.com/repos/agrc/forklift/issues/comments{/number}","contents_url":"https://api.github.com/repos/agrc/forklift/contents/{+path}","compare_url":"https://api.github.com/repos/agrc/forklift/compare/{base}...{head}","merges_url":"https://api.github.com/repos/agrc/forklift/merges","archive_url":"https://api.github.com/repos/agrc/forklift/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/agrc/forklift/downloads","issues_url":"https://api.github.com/repos/agrc/forklift/issues{/number}","pulls_url":"https://api.github.com/repos/agrc/forklift/pulls{/number}","milestones_url":"https://api.github.com/repos/agrc/forklift/milestones{/number}","notifications_url":"https://api.github.com/repos/agrc/forklift/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/agrc/forklift/labels{/name}","releases_url":"https://api.github.com/repos/agrc/forklift/releases{/id}","deployments_url":"https://api.github.com/repos/agrc/forklift/deployments","created_at":"2016-02-12T01:35:33Z","updated_at":"2016-05-17T21:36:35Z","pushed_at":"2016-06-09T16:49:31Z","git_url":"git://github.com/agrc/forklift.git","ssh_url":"git@github.com:agrc/forklift.git","clone_url":"https://github.com/agrc/forklift.git","svn_url":"https://github.com/agrc/forklift","homepage":null,"size":23019,"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":10,"forks":0,"open_issues":10,"watchers":0,"default_branch":"master"}},"base":{"label":"agrc:master","ref":"master","sha":"0357b08de3054ff0e13bd15ba4f9605bdf5a271d","user":{"login":"agrc","id":709415,"avatar_url":"https://avatars.githubusercontent.com/u/709415?v=3","gravatar_id":"","url":"https://api.github.com/users/agrc","html_url":"https://github.com/agrc","followers_url":"https://api.github.com/users/agrc/followers","following_url":"https://api.github.com/users/agrc/following{/other_user}","gists_url":"https://api.github.com/users/agrc/gists{/gist_id}","starred_url":"https://api.github.com/users/agrc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agrc/subscriptions","organizations_url":"https://api.github.com/users/agrc/orgs","repos_url":"https://api.github.com/users/agrc/repos","events_url":"https://api.github.com/users/agrc/events{/privacy}","received_events_url":"https://api.github.com/users/agrc/received_events","type":"Organization","site_admin":false},"repo":{"id":51560804,"name":"forklift","full_name":"agrc/forklift","owner":{"login":"agrc","id":709415,"avatar_url":"https://avatars.githubusercontent.com/u/709415?v=3","gravatar_id":"","url":"https://api.github.com/users/agrc","html_url":"https://github.com/agrc","followers_url":"https://api.github.com/users/agrc/followers","following_url":"https://api.github.com/users/agrc/following{/other_user}","gists_url":"https://api.github.com/users/agrc/gists{/gist_id}","starred_url":"https://api.github.com/users/agrc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/agrc/subscriptions","organizations_url":"https://api.github.com/users/agrc/orgs","repos_url":"https://api.github.com/users/agrc/repos","events_url":"https://api.github.com/users/agrc/events{/privacy}","received_events_url":"https://api.github.com/users/agrc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/agrc/forklift","description":"The core update script for ETL'ing data","fork":false,"url":"https://api.github.com/repos/agrc/forklift","forks_url":"https://api.github.com/repos/agrc/forklift/forks","keys_url":"https://api.github.com/repos/agrc/forklift/keys{/key_id}","collaborators_url":"https://api.github.com/repos/agrc/forklift/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/agrc/forklift/teams","hooks_url":"https://api.github.com/repos/agrc/forklift/hooks","issue_events_url":"https://api.github.com/repos/agrc/forklift/issues/events{/number}","events_url":"https://api.github.com/repos/agrc/forklift/events","assignees_url":"https://api.github.com/repos/agrc/forklift/assignees{/user}","branches_url":"https://api.github.com/repos/agrc/forklift/branches{/branch}","tags_url":"https://api.github.com/repos/agrc/forklift/tags","blobs_url":"https://api.github.com/repos/agrc/forklift/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/agrc/forklift/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/agrc/forklift/git/refs{/sha}","trees_url":"https://api.github.com/repos/agrc/forklift/git/trees{/sha}","statuses_url":"https://api.github.com/repos/agrc/forklift/statuses/{sha}","languages_url":"https://api.github.com/repos/agrc/forklift/languages","stargazers_url":"https://api.github.com/repos/agrc/forklift/stargazers","contributors_url":"https://api.github.com/repos/agrc/forklift/contributors","subscribers_url":"https://api.github.com/repos/agrc/forklift/subscribers","subscription_url":"https://api.github.com/repos/agrc/forklift/subscription","commits_url":"https://api.github.com/repos/agrc/forklift/commits{/sha}","git_commits_url":"https://api.github.com/repos/agrc/forklift/git/commits{/sha}","comments_url":"https://api.github.com/repos/agrc/forklift/comments{/number}","issue_comment_url":"https://api.github.com/repos/agrc/forklift/issues/comments{/number}","contents_url":"https://api.github.com/repos/agrc/forklift/contents/{+path}","compare_url":"https://api.github.com/repos/agrc/forklift/compare/{base}...{head}","merges_url":"https://api.github.com/repos/agrc/forklift/merges","archive_url":"https://api.github.com/repos/agrc/forklift/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/agrc/forklift/downloads","issues_url":"https://api.github.com/repos/agrc/forklift/issues{/number}","pulls_url":"https://api.github.com/repos/agrc/forklift/pulls{/number}","milestones_url":"https://api.github.com/repos/agrc/forklift/milestones{/number}","notifications_url":"https://api.github.com/repos/agrc/forklift/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/agrc/forklift/labels{/name}","releases_url":"https://api.github.com/repos/agrc/forklift/releases{/id}","deployments_url":"https://api.github.com/repos/agrc/forklift/deployments","created_at":"2016-02-12T01:35:33Z","updated_at":"2016-05-17T21:36:35Z","pushed_at":"2016-06-09T16:49:31Z","git_url":"git://github.com/agrc/forklift.git","ssh_url":"git@github.com:agrc/forklift.git","clone_url":"https://github.com/agrc/forklift.git","svn_url":"https://github.com/agrc/forklift","homepage":null,"size":23019,"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":10,"forks":0,"open_issues":10,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/agrc/forklift/pulls/48"},"html":{"href":"https://github.com/agrc/forklift/pull/48"},"issue":{"href":"https://api.github.com/repos/agrc/forklift/issues/48"},"comments":{"href":"https://api.github.com/repos/agrc/forklift/issues/48/comments"},"review_comments":{"href":"https://api.github.com/repos/agrc/forklift/pulls/48/comments"},"review_comment":{"href":"https://api.github.com/repos/agrc/forklift/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/agrc/forklift/pulls/48/commits"},"statuses":{"href":"https://api.github.com/repos/agrc/forklift/statuses/96ec6924a7a9911c47413ef55881d75d667e09fa"}}}}
{"actor":{"display_login":"steveoh"}}