{"action":"created","comment":{"url":"https://api.github.com/repos/idaholab/raven/pulls/comments/181397733","pull_request_review_id":112022206,"id":181397733,"diff_hunk":"@@ -0,0 +1,177 @@\n+\"\"\"\n+Created on September 1st, 2017\n+@author: rouxpn\n+\"\"\"\n+from __future__ import division, print_function, unicode_literals, absolute_import\n+import warnings\n+warnings.simplefilter('default',DeprecationWarning)\n+import os\n+from decimal import Decimal\n+import xml.etree.ElementTree as ET\n+from xml.etree.ElementTree import Element, SubElement, Comment\n+from xml.dom import minidom\n+\n+class XSCreator():\n+\n+  def tabMapping(self,tab):\n+    \"\"\"\n+      Links the tabulation number to the actual tabulation points\n+      @ In, tab, string, refers to the tabulation number\n+      @ Out, tabList, list, lists of all the tabulation parameters\n+      @ Out, valueList, lists of all the tabulation values\n+    \"\"\"\n+    mappingTree = ET.parse('tabMapping.xml')\n+    mappingRoot = mappingTree.getroot()\n+    for tabulationXML in mappingRoot.getiterator('tabulation'):\n+      if tab == tabulationXML.attrib.get('set'):\n+        tabList = []\n+        valueList = []\n+        for tabXML in tabulationXML.getiterator('tab'):\n+          tabList.append(tabXML.attrib.get('name'))\n+          valueList.append(tabXML.text)\n+    return tabList, valueList\n+    \n+  def prettify(self,elem):\n+    \"\"\"\n+      Returns a pretty-printed xml string for the Element.\n+      @ In, elem, xml.etree.ElementTree.Element\n+      @ Out, None\n+    \"\"\"\n+    rough_string = ET.tostring(elem, 'utf-8')\n+    reparsed = minidom.parseString(rough_string)\n+    return reparsed.toprettyxml(indent=\"  \")\n+    \n+  def generateXML(self,workingDir):\n+    \"\"\"\n+      Creates an xml file from the interface.\n+      @ In, workingDir, string, absolute path to working directory\n+      @ Out, modifiedFile, string, name of the xml file created (under a dummy name)\n+    \"\"\"\n+    top = Element('scaling_library')\n+    comment = Comment('Generated by rouxpn')\n+    top.append(comment)\n+    \n+    for XS in self.listedDict.iterkeys():\n+      for tabulation in self.listedDict.get('XS').iterkeys():\n+        topChild = SubElement(top, 'set')\n+        tabList, valueList = self.tabMapping(tabulation)\n+        if self.booleanTab is True:\n+          for i in xrange (0,len(tabList)):\n+            tabChild = SubElement(topChild, 'tab', {'name':tabList[i]})\n+            tabChild.text = valueList[i]\n+        for material in self.listedDict.get('XS').get(tabulation).iterkeys():\n+          tabulationChild = SubElement(topChild, 'library', {'lib_name':material.lower()})\n+          for isotope in self.listedDict.get('XS').get(tabulation).get(material).iterkeys():\n+            for type in self.listedDict.get('XS').get(tabulation).get(material).get(isotope).iterkeys():\n+              libraryChild = SubElement(tabulationChild, 'isotope', {'id':isotope.lower(), 'type':type.lower()})\n+              for reaction in self.listedDict.get('XS').get(tabulation).get(material).get(isotope).get(type).iterkeys():\n+                groupList = []\n+                valueList = []\n+                count = 0\n+                for group,value in self.listedDict.get('XS').get(tabulation).get(material).get(isotope).get(type).get(reaction).iteritems():\n+                  count = count + 1\n+                  numberOfGroupsPerturbed = len(self.listedDict.get('XS').get(tabulation).get(material).get(isotope).get(type).get(reaction).keys())\n+                  groupList.append(group)\n+                  valueList.append(value)\n+                  group.join(',')\n+                  if count == numberOfGroupsPerturbed:\n+                    groups = ','.join(str(e) for e in groupList)\n+                    values = ','.join(str(f) for f in valueList)\n+                    reactionChild = SubElement(libraryChild, reaction.lower(), {'g':groups})\n+                    reactionChild.text = values\n+    \n+    modifiedFile = os.path.join(workingDir,'test.dat')\n+    file_obj = open(modifiedFile, 'w')\n+    file_obj.write(self.prettify(top))\n+    return modifiedFile\n+  \n+  def cleanEmpty(self,leanDict):\n+    \"\"\"\n+      Removes all the empty string in the nested dictionary reconstructedDict.\n+      @ In, reconstructedDict, dictionary,  nested dictionary\n+      @ Out, leanReconstructedDict, dictionary, nested dictionary without trailing blanks\n+    \"\"\"\n+    if not isinstance(leanDict, (dict, list)):\n+        return leanDict\n+    if isinstance(leanDict, list):\n+        return [v for v in (self.cleanEmpty(v) for v in leanDict) if v]\n+    return {k: v for k, v in ((k, self.cleanEmpty(v)) for k, v in leanDict.items()) if v}\n+\n+  def __init__(self,inputFiles,booleanTab,workingDir,**pertDict):\n+    \"\"\"\n+      Parses the PHISICS XS.xml data file.\n+      @ In, inputFiles, string, file name the perturbed cross sections are printed into\n+      @ In, booleanTab, Boolean, True if a tabulation mapping is provided in the problem input. False otherwise\n+                                  This variable is ontrolled by the xml node <tabulation> in the raven input\n+      @ In, pertDict, dictionary, dictionary of perturbed variables\n+      @ Out, None\n+    \"\"\"\n+    self.booleanTab = booleanTab\n+    self.pertDict = pertDict\n+    for key, value in self.pertDict.iteritems():\n+      self.pertDict[key] = '%.5E' % Decimal(str(value)) #convert the values into scientific values\n+    self.inputFiles = inputFiles\n+    self.tree = ET.parse(self.inputFiles)\n+    self.root = self.tree.getroot()\n+    self.listedDict = self.fileReconstruction(self.pertDict)\n+    modifiedFile = self.generateXML(workingDir)\n+    self.printInput(modifiedFile)\n+\n+  def fileReconstruction(self, deconstructedDict):\n+    \"\"\"\n+      Converts the formatted dictionary -> {'XS|FUEL1|U235|FISSION|1':1.30, 'XS|FUEL2|U238|ABS|2':4.69}\n+      into a dictionary of dictionaries that has the format -> {'XS':{'FUEL1':{'U235':{'FISSION':{'1':1.30}}}}, 'FUEL2':{'U238':{'ABS':{'2':4.69}}}}\n+      @ In, deconstructedDict, dictionary\n+      @ Out, reconstructedDict, dictionary\n+    \"\"\"\n+    reconstructedDict = {}\n+    perturbedPhysicalParameters = []\n+    perturbedTabulationPoint = []\n+    perturbedMaterials = []\n+    perturbedIsotopes = []\n+    perturbedTypes = []\n+    perturbedReactions = []\n+    perturbedGroups = []\n+      \n+    pertDictSet = set(self.pertDict)\n+    deconstructedDictSet = set(deconstructedDict)\n+    for i in pertDictSet.intersection(deconstructedDictSet):\n+      splittedKeywords = i.split('|')\n+      perturbedPhysicalParameters.append(splittedKeywords[0])\n+      perturbedTabulationPoint.append(splittedKeywords[1])\n+      perturbedMaterials.append(splittedKeywords[2])\n+      perturbedIsotopes.append(splittedKeywords[3])\n+      perturbedTypes.append(splittedKeywords[4])\n+      perturbedReactions.append(splittedKeywords[5])\n+      perturbedGroups.append(splittedKeywords[6])\n+    \n+    for i in xrange (0,len(perturbedPhysicalParameters)):\n+      reconstructedDict[perturbedPhysicalParameters[i]] = {}\n+      for j in xrange (0,len(perturbedTabulationPoint)):\n+        reconstructedDict[perturbedPhysicalParameters[i]][perturbedTabulationPoint[j]] = {}\n+        for k in xrange (0,len(perturbedMaterials)):\n+          reconstructedDict[perturbedPhysicalParameters[i]][perturbedTabulationPoint[j]][perturbedMaterials[k]] = {}\n+          for l in xrange (0,len(perturbedIsotopes)):\n+            reconstructedDict[perturbedPhysicalParameters[i]][perturbedTabulationPoint[j]][perturbedMaterials[k]][perturbedIsotopes[l]] = {}\n+            for m in xrange (0,len(perturbedReactions)):\n+              reconstructedDict[perturbedPhysicalParameters[i]][perturbedTabulationPoint[j]][perturbedMaterials[k]][perturbedIsotopes[l]][perturbedTypes[m]] = {}\n+              for n in xrange (0,len(perturbedReactions)):\n+                reconstructedDict[perturbedPhysicalParameters[i]][perturbedTabulationPoint[j]][perturbedMaterials[k]][perturbedIsotopes[l]][perturbedTypes[m]][perturbedReactions[n]] = {}\n+                for o in xrange (0,len(perturbedGroups)):\n+                  reconstructedDict[perturbedPhysicalParameters[i]][perturbedTabulationPoint[j]][perturbedMaterials[k]][perturbedIsotopes[l]][perturbedTypes[m]][perturbedReactions[n]][perturbedGroups[o]] = {}","path":"framework/CodeInterfaces/PHISICS/XSCreator.py","position":161,"original_position":161,"commit_id":"229724dbdf0b7362cb076ceb88a9adc3d4e5e0a7","original_commit_id":"8eeea000284e32d993de9d866e8e07d1605b33f1","user":{"login":"rouxpn","id":30636482,"avatar_url":"https://avatars3.githubusercontent.com/u/30636482?v=4","gravatar_id":"","url":"https://api.github.com/users/rouxpn","html_url":"https://github.com/rouxpn","followers_url":"https://api.github.com/users/rouxpn/followers","following_url":"https://api.github.com/users/rouxpn/following{/other_user}","gists_url":"https://api.github.com/users/rouxpn/gists{/gist_id}","starred_url":"https://api.github.com/users/rouxpn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rouxpn/subscriptions","organizations_url":"https://api.github.com/users/rouxpn/orgs","repos_url":"https://api.github.com/users/rouxpn/repos","events_url":"https://api.github.com/users/rouxpn/events{/privacy}","received_events_url":"https://api.github.com/users/rouxpn/received_events","type":"User","site_admin":false},"body":"well it sure is cleaner","created_at":"2018-04-13T14:01:43Z","updated_at":"2018-04-13T14:01:44Z","html_url":"https://github.com/idaholab/raven/pull/510#discussion_r181397733","pull_request_url":"https://api.github.com/repos/idaholab/raven/pulls/510","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/idaholab/raven/pulls/comments/181397733"},"html":{"href":"https://github.com/idaholab/raven/pull/510#discussion_r181397733"},"pull_request":{"href":"https://api.github.com/repos/idaholab/raven/pulls/510"}},"in_reply_to_id":180590034},"pull_request":{"url":"https://api.github.com/repos/idaholab/raven/pulls/510","id":162415522,"html_url":"https://github.com/idaholab/raven/pull/510","diff_url":"https://github.com/idaholab/raven/pull/510.diff","patch_url":"https://github.com/idaholab/raven/pull/510.patch","issue_url":"https://api.github.com/repos/idaholab/raven/issues/510","number":510,"state":"open","locked":false,"title":"Alfoa/rouxpn/phisics interface","user":{"login":"rouxpn","id":30636482,"avatar_url":"https://avatars3.githubusercontent.com/u/30636482?v=4","gravatar_id":"","url":"https://api.github.com/users/rouxpn","html_url":"https://github.com/rouxpn","followers_url":"https://api.github.com/users/rouxpn/followers","following_url":"https://api.github.com/users/rouxpn/following{/other_user}","gists_url":"https://api.github.com/users/rouxpn/gists{/gist_id}","starred_url":"https://api.github.com/users/rouxpn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rouxpn/subscriptions","organizations_url":"https://api.github.com/users/rouxpn/orgs","repos_url":"https://api.github.com/users/rouxpn/repos","events_url":"https://api.github.com/users/rouxpn/events{/privacy}","received_events_url":"https://api.github.com/users/rouxpn/received_events","type":"User","site_admin":false},"body":"--------\r\nPull Request Description\r\n--------\r\n##### What issue does this change request address? (Use \"#\" before the issue to link it, i.e., #42.)\r\n\r\n\r\n##### What are the significant changes in functionality due to this change request?\r\n\r\n\r\n----------------\r\nFor Change Control Board: Change Request Review\r\n----------------\r\nThe following review must be completed by an authorized member of the Change Control Board.\r\n- [ ] 1. Review all computer code.\r\n- [ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).\r\n- [ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the [wiki](https://github.com/idaholab/raven/wiki/RAVEN-Code-Standards#python) for details.\r\n- [ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.\r\n- [ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in <RunInfo> XML block, the node ```<internalParallel>``` to True.\r\n- [ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.\r\n- [ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.\r\n- [ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?\r\n","created_at":"2018-01-11T15:53:25Z","updated_at":"2018-04-13T14:01:44Z","closed_at":null,"merged_at":null,"merge_commit_sha":"18159b69e4e3c10acffd5c7b71e18187b0bd9007","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/idaholab/raven/pulls/510/commits","review_comments_url":"https://api.github.com/repos/idaholab/raven/pulls/510/comments","review_comment_url":"https://api.github.com/repos/idaholab/raven/pulls/comments{/number}","comments_url":"https://api.github.com/repos/idaholab/raven/issues/510/comments","statuses_url":"https://api.github.com/repos/idaholab/raven/statuses/229724dbdf0b7362cb076ceb88a9adc3d4e5e0a7","head":{"label":"alfoa:alfoa/rouxpn/phisics_interface","ref":"alfoa/rouxpn/phisics_interface","sha":"229724dbdf0b7362cb076ceb88a9adc3d4e5e0a7","user":{"login":"alfoa","id":9202671,"avatar_url":"https://avatars0.githubusercontent.com/u/9202671?v=4","gravatar_id":"","url":"https://api.github.com/users/alfoa","html_url":"https://github.com/alfoa","followers_url":"https://api.github.com/users/alfoa/followers","following_url":"https://api.github.com/users/alfoa/following{/other_user}","gists_url":"https://api.github.com/users/alfoa/gists{/gist_id}","starred_url":"https://api.github.com/users/alfoa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alfoa/subscriptions","organizations_url":"https://api.github.com/users/alfoa/orgs","repos_url":"https://api.github.com/users/alfoa/repos","events_url":"https://api.github.com/users/alfoa/events{/privacy}","received_events_url":"https://api.github.com/users/alfoa/received_events","type":"User","site_admin":false},"repo":{"id":88065586,"name":"raven","full_name":"alfoa/raven","owner":{"login":"alfoa","id":9202671,"avatar_url":"https://avatars0.githubusercontent.com/u/9202671?v=4","gravatar_id":"","url":"https://api.github.com/users/alfoa","html_url":"https://github.com/alfoa","followers_url":"https://api.github.com/users/alfoa/followers","following_url":"https://api.github.com/users/alfoa/following{/other_user}","gists_url":"https://api.github.com/users/alfoa/gists{/gist_id}","starred_url":"https://api.github.com/users/alfoa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alfoa/subscriptions","organizations_url":"https://api.github.com/users/alfoa/orgs","repos_url":"https://api.github.com/users/alfoa/repos","events_url":"https://api.github.com/users/alfoa/events{/privacy}","received_events_url":"https://api.github.com/users/alfoa/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alfoa/raven","description":"RAVEN is a flexible and multi-purpose probabilistic risk analysis, uncertainty quantification, parameter optimization and data knowledge-discovering framework.","fork":true,"url":"https://api.github.com/repos/alfoa/raven","forks_url":"https://api.github.com/repos/alfoa/raven/forks","keys_url":"https://api.github.com/repos/alfoa/raven/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alfoa/raven/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alfoa/raven/teams","hooks_url":"https://api.github.com/repos/alfoa/raven/hooks","issue_events_url":"https://api.github.com/repos/alfoa/raven/issues/events{/number}","events_url":"https://api.github.com/repos/alfoa/raven/events","assignees_url":"https://api.github.com/repos/alfoa/raven/assignees{/user}","branches_url":"https://api.github.com/repos/alfoa/raven/branches{/branch}","tags_url":"https://api.github.com/repos/alfoa/raven/tags","blobs_url":"https://api.github.com/repos/alfoa/raven/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alfoa/raven/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alfoa/raven/git/refs{/sha}","trees_url":"https://api.github.com/repos/alfoa/raven/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alfoa/raven/statuses/{sha}","languages_url":"https://api.github.com/repos/alfoa/raven/languages","stargazers_url":"https://api.github.com/repos/alfoa/raven/stargazers","contributors_url":"https://api.github.com/repos/alfoa/raven/contributors","subscribers_url":"https://api.github.com/repos/alfoa/raven/subscribers","subscription_url":"https://api.github.com/repos/alfoa/raven/subscription","commits_url":"https://api.github.com/repos/alfoa/raven/commits{/sha}","git_commits_url":"https://api.github.com/repos/alfoa/raven/git/commits{/sha}","comments_url":"https://api.github.com/repos/alfoa/raven/comments{/number}","issue_comment_url":"https://api.github.com/repos/alfoa/raven/issues/comments{/number}","contents_url":"https://api.github.com/repos/alfoa/raven/contents/{+path}","compare_url":"https://api.github.com/repos/alfoa/raven/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alfoa/raven/merges","archive_url":"https://api.github.com/repos/alfoa/raven/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alfoa/raven/downloads","issues_url":"https://api.github.com/repos/alfoa/raven/issues{/number}","pulls_url":"https://api.github.com/repos/alfoa/raven/pulls{/number}","milestones_url":"https://api.github.com/repos/alfoa/raven/milestones{/number}","notifications_url":"https://api.github.com/repos/alfoa/raven/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alfoa/raven/labels{/name}","releases_url":"https://api.github.com/repos/alfoa/raven/releases{/id}","deployments_url":"https://api.github.com/repos/alfoa/raven/deployments","created_at":"2017-04-12T15:08:36Z","updated_at":"2018-04-10T17:03:30Z","pushed_at":"2018-04-12T12:43:10Z","git_url":"git://github.com/alfoa/raven.git","ssh_url":"git@github.com:alfoa/raven.git","clone_url":"https://github.com/alfoa/raven.git","svn_url":"https://github.com/alfoa/raven","homepage":"https://raven.inl.gov/","size":459889,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":1,"open_issues":1,"watchers":0,"default_branch":"devel"}},"base":{"label":"idaholab:devel","ref":"devel","sha":"fbee9e3def3c1ee576d1af85f3258cc816ceaaaf","user":{"login":"idaholab","id":3855370,"avatar_url":"https://avatars0.githubusercontent.com/u/3855370?v=4","gravatar_id":"","url":"https://api.github.com/users/idaholab","html_url":"https://github.com/idaholab","followers_url":"https://api.github.com/users/idaholab/followers","following_url":"https://api.github.com/users/idaholab/following{/other_user}","gists_url":"https://api.github.com/users/idaholab/gists{/gist_id}","starred_url":"https://api.github.com/users/idaholab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/idaholab/subscriptions","organizations_url":"https://api.github.com/users/idaholab/orgs","repos_url":"https://api.github.com/users/idaholab/repos","events_url":"https://api.github.com/users/idaholab/events{/privacy}","received_events_url":"https://api.github.com/users/idaholab/received_events","type":"Organization","site_admin":false},"repo":{"id":85989537,"name":"raven","full_name":"idaholab/raven","owner":{"login":"idaholab","id":3855370,"avatar_url":"https://avatars0.githubusercontent.com/u/3855370?v=4","gravatar_id":"","url":"https://api.github.com/users/idaholab","html_url":"https://github.com/idaholab","followers_url":"https://api.github.com/users/idaholab/followers","following_url":"https://api.github.com/users/idaholab/following{/other_user}","gists_url":"https://api.github.com/users/idaholab/gists{/gist_id}","starred_url":"https://api.github.com/users/idaholab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/idaholab/subscriptions","organizations_url":"https://api.github.com/users/idaholab/orgs","repos_url":"https://api.github.com/users/idaholab/repos","events_url":"https://api.github.com/users/idaholab/events{/privacy}","received_events_url":"https://api.github.com/users/idaholab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/idaholab/raven","description":"RAVEN is a flexible and multi-purpose probabilistic risk analysis, uncertainty quantification, parameter optimization and data knowledge-discovering framework.","fork":false,"url":"https://api.github.com/repos/idaholab/raven","forks_url":"https://api.github.com/repos/idaholab/raven/forks","keys_url":"https://api.github.com/repos/idaholab/raven/keys{/key_id}","collaborators_url":"https://api.github.com/repos/idaholab/raven/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/idaholab/raven/teams","hooks_url":"https://api.github.com/repos/idaholab/raven/hooks","issue_events_url":"https://api.github.com/repos/idaholab/raven/issues/events{/number}","events_url":"https://api.github.com/repos/idaholab/raven/events","assignees_url":"https://api.github.com/repos/idaholab/raven/assignees{/user}","branches_url":"https://api.github.com/repos/idaholab/raven/branches{/branch}","tags_url":"https://api.github.com/repos/idaholab/raven/tags","blobs_url":"https://api.github.com/repos/idaholab/raven/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/idaholab/raven/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/idaholab/raven/git/refs{/sha}","trees_url":"https://api.github.com/repos/idaholab/raven/git/trees{/sha}","statuses_url":"https://api.github.com/repos/idaholab/raven/statuses/{sha}","languages_url":"https://api.github.com/repos/idaholab/raven/languages","stargazers_url":"https://api.github.com/repos/idaholab/raven/stargazers","contributors_url":"https://api.github.com/repos/idaholab/raven/contributors","subscribers_url":"https://api.github.com/repos/idaholab/raven/subscribers","subscription_url":"https://api.github.com/repos/idaholab/raven/subscription","commits_url":"https://api.github.com/repos/idaholab/raven/commits{/sha}","git_commits_url":"https://api.github.com/repos/idaholab/raven/git/commits{/sha}","comments_url":"https://api.github.com/repos/idaholab/raven/comments{/number}","issue_comment_url":"https://api.github.com/repos/idaholab/raven/issues/comments{/number}","contents_url":"https://api.github.com/repos/idaholab/raven/contents/{+path}","compare_url":"https://api.github.com/repos/idaholab/raven/compare/{base}...{head}","merges_url":"https://api.github.com/repos/idaholab/raven/merges","archive_url":"https://api.github.com/repos/idaholab/raven/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/idaholab/raven/downloads","issues_url":"https://api.github.com/repos/idaholab/raven/issues{/number}","pulls_url":"https://api.github.com/repos/idaholab/raven/pulls{/number}","milestones_url":"https://api.github.com/repos/idaholab/raven/milestones{/number}","notifications_url":"https://api.github.com/repos/idaholab/raven/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/idaholab/raven/labels{/name}","releases_url":"https://api.github.com/repos/idaholab/raven/releases{/id}","deployments_url":"https://api.github.com/repos/idaholab/raven/deployments","created_at":"2017-03-23T19:29:27Z","updated_at":"2018-03-15T19:21:25Z","pushed_at":"2018-04-12T23:07:06Z","git_url":"git://github.com/idaholab/raven.git","ssh_url":"git@github.com:idaholab/raven.git","clone_url":"https://github.com/idaholab/raven.git","svn_url":"https://github.com/idaholab/raven","homepage":"https://raven.inl.gov/","size":513182,"stargazers_count":26,"watchers_count":26,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":24,"mirror_url":null,"archived":false,"open_issues_count":189,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":24,"open_issues":189,"watchers":26,"default_branch":"devel"}},"_links":{"self":{"href":"https://api.github.com/repos/idaholab/raven/pulls/510"},"html":{"href":"https://github.com/idaholab/raven/pull/510"},"issue":{"href":"https://api.github.com/repos/idaholab/raven/issues/510"},"comments":{"href":"https://api.github.com/repos/idaholab/raven/issues/510/comments"},"review_comments":{"href":"https://api.github.com/repos/idaholab/raven/pulls/510/comments"},"review_comment":{"href":"https://api.github.com/repos/idaholab/raven/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/idaholab/raven/pulls/510/commits"},"statuses":{"href":"https://api.github.com/repos/idaholab/raven/statuses/229724dbdf0b7362cb076ceb88a9adc3d4e5e0a7"}},"author_association":"NONE"}}
{"actor":{"display_login":"rouxpn"}}