{"action":"created","comment":{"url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/comments/58989851","id":58989851,"diff_hunk":"@@ -107,88 +110,141 @@ object PowerAPI extends App {\n   }\n \n   def cli(options: List[Map[Symbol, Any]], duration: String, args: List[String]): (List[Map[Symbol, Any]], String) = args match {\n-    case Nil => (options, duration)\n-    case \"modules\" :: value :: \"--prefix\" :: prefix :: \"monitor\" :: tail if validate(modulesR, value) => {\n+    case Nil =>\n+      (options, duration)\n+    case \"modules\" :: value :: \"--prefix\" :: prefix :: \"monitor\" :: tail if validate(modulesR, value) =>\n       val (remainingArgs, monitors) = cliMonitorsSubcommand(List(), Map(), tail.map(_.toString))\n       cli(options :+ Map('modules -> value, 'prefix -> Some(prefix), 'monitors -> monitors), duration, remainingArgs)\n-    }\n-    case \"modules\" :: value :: \"monitor\" :: tail if validate(modulesR, value) => {\n+    case \"modules\" :: value :: \"monitor\" :: tail if validate(modulesR, value) =>\n       val (remainingArgs, monitors) = cliMonitorsSubcommand(List(), Map(), tail.map(_.toString))\n       cli(options :+ Map('modules -> value, 'prefix -> None, 'monitors -> monitors), duration, remainingArgs)\n-    }\n-    case \"duration\" :: value :: tail if validate(durationR, value) => cli(options, value, tail)\n-    case option :: tail => println(s\"unknown cli option $option\"); sys.exit(1)\n+    case \"duration\" :: value :: tail if validate(durationR, value) =>\n+      cli(options, value, tail)\n+    case option :: tail =>\n+      println(s\"unknown cli option $option\")\n+      sys.exit(1)\n   }\n \n-  def cliMonitorsSubcommand(options: List[Map[Symbol, Any]], currentMonitor: Map[Symbol, Any], args: List[String]): (List[String], List[Map[Symbol, Any]]) = args match {\n-    case Nil => (List(), options :+ currentMonitor)\n-    case \"modules\" :: value :: \"--prefix\" :: prefix :: \"monitor\" :: tail if validate(modulesR, value) => (List(\"modules\", value, \"--prefix\", prefix, \"monitor\") ++ tail, options :+ currentMonitor)\n-    case \"modules\" :: value :: \"monitor\" :: tail if validate(modulesR, value) => (List(\"modules\", value, \"monitor\") ++ tail, options :+ currentMonitor)\n-    case \"duration\" :: value :: tail if validate(durationR, value) => (List(\"duration\", value) ++ tail, options :+ currentMonitor)\n-    case \"monitor\" :: tail => cliMonitorsSubcommand(options :+ currentMonitor, Map(), tail)\n-    case \"--frequency\" :: value :: tail if validate(durationR, value) => cliMonitorsSubcommand(options, currentMonitor ++ Map('frequency -> value), tail)\n-    case \"--self\" :: tail => cliMonitorsSubcommand(options, currentMonitor + ('targets -> (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] + Process(ManagementFactory.getRuntimeMXBean.getName.split(\"@\")(0).toInt))), tail)\n-    case \"--pids\" :: value :: tail if validate(pidsR, value) => cliMonitorsSubcommand(options, currentMonitor + ('targets -> (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] ++ value.split(\",\").map(pid => Process(pid.toInt)))), tail)\n-    case \"--apps\" :: value :: tail if validate(appsR, value) => cliMonitorsSubcommand(options, currentMonitor + ('targets -> (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] ++ value.split(\",\").map(app => Application(app)))), tail)\n-    case \"--containers\" :: value :: tail if validate(containersR, value) => cliMonitorsSubcommand(options, currentMonitor + ('targets -> (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] ++ value.split(\",\").map(container => Container(container)))), tail)\n-    case \"--all\" :: tail => cliMonitorsSubcommand(options, currentMonitor + ('targets -> (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] + All)), tail)\n-    case \"--agg\" :: value :: tail if validate(aggR, value) => cliMonitorsSubcommand(options, currentMonitor ++ Map('agg -> value), tail)\n-    case \"--console\" :: tail => cliMonitorsSubcommand(options, currentMonitor + ('displays -> (currentMonitor.getOrElse('displays, Set[Any]()).asInstanceOf[Set[Any]] + new ConsoleDisplay)), tail)\n-    case \"--file\" :: value :: tail => cliMonitorsSubcommand(options, currentMonitor + ('displays -> (currentMonitor.getOrElse('displays, Set[Any]()).asInstanceOf[Set[Any]] + new FileDisplay(value))), tail)\n-    case \"--chart\" :: tail => cliMonitorsSubcommand(options, currentMonitor + ('displays -> (currentMonitor.getOrElse('displays, Set[Any]()).asInstanceOf[Set[Any]] + new JFreeChartDisplay)), tail)\n-    case option :: tail => println(s\"unknown monitor option $option\"); sys.exit(1)\n+  def cliMonitorsSubcommand(options: List[Map[Symbol, Any]], currentMonitor: Map[Symbol, Any],\n+                            args: List[String]): (List[String], List[Map[Symbol, Any]]) = args match {\n+    case Nil =>\n+      (List(), options :+ currentMonitor)\n+    case \"modules\" :: value :: \"--prefix\" :: prefix :: \"monitor\" :: tail if validate(modulesR, value) =>\n+      (List(\"modules\", value, \"--prefix\", prefix, \"monitor\") ++ tail, options :+ currentMonitor)\n+    case \"modules\" :: value :: \"monitor\" :: tail if validate(modulesR, value) =>\n+      (List(\"modules\", value, \"monitor\") ++ tail, options :+ currentMonitor)\n+    case \"duration\" :: value :: tail if validate(durationR, value) =>\n+      (List(\"duration\", value) ++ tail, options :+ currentMonitor)\n+    case \"monitor\" :: tail =>\n+      cliMonitorsSubcommand(options :+ currentMonitor, Map(), tail)\n+    case \"--frequency\" :: value :: tail if validate(durationR, value) =>\n+      cliMonitorsSubcommand(options, currentMonitor ++ Map('frequency -> value), tail)\n+    case \"--self\" :: tail =>\n+      cliMonitorsSubcommand(options,\n+        currentMonitor + ('targets ->\n+          (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] + Process(ManagementFactory.getRuntimeMXBean.getName.split(\"@\")(0).toInt))\n+      ), tail)\n+    case \"--pids\" :: value :: tail if validate(pidsR, value) =>\n+      cliMonitorsSubcommand(options,\n+        currentMonitor + ('targets ->\n+          (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] ++ value.split(\",\").map(pid => Process(pid.toInt)))\n+      ), tail)\n+    case \"--apps\" :: value :: tail if validate(appsR, value) =>\n+      cliMonitorsSubcommand(options, currentMonitor + ('targets ->\n+        (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] ++ value.split(\",\").map(app => Application(app)))\n+      ), tail)\n+    case \"--containers\" :: value :: tail if validate(containersR, value) =>\n+      cliMonitorsSubcommand(options, currentMonitor + ('targets ->\n+        (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] ++ value.split(\",\").map(container => Container(container)))\n+      ), tail)\n+    case \"--all\" :: tail =>\n+      cliMonitorsSubcommand(options, currentMonitor + ('targets ->\n+        (currentMonitor.getOrElse('targets, Set[Any]()).asInstanceOf[Set[Any]] + All)\n+      ), tail)\n+    case \"--agg\" :: value :: tail if validate(aggR, value) =>\n+      cliMonitorsSubcommand(options, currentMonitor ++ Map('agg -> value), tail)\n+    case \"--console\" :: tail =>\n+      cliMonitorsSubcommand(options, currentMonitor + ('displays ->\n+        (currentMonitor.getOrElse('displays, Set[Any]()).asInstanceOf[Set[Any]] + new ConsoleDisplay)\n+      ), tail)\n+    case \"--file\" :: value :: tail =>\n+      cliMonitorsSubcommand(options, currentMonitor + ('displays ->\n+        (currentMonitor.getOrElse('displays, Set[Any]()).asInstanceOf[Set[Any]] + new FileDisplay(value))\n+      ), tail)\n+    case \"--chart\" :: tail =>\n+      cliMonitorsSubcommand(options, currentMonitor + ('displays ->\n+        (currentMonitor.getOrElse('displays, Set[Any]()).asInstanceOf[Set[Any]] + new JFreeChartDisplay)\n+      ), tail)\n+    case \"--influx\" :: host :: user :: pwd :: db :: measurement :: tail =>\n+      cliMonitorsSubcommand(options, currentMonitor + ('displays ->\n+        (currentMonitor.getOrElse('displays, Set[Any]()).asInstanceOf[Set[Any]] + new InfluxDisplay(host, user, pwd, db, measurement))\n+      ), tail)\n+    case option :: tail =>\n+      println(s\"unknown monitor option $option\")\n+      sys.exit(1)\n   }\n \n-  if(args.size == 0) {\n+  if (args.isEmpty) {\n     printHelp()\n     sys.exit(1)\n   }\n \n   else {\n-    if(System.getProperty(\"os.name\").toLowerCase.indexOf(\"nix\") >= 0 || System.getProperty(\"os.name\").toLowerCase.indexOf(\"nux\") >= 0) Seq(\"bash\", \"scripts/system.bash\").!\n-    System.setProperty(\"java.library.path\", \"lib\")\n+    if (System.getProperty(\"os.name\").toLowerCase.indexOf(\"nix\") >= 0 || System.getProperty(\"os.name\").toLowerCase.indexOf(\"nux\") >= 0) {\n+      Seq(\"bash\", \"scripts/system.bash\").!\n+    }\n \n     val (configuration, duration) = cli(List(), \"3600\", args.toList)\n \n     var libpfmHelper: Option[LibpfmHelper] = None\n \n-    if(configuration.count(powerMeterConf => powerMeterConf('modules).toString.contains(\"libpfm\")) != 0) {\n+    if (configuration.count(powerMeterConf => powerMeterConf('modules).toString.contains(\"libpfm\")) != 0) {\n       libpfmHelper = Some(new LibpfmHelper)\n       libpfmHelper.get.init()\n     }\n \n-    for(powerMeterConf <- configuration) {\n-      val modules = (for(module <- powerMeterConf('modules).toString.split(\",\")) yield {\n+    for (powerMeterConf <- configuration) {","path":"powerapi-cli/src/main/scala/org/powerapi/app/PowerAPI.scala","position":189,"original_position":189,"commit_id":"6cba59f9e3cd47bcfff2eb10c607cef3e48419cf","original_commit_id":"6cba59f9e3cd47bcfff2eb10c607cef3e48419cf","user":{"login":"sputnikci","id":15047461,"avatar_url":"https://avatars.githubusercontent.com/u/15047461?v=3","gravatar_id":"","url":"https://api.github.com/users/sputnikci","html_url":"https://github.com/sputnikci","followers_url":"https://api.github.com/users/sputnikci/followers","following_url":"https://api.github.com/users/sputnikci/following{/other_user}","gists_url":"https://api.github.com/users/sputnikci/gists{/gist_id}","starred_url":"https://api.github.com/users/sputnikci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sputnikci/subscriptions","organizations_url":"https://api.github.com/users/sputnikci/orgs","repos_url":"https://api.github.com/users/sputnikci/repos","events_url":"https://api.github.com/users/sputnikci/events{/privacy}","received_events_url":"https://api.github.com/users/sputnikci/received_events","type":"User","site_admin":false},"body":"[Scalastyle] WARNING: Use braces in for comprehensions","created_at":"2016-04-08T07:38:32Z","updated_at":"2016-04-08T07:38:32Z","html_url":"https://github.com/Spirals-Team/powerapi/pull/81#discussion_r58989851","pull_request_url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81","_links":{"self":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/comments/58989851"},"html":{"href":"https://github.com/Spirals-Team/powerapi/pull/81#discussion_r58989851"},"pull_request":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81"}}},"pull_request":{"url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81","id":65621822,"html_url":"https://github.com/Spirals-Team/powerapi/pull/81","diff_url":"https://github.com/Spirals-Team/powerapi/pull/81.diff","patch_url":"https://github.com/Spirals-Team/powerapi/pull/81.patch","issue_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues/81","number":81,"state":"open","locked":false,"title":"feature(v4.0): refactoring","user":{"login":"mcolmant","id":5645602,"avatar_url":"https://avatars.githubusercontent.com/u/5645602?v=3","gravatar_id":"","url":"https://api.github.com/users/mcolmant","html_url":"https://github.com/mcolmant","followers_url":"https://api.github.com/users/mcolmant/followers","following_url":"https://api.github.com/users/mcolmant/following{/other_user}","gists_url":"https://api.github.com/users/mcolmant/gists{/gist_id}","starred_url":"https://api.github.com/users/mcolmant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcolmant/subscriptions","organizations_url":"https://api.github.com/users/mcolmant/orgs","repos_url":"https://api.github.com/users/mcolmant/repos","events_url":"https://api.github.com/users/mcolmant/events{/privacy}","received_events_url":"https://api.github.com/users/mcolmant/received_events","type":"User","site_admin":false},"body":"Each base component has now is own supervisor, a Clock is not started automatically anymore (allows to have external \"ticks\", a new display for InfluxDB was written.\r\nTravis-ci is now used to publish automatically the artefacts when a tag is created.","created_at":"2016-04-07T12:31:39Z","updated_at":"2016-04-08T07:38:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6d25160b85e91880e27493ea8bc2fdd4272018ee","assignee":{"login":"mcolmant","id":5645602,"avatar_url":"https://avatars.githubusercontent.com/u/5645602?v=3","gravatar_id":"","url":"https://api.github.com/users/mcolmant","html_url":"https://github.com/mcolmant","followers_url":"https://api.github.com/users/mcolmant/followers","following_url":"https://api.github.com/users/mcolmant/following{/other_user}","gists_url":"https://api.github.com/users/mcolmant/gists{/gist_id}","starred_url":"https://api.github.com/users/mcolmant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mcolmant/subscriptions","organizations_url":"https://api.github.com/users/mcolmant/orgs","repos_url":"https://api.github.com/users/mcolmant/repos","events_url":"https://api.github.com/users/mcolmant/events{/privacy}","received_events_url":"https://api.github.com/users/mcolmant/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81/commits","review_comments_url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81/comments","review_comment_url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues/81/comments","statuses_url":"https://api.github.com/repos/Spirals-Team/powerapi/statuses/6cba59f9e3cd47bcfff2eb10c607cef3e48419cf","head":{"label":"Spirals-Team:develop","ref":"develop","sha":"6cba59f9e3cd47bcfff2eb10c607cef3e48419cf","user":{"login":"Spirals-Team","id":9421796,"avatar_url":"https://avatars.githubusercontent.com/u/9421796?v=3","gravatar_id":"","url":"https://api.github.com/users/Spirals-Team","html_url":"https://github.com/Spirals-Team","followers_url":"https://api.github.com/users/Spirals-Team/followers","following_url":"https://api.github.com/users/Spirals-Team/following{/other_user}","gists_url":"https://api.github.com/users/Spirals-Team/gists{/gist_id}","starred_url":"https://api.github.com/users/Spirals-Team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spirals-Team/subscriptions","organizations_url":"https://api.github.com/users/Spirals-Team/orgs","repos_url":"https://api.github.com/users/Spirals-Team/repos","events_url":"https://api.github.com/users/Spirals-Team/events{/privacy}","received_events_url":"https://api.github.com/users/Spirals-Team/received_events","type":"Organization","site_admin":false},"repo":{"id":25962309,"name":"powerapi","full_name":"Spirals-Team/powerapi","owner":{"login":"Spirals-Team","id":9421796,"avatar_url":"https://avatars.githubusercontent.com/u/9421796?v=3","gravatar_id":"","url":"https://api.github.com/users/Spirals-Team","html_url":"https://github.com/Spirals-Team","followers_url":"https://api.github.com/users/Spirals-Team/followers","following_url":"https://api.github.com/users/Spirals-Team/following{/other_user}","gists_url":"https://api.github.com/users/Spirals-Team/gists{/gist_id}","starred_url":"https://api.github.com/users/Spirals-Team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spirals-Team/subscriptions","organizations_url":"https://api.github.com/users/Spirals-Team/orgs","repos_url":"https://api.github.com/users/Spirals-Team/repos","events_url":"https://api.github.com/users/Spirals-Team/events{/privacy}","received_events_url":"https://api.github.com/users/Spirals-Team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Spirals-Team/powerapi","description":"PowerAPI is a middleware toolkit for building software-defined power meters","fork":false,"url":"https://api.github.com/repos/Spirals-Team/powerapi","forks_url":"https://api.github.com/repos/Spirals-Team/powerapi/forks","keys_url":"https://api.github.com/repos/Spirals-Team/powerapi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Spirals-Team/powerapi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Spirals-Team/powerapi/teams","hooks_url":"https://api.github.com/repos/Spirals-Team/powerapi/hooks","issue_events_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues/events{/number}","events_url":"https://api.github.com/repos/Spirals-Team/powerapi/events","assignees_url":"https://api.github.com/repos/Spirals-Team/powerapi/assignees{/user}","branches_url":"https://api.github.com/repos/Spirals-Team/powerapi/branches{/branch}","tags_url":"https://api.github.com/repos/Spirals-Team/powerapi/tags","blobs_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/refs{/sha}","trees_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Spirals-Team/powerapi/statuses/{sha}","languages_url":"https://api.github.com/repos/Spirals-Team/powerapi/languages","stargazers_url":"https://api.github.com/repos/Spirals-Team/powerapi/stargazers","contributors_url":"https://api.github.com/repos/Spirals-Team/powerapi/contributors","subscribers_url":"https://api.github.com/repos/Spirals-Team/powerapi/subscribers","subscription_url":"https://api.github.com/repos/Spirals-Team/powerapi/subscription","commits_url":"https://api.github.com/repos/Spirals-Team/powerapi/commits{/sha}","git_commits_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/commits{/sha}","comments_url":"https://api.github.com/repos/Spirals-Team/powerapi/comments{/number}","issue_comment_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues/comments{/number}","contents_url":"https://api.github.com/repos/Spirals-Team/powerapi/contents/{+path}","compare_url":"https://api.github.com/repos/Spirals-Team/powerapi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Spirals-Team/powerapi/merges","archive_url":"https://api.github.com/repos/Spirals-Team/powerapi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Spirals-Team/powerapi/downloads","issues_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues{/number}","pulls_url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls{/number}","milestones_url":"https://api.github.com/repos/Spirals-Team/powerapi/milestones{/number}","notifications_url":"https://api.github.com/repos/Spirals-Team/powerapi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Spirals-Team/powerapi/labels{/name}","releases_url":"https://api.github.com/repos/Spirals-Team/powerapi/releases{/id}","deployments_url":"https://api.github.com/repos/Spirals-Team/powerapi/deployments","created_at":"2014-10-30T08:53:21Z","updated_at":"2016-03-11T00:42:15Z","pushed_at":"2016-04-08T07:09:08Z","git_url":"git://github.com/Spirals-Team/powerapi.git","ssh_url":"git@github.com:Spirals-Team/powerapi.git","clone_url":"https://github.com/Spirals-Team/powerapi.git","svn_url":"https://github.com/Spirals-Team/powerapi","homepage":"http://powerapi.org","size":8202,"stargazers_count":23,"watchers_count":23,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":5,"mirror_url":null,"open_issues_count":2,"forks":5,"open_issues":2,"watchers":23,"default_branch":"master"}},"base":{"label":"Spirals-Team:master","ref":"master","sha":"61b8f4653ce7f3ca3d1d0f85af4edd8ffa98729a","user":{"login":"Spirals-Team","id":9421796,"avatar_url":"https://avatars.githubusercontent.com/u/9421796?v=3","gravatar_id":"","url":"https://api.github.com/users/Spirals-Team","html_url":"https://github.com/Spirals-Team","followers_url":"https://api.github.com/users/Spirals-Team/followers","following_url":"https://api.github.com/users/Spirals-Team/following{/other_user}","gists_url":"https://api.github.com/users/Spirals-Team/gists{/gist_id}","starred_url":"https://api.github.com/users/Spirals-Team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spirals-Team/subscriptions","organizations_url":"https://api.github.com/users/Spirals-Team/orgs","repos_url":"https://api.github.com/users/Spirals-Team/repos","events_url":"https://api.github.com/users/Spirals-Team/events{/privacy}","received_events_url":"https://api.github.com/users/Spirals-Team/received_events","type":"Organization","site_admin":false},"repo":{"id":25962309,"name":"powerapi","full_name":"Spirals-Team/powerapi","owner":{"login":"Spirals-Team","id":9421796,"avatar_url":"https://avatars.githubusercontent.com/u/9421796?v=3","gravatar_id":"","url":"https://api.github.com/users/Spirals-Team","html_url":"https://github.com/Spirals-Team","followers_url":"https://api.github.com/users/Spirals-Team/followers","following_url":"https://api.github.com/users/Spirals-Team/following{/other_user}","gists_url":"https://api.github.com/users/Spirals-Team/gists{/gist_id}","starred_url":"https://api.github.com/users/Spirals-Team/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Spirals-Team/subscriptions","organizations_url":"https://api.github.com/users/Spirals-Team/orgs","repos_url":"https://api.github.com/users/Spirals-Team/repos","events_url":"https://api.github.com/users/Spirals-Team/events{/privacy}","received_events_url":"https://api.github.com/users/Spirals-Team/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Spirals-Team/powerapi","description":"PowerAPI is a middleware toolkit for building software-defined power meters","fork":false,"url":"https://api.github.com/repos/Spirals-Team/powerapi","forks_url":"https://api.github.com/repos/Spirals-Team/powerapi/forks","keys_url":"https://api.github.com/repos/Spirals-Team/powerapi/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Spirals-Team/powerapi/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Spirals-Team/powerapi/teams","hooks_url":"https://api.github.com/repos/Spirals-Team/powerapi/hooks","issue_events_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues/events{/number}","events_url":"https://api.github.com/repos/Spirals-Team/powerapi/events","assignees_url":"https://api.github.com/repos/Spirals-Team/powerapi/assignees{/user}","branches_url":"https://api.github.com/repos/Spirals-Team/powerapi/branches{/branch}","tags_url":"https://api.github.com/repos/Spirals-Team/powerapi/tags","blobs_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/refs{/sha}","trees_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Spirals-Team/powerapi/statuses/{sha}","languages_url":"https://api.github.com/repos/Spirals-Team/powerapi/languages","stargazers_url":"https://api.github.com/repos/Spirals-Team/powerapi/stargazers","contributors_url":"https://api.github.com/repos/Spirals-Team/powerapi/contributors","subscribers_url":"https://api.github.com/repos/Spirals-Team/powerapi/subscribers","subscription_url":"https://api.github.com/repos/Spirals-Team/powerapi/subscription","commits_url":"https://api.github.com/repos/Spirals-Team/powerapi/commits{/sha}","git_commits_url":"https://api.github.com/repos/Spirals-Team/powerapi/git/commits{/sha}","comments_url":"https://api.github.com/repos/Spirals-Team/powerapi/comments{/number}","issue_comment_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues/comments{/number}","contents_url":"https://api.github.com/repos/Spirals-Team/powerapi/contents/{+path}","compare_url":"https://api.github.com/repos/Spirals-Team/powerapi/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Spirals-Team/powerapi/merges","archive_url":"https://api.github.com/repos/Spirals-Team/powerapi/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Spirals-Team/powerapi/downloads","issues_url":"https://api.github.com/repos/Spirals-Team/powerapi/issues{/number}","pulls_url":"https://api.github.com/repos/Spirals-Team/powerapi/pulls{/number}","milestones_url":"https://api.github.com/repos/Spirals-Team/powerapi/milestones{/number}","notifications_url":"https://api.github.com/repos/Spirals-Team/powerapi/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Spirals-Team/powerapi/labels{/name}","releases_url":"https://api.github.com/repos/Spirals-Team/powerapi/releases{/id}","deployments_url":"https://api.github.com/repos/Spirals-Team/powerapi/deployments","created_at":"2014-10-30T08:53:21Z","updated_at":"2016-03-11T00:42:15Z","pushed_at":"2016-04-08T07:09:08Z","git_url":"git://github.com/Spirals-Team/powerapi.git","ssh_url":"git@github.com:Spirals-Team/powerapi.git","clone_url":"https://github.com/Spirals-Team/powerapi.git","svn_url":"https://github.com/Spirals-Team/powerapi","homepage":"http://powerapi.org","size":8202,"stargazers_count":23,"watchers_count":23,"language":"Scala","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":5,"mirror_url":null,"open_issues_count":2,"forks":5,"open_issues":2,"watchers":23,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81"},"html":{"href":"https://github.com/Spirals-Team/powerapi/pull/81"},"issue":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/issues/81"},"comments":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/issues/81/comments"},"review_comments":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81/comments"},"review_comment":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/pulls/81/commits"},"statuses":{"href":"https://api.github.com/repos/Spirals-Team/powerapi/statuses/6cba59f9e3cd47bcfff2eb10c607cef3e48419cf"}}}}