Hello community, here is the log from the commit of package python-halite for openSUSE:Factory checked in at 2014-05-15 19:15:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-halite (Old) and /work/SRC/openSUSE:Factory/.python-halite.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-halite" Changes: -------- --- /work/SRC/openSUSE:Factory/python-halite/python-halite.changes 2014-04-09 13:15:39.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-halite.new/python-halite.changes 2014-05-15 19:15:47.000000000 +0200 @@ -1,0 +2,14 @@ +Wed May 14 17:52:20 UTC 2014 - aboe76@gmail.com + +- Updated to 0.1.17 +- New Features: + - Add event source kill switch + - Improve command error handling + - Add salt service +- Bug Fixes: + - Fix bug with command panel + - Tweak fetchGrains logic so that job completion (prior to HTTP returns) are handled + - Make sure text files don't have exec bit set + - Update spec (thanks to Erik Johnson) + +------------------------------------------------------------------- Old: ---- halite-0.1.16.tar.gz New: ---- halite-0.1.17.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-halite.spec ++++++ --- /var/tmp/diff_new_pack.wzDQEt/_old 2014-05-15 19:15:48.000000000 +0200 +++ /var/tmp/diff_new_pack.wzDQEt/_new 2014-05-15 19:15:48.000000000 +0200 @@ -17,7 +17,7 @@ Name: python-halite -Version: 0.1.16 +Version: 0.1.17 Release: 1%{?dist} Summary: Halite the salt Web UI License: Apache-2.0 @@ -54,12 +54,6 @@ %install python setup.py install --prefix=%{_prefix} --root=%{buildroot} %fdupes %{buildroot}%{_prefix} -# quick fix for rpmlint -# upstream issue: -# https://github.com/saltstack/lattice/issues/15 -chmod a-x %{buildroot}%{python_sitelib}/halite/lattice/lib/angular/i18n/*.js -chmod a-x %{buildroot}%{python_sitelib}/halite/lattice/lib/angular/*.js -chmod a-x %{buildroot}%{python_sitelib}/halite/lattice/lib/angular/*.js.map %files %defattr(-,root,root) ++++++ halite-0.1.16.tar.gz -> halite-0.1.17.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/PKG-INFO new/halite-0.1.17/PKG-INFO --- old/halite-0.1.16/PKG-INFO 2014-04-07 16:29:08.000000000 +0200 +++ new/halite-0.1.17/PKG-INFO 2014-05-14 16:42:57.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: halite -Version: 0.1.16 +Version: 0.1.17 Summary: SaltStack Web UI Home-page: https://github.com/saltstack/halite Author: SaltStack Inc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/appConfigSrvc.js new/halite-0.1.17/halite/lattice/app/appConfigSrvc.js --- old/halite-0.1.16/halite/lattice/app/appConfigSrvc.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/appConfigSrvc.js 2014-05-14 16:18:53.000000000 +0200 @@ -4,8 +4,8 @@ configuration = { baseUrl: "", - date: "2014-04-07", - version: "0.1.16", + date: "2014-05-15", + version: "0.1.17", views: { home: { label: "home", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/main.html new/halite-0.1.17/halite/lattice/app/main.html --- old/halite-0.1.16/halite/lattice/app/main.html 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/main.html 2014-05-14 16:18:53.000000000 +0200 @@ -68,6 +68,7 @@ <script src="/static/app/util/highstateCheckSrvc.js" type="text/javascript"></script> <script src="/static/app/util/jobSrvc.js" type="text/javascript"></script> <script src="/static/app/util/saltApiSrvc.js" type="text/javascript"></script> + <script src="/static/app/util/saltSrvc.js" type="text/javascript"></script> <script src="/static/app/view/base.js" type="text/javascript"></script> <script src="/static/app/view/console.js" type="text/javascript"></script> <script src="/static/app/view/home.js" type="text/javascript"></script> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/main.js new/halite-0.1.17/halite/lattice/app/main.js --- old/halite-0.1.16/halite/lattice/app/main.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/main.js 2014-05-14 16:18:53.000000000 +0200 @@ -2,7 +2,7 @@ (function() { var mainApp; - mainApp = angular.module("MainApp", ['ngRoute', 'ngCookies', 'ngAnimate', 'appConfigSrvc', 'appPrefSrvc', 'appDataSrvc', 'appStoreSrvc', 'appUtilSrvc', 'appFltr', 'appDrtv', 'saltApiSrvc', 'demoSrvc', 'errorReportingSrvc', 'highstateCheckSrvc', 'eventSrvc', 'jobSrvc']); + mainApp = angular.module("MainApp", ['ngRoute', 'ngCookies', 'ngAnimate', 'appConfigSrvc', 'appPrefSrvc', 'appDataSrvc', 'appStoreSrvc', 'appUtilSrvc', 'appFltr', 'appDrtv', 'saltApiSrvc', 'demoSrvc', 'errorReportingSrvc', 'highstateCheckSrvc', 'eventSrvc', 'jobSrvc', 'saltSrvc', 'fetchActivesSrvc']); mainApp.constant('MainConstants', { name: 'Halite', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/navbar.html new/halite-0.1.17/halite/lattice/app/navbar.html --- old/halite-0.1.16/halite/lattice/app/navbar.html 2014-04-02 04:53:54.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/navbar.html 2014-05-14 16:15:22.000000000 +0200 @@ -22,8 +22,8 @@ <span ng-style="{color:'red'}" ng-cloak ng-show="loginFormError()">{{loginFormError()}} </span> </div> <div class="form-group"> - <input class="span2" type="text" placeholder="Username" ng-model="login.username" name="username" required> - <input class="span2" type="password" placeholder="Password" ng-model="login.password" name="password" required> + <input class="span2" type="text" placeholder="Username" ng-model="login.username" name="username" required ss-autofill-workaround> + <input class="span2" type="password" placeholder="Password" ng-model="login.password" name="password" required ss-autofill-workaround> <button type="submit" class="btn btn-default btn-sm" id="login-button" ng-click="loginUser()" ng-disabled="loginForm.$invalid">Login</button> </div> </form> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/appDrtv.js new/halite-0.1.17/halite/lattice/app/util/appDrtv.js --- old/halite-0.1.16/halite/lattice/app/util/appDrtv.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/util/appDrtv.js 2014-05-14 16:18:53.000000000 +0200 @@ -10,6 +10,55 @@ appDrtv = angular.module("appDrtv", []); + appDrtv.directive('ssInputName', [ + '$interpolate', function($interpolate) { + var ddo; + ddo = { + restrict: 'A', + require: ['?ngModel', '^?form'], + link: function($scope, elm, attrs, ctrls) { + var ex, formCtrl, modelCtrl, nameTransformed; + ex = $interpolate(elm.attr(attrs.$attr.ssInputName)); + nameTransformed = ex($scope); + modelCtrl = ctrls[0]; + modelCtrl.$name = nameTransformed; + elm.attr("name", nameTransformed); + formCtrl = ctrls[1]; + formCtrl.$addControl(modelCtrl); + return true; + } + }; + return ddo; + } + ]); + + + /* + Workaround so that model values are updated after autofill. + Please look at https://github.com/angular/angular.js/issues/1460 for + more details. + */ + + appDrtv.directive("ssAutofillWorkaround", [ + "$timeout", function($timeout) { + var ddo; + ddo = { + restrict: 'A', + require: 'ngModel', + link: function(scope, attrs, element, modelController) { + $timeout(function() { + var preFilledValue; + preFilledValue = element.$$element[0].value; + if (modelController.$pristine && (preFilledValue != null) && preFilledValue !== '') { + return modelController.$setViewValue(preFilledValue); + } + }, 1000); + } + }; + return ddo; + } + ]); + appDrtv.directive("ssProgress", function() { var ddo; ddo = { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/fetchActivesSrvc.js new/halite-0.1.17/halite/lattice/app/util/fetchActivesSrvc.js --- old/halite-0.1.16/halite/lattice/app/util/fetchActivesSrvc.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/util/fetchActivesSrvc.js 2014-05-14 16:18:53.000000000 +0200 @@ -1,21 +1,69 @@ // Generated by CoffeeScript 1.7.1 (function() { - angular.module("fetchActivesSrvc", ['appConfigSrvc', 'appUtilSrvc', 'saltApiSrvc']).factory("FetchActives", [ - 'AppData', 'Itemizer', 'SaltApiSrvc', '$q', function(AppData, Itemizer, SaltApiSrvc, $q) { - var minions, servicer; - if (AppData.get('minions') == null) { - AppData.set('minions', new Itemizer()); - } - minions = AppData.get('minions'); + angular.module("fetchActivesSrvc", ['appConfigSrvc', 'appUtilSrvc', 'saltApiSrvc', 'jobSrvc']).factory("FetchActives", [ + 'AppData', 'Itemizer', 'SaltApiSrvc', '$q', 'JobDelegate', function(AppData, Itemizer, SaltApiSrvc, $q, JobDelegate) { + var servicer; servicer = { - fetchActives: function($scope, success, error) { - var cmd; + setActives: function(activeMinions) { + var inactiveMinions, mid, minion, _i, _j, _len, _len1; + inactiveMinions = _.difference(AppData.getMinions().keys(), activeMinions); + for (_i = 0, _len = activeMinions.length; _i < _len; _i++) { + mid = activeMinions[_i]; + minion = JobDelegate.snagMinion(mid); + minion.activize(); + } + for (_j = 0, _len1 = inactiveMinions.length; _j < _len1; _j++) { + mid = inactiveMinions[_j]; + minion = JobDelegate.snagMinion(mid); + minion.unlinkJobs(); + minion.deactivize(); + } + }, + assignActives: function(job) { + var mid, result, _i, _len, _ref, _ref1; + _ref = job.results.items(); + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + _ref1 = _ref[_i], mid = _ref1.key, result = _ref1.val; + if (!result.fail) { + this.setActives(result["return"]); + } + } + }, + fetchActives: function($scope, salt) { + var cmd, defer; + defer = $q.defer(); cmd = { mode: "async", fun: "runner.manage.present" }; - $scope.fetchActivesCmd = cmd; - return SaltApiSrvc.run($scope, [cmd]); + SaltApiSrvc.run($scope, [cmd]).success((function(_this) { + return function(data, status, headers, config) { + var job, result, _ref; + result = (_ref = data["return"]) != null ? _ref[0] : void 0; + if (result) { + job = JobDelegate.startRun(result, cmd); + if (job.done) { + _this.assignActives(job); + defer.resolve({ + 'success': true + }); + return; + } + job.commit($q).then(function(donejob) { + _this.assignActives(donejob); + defer.resolve({ + 'success': true + }); + }); + } + }; + })(this)).error(function(error) { + salt.fetchActivesFailed(); + defer.reject({ + 'success': false + }); + }); + return defer.promise; } }; return servicer; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/jobSrvc.js new/halite-0.1.17/halite/lattice/app/util/jobSrvc.js --- old/halite-0.1.16/halite/lattice/app/util/jobSrvc.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/util/jobSrvc.js 2014-05-14 16:18:53.000000000 +0200 @@ -7,7 +7,11 @@ */ (function() { - angular.module("jobSrvc", ['appUtilSrvc']).factory("JobDelegate", [ + var jobSrvc; + + jobSrvc = angular.module("jobSrvc", ['appUtilSrvc']); + + jobSrvc.factory("JobDelegate", [ 'AppData', 'Itemizer', 'Wheeler', 'Jobber', 'Minioner', 'Runner', function(AppData, Itemizer, Wheeler, Jobber, Minioner, Runner) { var events, servicer; if (AppData.get('events') == null) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/saltApiSrvc.js new/halite-0.1.17/halite/lattice/app/util/saltApiSrvc.js --- old/halite-0.1.16/halite/lattice/app/util/saltApiSrvc.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/util/saltApiSrvc.js 2014-05-14 16:18:53.000000000 +0200 @@ -25,7 +25,7 @@ (function() { var saltApiSrvc; - saltApiSrvc = angular.module("saltApiSrvc", ['appConfigSrvc', 'appPrefSrvc', 'appStoreSrvc']); + saltApiSrvc = angular.module("saltApiSrvc", ['appConfigSrvc', 'appPrefSrvc', 'appStoreSrvc', 'errorReportingSrvc']); saltApiSrvc.factory("SaltApiSrvc", [ '$http', 'Configuration', 'AppPref', 'SessionStore', function($http, Configuration, AppPref, SessionStore) { @@ -178,8 +178,8 @@ */ saltApiSrvc.factory("SaltApiEvtSrvc", [ - '$rootScope', '$http', 'AppPref', 'SessionStore', '$q', function($rootScope, $http, AppPref, SessionStore, $q) { - var base, defer, onError, onMessage, onOpen, saltApi, servicer, sse; + '$rootScope', '$http', 'AppPref', 'SessionStore', '$q', 'ErrorReporter', function($rootScope, $http, AppPref, SessionStore, $q, ErrorReporter) { + var base, counter, defer, onError, onMessage, onOpen, saltApi, servicer, sse; saltApi = AppPref.get('saltApi'); if (saltApi.scheme || saltApi.host || saltApi.port) { if (!saltApi.scheme) { @@ -199,7 +199,16 @@ $http.defaults.useXDomain = true; defer = null; sse = null; + counter = 0; onError = function(event) { + var retries; + counter = counter + 1; + retries = AppPref.get('SseRetries') || 50; + if (counter > retries) { + ErrorReporter.addAlert('danger', "Event Stream Connection Lost! Please check server connection and refresh the page."); + servicer.close(); + $rootScope.$apply(); + } if (defer != null) { console.log("SSE Open Error"); $rootScope.$apply(defer.reject("SSE Errored")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/util/saltSrvc.js new/halite-0.1.17/halite/lattice/app/util/saltSrvc.js --- old/halite-0.1.16/halite/lattice/app/util/saltSrvc.js 1970-01-01 01:00:00.000000000 +0100 +++ new/halite-0.1.17/halite/lattice/app/util/saltSrvc.js 2014-05-14 16:18:53.000000000 +0200 @@ -0,0 +1,45 @@ +// Generated by CoffeeScript 1.7.1 + +/* +Salt Service + +Exposes Salt's data model. + +Queries salt for minions at boot time. + */ + +(function() { + angular.module("saltSrvc", ["saltApiSrvc", "appDataSrvc"]).factory("Salt", [ + 'FetchActives', 'AppData', function(FetchActives, AppData) { + var servicer; + servicer = { + boot: (function(_this) { + return function(successCallback, errorCallback) { + FetchActives.fetchActives({}, _this).then(function(status) { + return successCallback(servicer); + }, function(status) { + return errorCallback(_this); + }); + }; + })(this), + getMinions: (function(_this) { + return function() { + return AppData.getMinions(); + }; + })(this), + getJobs: (function(_this) { + return function() { + return AppData.getJobs(); + }; + })(this), + getCommands: (function(_this) { + return function() { + return AppData.getCommands(); + }; + })(this) + }; + return servicer; + } + ]); + +}).call(this); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/view/base.js new/halite-0.1.17/halite/lattice/app/view/base.js --- old/halite-0.1.16/halite/lattice/app/view/base.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/view/base.js 2014-05-14 16:18:53.000000000 +0200 @@ -5,10 +5,16 @@ mainApp = angular.module("MainApp"); mainApp.controller('BaseController', [ - '$scope', '$location', '$route', '$q', '$filter', '$templateCache', '$timeout', 'Configuration', 'AppData', 'AppPref', 'Item', 'Itemizer', 'Minioner', 'Resulter', 'Jobber', 'ArgInfo', 'Runner', 'Wheeler', 'Commander', 'Pagerage', 'SaltApiSrvc', 'SaltApiEvtSrvc', 'SessionStore', 'ErrorReporter', 'HighstateCheck', 'EventDelegate', 'JobDelegate', '$filter', function($scope, $location, $route, $q, $filter, $templateCache, $timeout, Configuration, AppData, AppPref, Item, Itemizer, Minioner, Resulter, Jobber, ArgInfo, Runner, Wheeler, Commander, Pagerage, SaltApiSrvc, SaltApiEvtSrvc, SessionStore, ErrorReporter, HighstateCheck, EventDelegate, JobDelegate) { + '$scope', '$location', '$route', '$q', '$filter', '$templateCache', '$timeout', 'Configuration', 'AppData', 'AppPref', 'Item', 'Itemizer', 'Minioner', 'Resulter', 'Jobber', 'ArgInfo', 'Runner', 'Wheeler', 'Commander', 'Pagerage', 'SaltApiSrvc', 'SaltApiEvtSrvc', 'SessionStore', 'ErrorReporter', 'HighstateCheck', 'EventDelegate', 'JobDelegate', 'FetchActives', 'Salt', '$filter', function($scope, $location, $route, $q, $filter, $templateCache, $timeout, Configuration, AppData, AppPref, Item, Itemizer, Minioner, Resulter, Jobber, ArgInfo, Runner, Wheeler, Commander, Pagerage, SaltApiSrvc, SaltApiEvtSrvc, SessionStore, ErrorReporter, HighstateCheck, EventDelegate, JobDelegate, FetchActives, Salt) { $scope.getAppData = function() { return AppData; }; + $scope.getSalt = function() { + return Salt; + }; + $scope.getFetchActives = function() { + return FetchActives; + }; $scope.getCommands = function() { return AppData.getCommands(); }; @@ -118,6 +124,11 @@ result = (_ref = data["return"]) != null ? _ref[0] : void 0; if (result) { job = JobDelegate.startRun(result, cmd); + if (job.done) { + $scope.assignActives(job); + $scope.$broadcast("Marshall"); + return; + } job.commit($q).then(function(donejob) { $scope.assignActives(donejob); return $scope.$broadcast("Marshall"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/app/view/console.js new/halite-0.1.17/halite/lattice/app/view/console.js --- old/halite-0.1.16/halite/lattice/app/view/console.js 2014-04-07 15:52:25.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/app/view/console.js 2014-05-14 16:18:53.000000000 +0200 @@ -266,6 +266,36 @@ return this.parameters.pop(); } }, + buildArgs: function() { + + /* + Build the arg array to be consumed by the server + */ + var arg, i, item, j, offset, reqArgsLen, ret, _i, _j, _len, _len1, _ref, _ref1; + ret = []; + reqArgsLen = 0; + if ($scope.command.requiredArgs != null) { + reqArgsLen = $scope.command.requiredArgs.length; + _ref = $scope.command.requiredArgs; + for (j = _i = 0, _len = _ref.length; _i < _len; j = ++_i) { + item = _ref[j]; + ret.push(this.cmd.arg[j]); + } + } + if ($scope.defaultVals != null) { + _ref1 = $scope.defaultVals; + for (i = _j = 0, _len1 = _ref1.length; _j < _len1; i = ++_j) { + arg = _ref1[i]; + offset = reqArgsLen + i; + if (this.cmd.arg[offset] != null) { + ret.push(this.cmd.arg[offset]); + } else { + ret.push(arg); + } + } + } + return ret; + }, getArgs: function() { var arg; return (function() { @@ -288,7 +318,7 @@ { fun: this.cmd.fun, mode: this.cmd.mode, - arg: this.getArgs() + arg: this.buildArgs() } ]; } else { @@ -297,7 +327,7 @@ fun: this.cmd.fun, mode: this.cmd.mode, tgt: this.cmd.tgt !== "" ? this.cmd.tgt : "", - arg: this.getArgs(), + arg: this.buildArgs(), expr_form: this.cmd.expr_form } ]; @@ -415,6 +445,7 @@ } return true; }).error(function(data, status, headers, config) { + ErrorReporter.addAlert('warning', data.error); return $scope.commanding = false; }); }; @@ -491,7 +522,7 @@ $scope.commandArgs = []; $scope.fillCommandArgs = function() { $scope.commandArgs = []; - $scope.command.cmd.arg = [""]; + $scope.command.cmd.arg = [null]; _.each($scope.command.requiredArgs, function(arg) { return $scope.commandArgs.push(new ArgInfo(arg, true)); }); @@ -546,6 +577,7 @@ } return _results; })(); + defaults.reverse(); defaults_vals = (function() { var _i, _len, _ref1, _results; _ref1 = info.defaults; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/lattice/lib/angular/angular-csp.css new/halite-0.1.17/halite/lattice/lib/angular/angular-csp.css --- old/halite-0.1.16/halite/lattice/lib/angular/angular-csp.css 2014-04-02 04:53:54.000000000 +0200 +++ new/halite-0.1.17/halite/lattice/lib/angular/angular-csp.css 1970-01-01 01:00:00.000000000 +0100 @@ -1,24 +0,0 @@ -/* Include this file in your html if you are using the CSP mode. */ - -@charset "UTF-8"; - -[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], -.ng-cloak, .x-ng-cloak, -.ng-hide { - display: none !important; -} - -ng\:form { - display: block; -} - -/* The styles below ensure that the CSS transition will ALWAYS - * animate and close. A nasty bug occurs with CSS transitions where - * when the active class isn't set, or if the active class doesn't - * contain any styles to transition to, then, if ngAnimate is used, - * it will appear as if the webpage is broken due to the forever hanging - * animations. The clip (!ie) and zoom (ie) CSS properties are used - * since they trigger a transition without making the browser - * animate anything and they're both highly underused CSS properties */ -.ng-animate-start { clip:rect(0, auto, auto, 0); -ms-zoom:1.0001; } -.ng-animate-active { clip:rect(-1px, auto, auto, 0); -ms-zoom:1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite/server_bottle.py new/halite-0.1.17/halite/server_bottle.py --- old/halite-0.1.16/halite/server_bottle.py 2014-04-02 04:53:54.000000000 +0200 +++ new/halite-0.1.17/halite/server_bottle.py 2014-05-14 16:15:22.000000000 +0200 @@ -237,6 +237,9 @@ client = salt.client.api.APIClient(opts) try: results = [client.run(tokenify(cmd, token)) for cmd in cmds] + if not results[0]: + bottle.response.status = 404 + return {'error': 'Failed to run command: {0} on target: {1}'.format(str(cmds[0]['fun']), str(cmds[0]['tgt']))} except EauthAuthenticationError as ex: bottle.abort(code=401, text=repr(ex)) except Exception as ex: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite.egg-info/PKG-INFO new/halite-0.1.17/halite.egg-info/PKG-INFO --- old/halite-0.1.16/halite.egg-info/PKG-INFO 2014-04-07 16:29:08.000000000 +0200 +++ new/halite-0.1.17/halite.egg-info/PKG-INFO 2014-05-14 16:42:55.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: halite -Version: 0.1.16 +Version: 0.1.17 Summary: SaltStack Web UI Home-page: https://github.com/saltstack/halite Author: SaltStack Inc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/halite.egg-info/SOURCES.txt new/halite-0.1.17/halite.egg-info/SOURCES.txt --- old/halite-0.1.16/halite.egg-info/SOURCES.txt 2014-04-07 16:29:08.000000000 +0200 +++ new/halite-0.1.17/halite.egg-info/SOURCES.txt 2014-05-14 16:42:56.000000000 +0200 @@ -33,6 +33,7 @@ halite/lattice/app/util/highstateCheckSrvc.js halite/lattice/app/util/jobSrvc.js halite/lattice/app/util/saltApiSrvc.js +halite/lattice/app/util/saltSrvc.js halite/lattice/app/view/base.js halite/lattice/app/view/console.html halite/lattice/app/view/console.js @@ -44,7 +45,6 @@ halite/lattice/lib/angular/angular-animate.min.js.map halite/lattice/lib/angular/angular-cookies.min.js halite/lattice/lib/angular/angular-cookies.min.js.map -halite/lattice/lib/angular/angular-csp.css halite/lattice/lib/angular/angular-loader.js halite/lattice/lib/angular/angular-loader.min.js halite/lattice/lib/angular/angular-loader.min.js.map diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/halite-0.1.16/setup.py new/halite-0.1.17/setup.py --- old/halite-0.1.16/setup.py 2014-04-07 15:49:24.000000000 +0200 +++ new/halite-0.1.17/setup.py 2014-05-14 16:15:22.000000000 +0200 @@ -32,7 +32,7 @@ pkg_files = ['lattice/{0}'.format(x) for x in pkg_files] setup( name = 'halite', - version = '0.1.16', + version = '0.1.17', description = 'SaltStack Web UI', url = 'https://github.com/saltstack/halite', author='SaltStack Inc', -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org