{"action":"created","comment":{"url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/comments/188359585","pull_request_review_id":120322035,"id":188359585,"diff_hunk":"@@ -1,15 +1,247 @@\n \"\"\"Parser responsible for reading the ``*res.m`` files\"\"\"\n+import re\n \n-from serpentTools.objects.readers import BaseReader\n+from numpy import array, vstack\n \n+from serpentTools.settings import rc\n+from serpentTools.objects import splitItems, convertVariableName\n+from serpentTools.objects.containers import HomogUniv\n+from serpentTools.objects.readers import XSReader\n \n-class ResultsReader(BaseReader):\n+from serpentTools.messages import (info, warning, debug, SerpentToolsException)\n+\n+\"\"\"\n+Assigns search strings for different Serpent versions\n+Currently only versions 2.1.29 and 2.1.30 are supported\n+\"\"\"\n+MapStrVersions = {'2.1.29': {'meta': 'VERSION ', 'rslt': 'MIN_MACROXS', 'univ': 'GC_UNIVERSE_NAME',\n+                             'days': 'BURN_DAYS', 'burn': 'BURNUP', 'inxs': 'INF_', 'b1xs': 'B1_'},\n+                  '2.1.30': {'meta': 'VERSION ', 'rslt': 'MIN_MACROXS', 'univ': 'GC_UNIVERSE_NAME',\n+                             'days': 'BURN_DAYS', 'burn': 'BURNUP', 'inxs': 'INF_', 'b1xs': 'B1_'}}\n+\n+class ResultsReader(XSReader):\n     \"\"\"\n     Parser responsible for reading and working with result files.\n \n+    Attributes\n+    ------------\n+    metadata: dict\n+        Dictionary with serpent descriptive variables as keys and the\n+        corresponding description. Within the _res.m file this data is\n+        printed multiple times, but contains the same description\n+        and thus is stored only once. e.g., 'version': 'Serpent 2.1.29'\n+    resdata: dict\n+        Dictionary with serpent time-dependent variables as keys and the\n+        corresponding values. The data is unique for each burnup step.\n+        Some variables also contain uncertainties.\n+        e.g., 'absKeff': [[9.91938E-01, 0.00145],[1.81729E-01, 0.00240]]\n+    univdata: dict\n+        Dictionary of universe names and their corresponding\n+        :py:class:`~serpentTools.objects.containers.HomogUniv`\n+        objects. The keys describe a unique state:\n+        'universe', burnup (MWd/kg), burnup index, time (days)\n+        ('0', 0.0, 1, 0.0)\n+\n     Parameters\n     ----------\n     filePath: str\n-        path to the depletion file\n+        path to the results file\n+\n+    Raises\n+    ------\n+    SerpentToolsException:  Serpent version is not supported\n+                            No universes are found in the file\n+                            No results are collected\n+                            Corrupted results\n+    IOError: file is unexpectedly closes while reading\n     \"\"\"\n-    pass\n+\n+    def __init__(self, filePath):\n+        XSReader.__init__(self, filePath, 'xs')\n+        self.__fileObj = None\n+        self.__serpentVersion = rc['serpentVersion']\n+        self._counter = {'meta': 0, 'rslt': 0, 'univ': 0}\n+        self._univlist = []\n+        self.metadata,  self.resdata, self.univdata = {}, {}, {}\n+        self._regexpStr = re.compile(r'\\'.+\\'')  # string\n+        self._regexpVec = re.compile(r'(?<==.)\\[.+?\\]')  # vector\n+        self._regexpScl = re.compile(r'=.+;')  # scalar\n+        self._strtok = re.compile(r'^\\w+')  # first word in the line\n+\n+    def _read(self):\n+        \"\"\"Read through the results file and store requested data.\"\"\"\n+        info('Preparing to read {}'.format(self.filePath))\n+        with open(self.filePath, 'r') as fObject:\n+            for tline in fObject:\n+                self._processResults(tline)\n+        info('Done reading results file')\n+\n+    def _processResults(self, tline):\n+        \"\"\"Performs the main processing of the results.\"\"\"\n+        #  Not an empty line or a comment\n+        if tline.strip() and '%' not in tline and '=' in tline and 'idx = ' not in tline:\n+            self._whereAmI(tline)  # identify position in file\n+            varNameSer, varNamePy= self._getVarName(tline)  # obtain the name of the variable\n+            # should this variable be stored\n+            if not self._checkAddVariable(varNameSer):\n+                return\n+            varType, varVals = self._getVarValues(tline)  # values to be stored\n+            if self._posFile == 'meta':\n+                self._storeMetaData(varNamePy, varType, varVals)\n+            if self._posFile == 'rslt':\n+                self._storeResData(varNamePy, varVals)\n+            if self._posFile == 'univ':\n+                self._storeUnivData(varNameSer, varVals)\n+\n+    def _whereAmI(self, tline):\n+        \"\"\"Identify the position in the file.\"\"\"\n+        if self._keysVersion['meta'] in tline:\n+            self._posFile = 'meta'\n+            self._counter['meta'] += 1\n+        elif self._keysVersion['rslt'] in tline:\n+            self._posFile = 'rslt'\n+            self._counter['rslt'] = divmod(self._counter['meta']-1, self._counter['univ'])[0] + 1\n+        elif self._keysVersion['univ'] in tline:\n+            self._posFile = 'univ'\n+            varType, varVals = self._getVarValues(tline)  # universe name\n+            self._univlist.append(varVals)\n+\n+    def _storeUnivData(self, varNameSer, varVals):\n+        \"\"\"Process universes' data\"\"\"\n+        brState = self._getBUstate()  # obtain the branching tuple\n+        values = array(self._str2num(varVals))  # convert the string to float numbers\n+        if not self.univdata or brState not in self.univdata.keys():\n+            self.univdata[brState] = \\","path":"serpentTools/parsers/results.py","position":null,"original_position":118,"commit_id":"c5a7cf8904bb837e303c5a158087905bc5cadce8","original_commit_id":"1d5480a87c0e6ec25c8d53cf1e5eeb587a001304","user":{"login":"DanKotlyar","id":26622847,"avatar_url":"https://avatars1.githubusercontent.com/u/26622847?v=4","gravatar_id":"","url":"https://api.github.com/users/DanKotlyar","html_url":"https://github.com/DanKotlyar","followers_url":"https://api.github.com/users/DanKotlyar/followers","following_url":"https://api.github.com/users/DanKotlyar/following{/other_user}","gists_url":"https://api.github.com/users/DanKotlyar/gists{/gist_id}","starred_url":"https://api.github.com/users/DanKotlyar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanKotlyar/subscriptions","organizations_url":"https://api.github.com/users/DanKotlyar/orgs","repos_url":"https://api.github.com/users/DanKotlyar/repos","events_url":"https://api.github.com/users/DanKotlyar/events{/privacy}","received_events_url":"https://api.github.com/users/DanKotlyar/received_events","type":"User","site_admin":false},"body":"replaced. ","created_at":"2018-05-15T16:49:37Z","updated_at":"2018-05-15T16:49:38Z","html_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools/pull/130#discussion_r188359585","pull_request_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/comments/188359585"},"html":{"href":"https://github.com/CORE-GATECH-GROUP/serpent-tools/pull/130#discussion_r188359585"},"pull_request":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130"}},"in_reply_to_id":188271810},"pull_request":{"url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130","id":186978228,"html_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools/pull/130","diff_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools/pull/130.diff","patch_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools/pull/130.patch","issue_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/130","number":130,"state":"open","locked":false,"title":"Completed Results Reader","user":{"login":"DanKotlyar","id":26622847,"avatar_url":"https://avatars1.githubusercontent.com/u/26622847?v=4","gravatar_id":"","url":"https://api.github.com/users/DanKotlyar","html_url":"https://github.com/DanKotlyar","followers_url":"https://api.github.com/users/DanKotlyar/followers","following_url":"https://api.github.com/users/DanKotlyar/following{/other_user}","gists_url":"https://api.github.com/users/DanKotlyar/gists{/gist_id}","starred_url":"https://api.github.com/users/DanKotlyar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanKotlyar/subscriptions","organizations_url":"https://api.github.com/users/DanKotlyar/orgs","repos_url":"https://api.github.com/users/DanKotlyar/repos","events_url":"https://api.github.com/users/DanKotlyar/events{/privacy}","received_events_url":"https://api.github.com/users/DanKotlyar/received_events","type":"User","site_admin":false},"body":"The results reader parser, jupyter example notebook and unittest require review. ","created_at":"2018-05-09T16:43:42Z","updated_at":"2018-05-15T16:49:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ca51c32348681a4cc989616740c474672c349293","assignee":{"login":"drewejohnson","id":19477741,"avatar_url":"https://avatars0.githubusercontent.com/u/19477741?v=4","gravatar_id":"","url":"https://api.github.com/users/drewejohnson","html_url":"https://github.com/drewejohnson","followers_url":"https://api.github.com/users/drewejohnson/followers","following_url":"https://api.github.com/users/drewejohnson/following{/other_user}","gists_url":"https://api.github.com/users/drewejohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/drewejohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewejohnson/subscriptions","organizations_url":"https://api.github.com/users/drewejohnson/orgs","repos_url":"https://api.github.com/users/drewejohnson/repos","events_url":"https://api.github.com/users/drewejohnson/events{/privacy}","received_events_url":"https://api.github.com/users/drewejohnson/received_events","type":"User","site_admin":false},"assignees":[{"login":"drewejohnson","id":19477741,"avatar_url":"https://avatars0.githubusercontent.com/u/19477741?v=4","gravatar_id":"","url":"https://api.github.com/users/drewejohnson","html_url":"https://github.com/drewejohnson","followers_url":"https://api.github.com/users/drewejohnson/followers","following_url":"https://api.github.com/users/drewejohnson/following{/other_user}","gists_url":"https://api.github.com/users/drewejohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/drewejohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewejohnson/subscriptions","organizations_url":"https://api.github.com/users/drewejohnson/orgs","repos_url":"https://api.github.com/users/drewejohnson/repos","events_url":"https://api.github.com/users/drewejohnson/events{/privacy}","received_events_url":"https://api.github.com/users/drewejohnson/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":861614443,"url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/labels/Work%20in%20progress","name":"Work in progress","color":"f7eca3","default":false}],"milestone":{"url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/milestones/6","html_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools/milestone/6","labels_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/milestones/6/labels","id":3337306,"number":6,"title":"0.5.0","description":"Primary reader - results reader","creator":{"login":"drewejohnson","id":19477741,"avatar_url":"https://avatars0.githubusercontent.com/u/19477741?v=4","gravatar_id":"","url":"https://api.github.com/users/drewejohnson","html_url":"https://github.com/drewejohnson","followers_url":"https://api.github.com/users/drewejohnson/followers","following_url":"https://api.github.com/users/drewejohnson/following{/other_user}","gists_url":"https://api.github.com/users/drewejohnson/gists{/gist_id}","starred_url":"https://api.github.com/users/drewejohnson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewejohnson/subscriptions","organizations_url":"https://api.github.com/users/drewejohnson/orgs","repos_url":"https://api.github.com/users/drewejohnson/repos","events_url":"https://api.github.com/users/drewejohnson/events{/privacy}","received_events_url":"https://api.github.com/users/drewejohnson/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":5,"state":"open","created_at":"2018-05-10T20:01:53Z","updated_at":"2018-05-15T16:41:00Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130/commits","review_comments_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130/comments","review_comment_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/130/comments","statuses_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/statuses/c5a7cf8904bb837e303c5a158087905bc5cadce8","head":{"label":"CORE-GATECH-GROUP:results-reader-3","ref":"results-reader-3","sha":"c5a7cf8904bb837e303c5a158087905bc5cadce8","user":{"login":"CORE-GATECH-GROUP","id":26622918,"avatar_url":"https://avatars3.githubusercontent.com/u/26622918?v=4","gravatar_id":"","url":"https://api.github.com/users/CORE-GATECH-GROUP","html_url":"https://github.com/CORE-GATECH-GROUP","followers_url":"https://api.github.com/users/CORE-GATECH-GROUP/followers","following_url":"https://api.github.com/users/CORE-GATECH-GROUP/following{/other_user}","gists_url":"https://api.github.com/users/CORE-GATECH-GROUP/gists{/gist_id}","starred_url":"https://api.github.com/users/CORE-GATECH-GROUP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CORE-GATECH-GROUP/subscriptions","organizations_url":"https://api.github.com/users/CORE-GATECH-GROUP/orgs","repos_url":"https://api.github.com/users/CORE-GATECH-GROUP/repos","events_url":"https://api.github.com/users/CORE-GATECH-GROUP/events{/privacy}","received_events_url":"https://api.github.com/users/CORE-GATECH-GROUP/received_events","type":"Organization","site_admin":false},"repo":{"id":102786755,"name":"serpent-tools","full_name":"CORE-GATECH-GROUP/serpent-tools","owner":{"login":"CORE-GATECH-GROUP","id":26622918,"avatar_url":"https://avatars3.githubusercontent.com/u/26622918?v=4","gravatar_id":"","url":"https://api.github.com/users/CORE-GATECH-GROUP","html_url":"https://github.com/CORE-GATECH-GROUP","followers_url":"https://api.github.com/users/CORE-GATECH-GROUP/followers","following_url":"https://api.github.com/users/CORE-GATECH-GROUP/following{/other_user}","gists_url":"https://api.github.com/users/CORE-GATECH-GROUP/gists{/gist_id}","starred_url":"https://api.github.com/users/CORE-GATECH-GROUP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CORE-GATECH-GROUP/subscriptions","organizations_url":"https://api.github.com/users/CORE-GATECH-GROUP/orgs","repos_url":"https://api.github.com/users/CORE-GATECH-GROUP/repos","events_url":"https://api.github.com/users/CORE-GATECH-GROUP/events{/privacy}","received_events_url":"https://api.github.com/users/CORE-GATECH-GROUP/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools","description":"A suite of parsers designed to make interacting with SERPENT output files simple and flawless","fork":false,"url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools","forks_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/forks","keys_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/teams","hooks_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/hooks","issue_events_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/events{/number}","events_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/events","assignees_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/assignees{/user}","branches_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/branches{/branch}","tags_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/tags","blobs_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/languages","stargazers_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/stargazers","contributors_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/contributors","subscribers_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/subscribers","subscription_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/subscription","commits_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/contents/{+path}","compare_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/merges","archive_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/downloads","issues_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues{/number}","pulls_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/labels{/name}","releases_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/releases{/id}","deployments_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/deployments","created_at":"2017-09-07T21:19:39Z","updated_at":"2018-05-15T15:09:08Z","pushed_at":"2018-05-15T16:41:00Z","git_url":"git://github.com/CORE-GATECH-GROUP/serpent-tools.git","ssh_url":"git@github.com:CORE-GATECH-GROUP/serpent-tools.git","clone_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools.git","svn_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools","homepage":"http://serpent-tools.readthedocs.io/en/latest/","size":10195,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"open_issues_count":16,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":5,"open_issues":16,"watchers":5,"default_branch":"develop"}},"base":{"label":"CORE-GATECH-GROUP:develop","ref":"develop","sha":"80b90abd346665d29d34639874a21ab5e1ac441c","user":{"login":"CORE-GATECH-GROUP","id":26622918,"avatar_url":"https://avatars3.githubusercontent.com/u/26622918?v=4","gravatar_id":"","url":"https://api.github.com/users/CORE-GATECH-GROUP","html_url":"https://github.com/CORE-GATECH-GROUP","followers_url":"https://api.github.com/users/CORE-GATECH-GROUP/followers","following_url":"https://api.github.com/users/CORE-GATECH-GROUP/following{/other_user}","gists_url":"https://api.github.com/users/CORE-GATECH-GROUP/gists{/gist_id}","starred_url":"https://api.github.com/users/CORE-GATECH-GROUP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CORE-GATECH-GROUP/subscriptions","organizations_url":"https://api.github.com/users/CORE-GATECH-GROUP/orgs","repos_url":"https://api.github.com/users/CORE-GATECH-GROUP/repos","events_url":"https://api.github.com/users/CORE-GATECH-GROUP/events{/privacy}","received_events_url":"https://api.github.com/users/CORE-GATECH-GROUP/received_events","type":"Organization","site_admin":false},"repo":{"id":102786755,"name":"serpent-tools","full_name":"CORE-GATECH-GROUP/serpent-tools","owner":{"login":"CORE-GATECH-GROUP","id":26622918,"avatar_url":"https://avatars3.githubusercontent.com/u/26622918?v=4","gravatar_id":"","url":"https://api.github.com/users/CORE-GATECH-GROUP","html_url":"https://github.com/CORE-GATECH-GROUP","followers_url":"https://api.github.com/users/CORE-GATECH-GROUP/followers","following_url":"https://api.github.com/users/CORE-GATECH-GROUP/following{/other_user}","gists_url":"https://api.github.com/users/CORE-GATECH-GROUP/gists{/gist_id}","starred_url":"https://api.github.com/users/CORE-GATECH-GROUP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CORE-GATECH-GROUP/subscriptions","organizations_url":"https://api.github.com/users/CORE-GATECH-GROUP/orgs","repos_url":"https://api.github.com/users/CORE-GATECH-GROUP/repos","events_url":"https://api.github.com/users/CORE-GATECH-GROUP/events{/privacy}","received_events_url":"https://api.github.com/users/CORE-GATECH-GROUP/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools","description":"A suite of parsers designed to make interacting with SERPENT output files simple and flawless","fork":false,"url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools","forks_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/forks","keys_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/teams","hooks_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/hooks","issue_events_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/events{/number}","events_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/events","assignees_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/assignees{/user}","branches_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/branches{/branch}","tags_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/tags","blobs_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/refs{/sha}","trees_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/statuses/{sha}","languages_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/languages","stargazers_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/stargazers","contributors_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/contributors","subscribers_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/subscribers","subscription_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/subscription","commits_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/commits{/sha}","git_commits_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/git/commits{/sha}","comments_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/comments{/number}","issue_comment_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/comments{/number}","contents_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/contents/{+path}","compare_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/merges","archive_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/downloads","issues_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues{/number}","pulls_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls{/number}","milestones_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/milestones{/number}","notifications_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/labels{/name}","releases_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/releases{/id}","deployments_url":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/deployments","created_at":"2017-09-07T21:19:39Z","updated_at":"2018-05-15T15:09:08Z","pushed_at":"2018-05-15T16:41:00Z","git_url":"git://github.com/CORE-GATECH-GROUP/serpent-tools.git","ssh_url":"git@github.com:CORE-GATECH-GROUP/serpent-tools.git","clone_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools.git","svn_url":"https://github.com/CORE-GATECH-GROUP/serpent-tools","homepage":"http://serpent-tools.readthedocs.io/en/latest/","size":10195,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5,"mirror_url":null,"archived":false,"open_issues_count":16,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":5,"open_issues":16,"watchers":5,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130"},"html":{"href":"https://github.com/CORE-GATECH-GROUP/serpent-tools/pull/130"},"issue":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/130"},"comments":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/issues/130/comments"},"review_comments":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130/comments"},"review_comment":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/pulls/130/commits"},"statuses":{"href":"https://api.github.com/repos/CORE-GATECH-GROUP/serpent-tools/statuses/c5a7cf8904bb837e303c5a158087905bc5cadce8"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"DanKotlyar"}}