Skip to content

Commit

Permalink
Change API (packages to lines)
Browse files Browse the repository at this point in the history
  • Loading branch information
piumosso committed Oct 21, 2013
1 parent dde5b54 commit fdcd3fa
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 31 deletions.
2 changes: 1 addition & 1 deletion gopython3/frontend/static/js/app/App.js
Expand Up @@ -17,7 +17,7 @@ define('app/App', [
JobModule(App);
});
App.on('initialize:after', function(){
Backbone.history.start({pushState: true});
Backbone.history.start();
});

// Действие при старте модуля (вызывается из роутинга)
Expand Down
@@ -1,29 +1,31 @@
define('app/collections/PackageCollection', [
define('app/collections/LineCollection', [
'app/collections/Collection',
'app/models/PackageModel'
'app/models/LineModel'
], function(
Collection,
PackageModel
LineModel
){
return Collection.extend({
model: PackageModel,
model: LineModel,

getProgress: function(){
return this.where({status: 'completed'}).length / this.length;
return this.filter(function(line){
return line.get('is_failed') || (line.package && line.package.get('status') == 'completed');
}).length / this.length;
},

getSupportStatus: function(){
var supportStatuses,
result = {};
var result = {
SUPPORTED: 0,
SUPPORTED_IN_NEXT: 0,
SUPPORTED_PROBABLY: 0,
UNKNOWN: 0
};

supportStatuses = _.map(
this.where({status: 'completed'}),
function(package){
return package.getPython3Support()
this.each(function(line){
if (line.package) {
result[line.package.getPython3Support()]++;
}
);
_.each(['SUPPORTED', 'SUPPORTED_IN_NEXT', 'SUPPORTED_PROBABLY', 'UNKNOWN'], function(key){
result[key] = _.filter(supportStatuses, function(value){return value == key}).length;
});

return result;
Expand Down
6 changes: 3 additions & 3 deletions gopython3/frontend/static/js/app/controllers/JobController.js
Expand Up @@ -2,7 +2,7 @@ define('app/controllers/JobController', [
'backbone',
'marionette',
'app/layouts/JobLayout',
'app/collections/PackageCollection',
'app/collections/LineCollection',
'app/views/JobFormView',
'app/views/JobStatusView',
'app/views/PackageListView',
Expand All @@ -11,7 +11,7 @@ define('app/controllers/JobController', [
Backbone,
Marionette,
JobLayout,
PackageCollection,
LineCollection,
JobFormView,
JobStatusView,
PackageListView,
Expand All @@ -32,7 +32,7 @@ define('app/controllers/JobController', [

createDataStorages: function(createNew){
if (!this.model || !this.collection || createNew) {
this.collection = new PackageCollection();
this.collection = new LineCollection();
this.model = new JobModel();
this.model.collection = this.collection;
}
Expand Down
12 changes: 4 additions & 8 deletions gopython3/frontend/static/js/app/models/JobModel.js
Expand Up @@ -7,15 +7,15 @@ define('app/models/JobModel', [
defaults: {
url: '',
status: '',
packages: [],
lines: [],
requirements: ''
},

baseUrl: '/api/v1/jobs/',

initialize: function(){
this.on('change:url', this.setId, this);
this.on('change:packages', this.resetCollection, this)
this.on('change:lines', this.resetCollection, this)
},

url: function(){
Expand All @@ -41,7 +41,7 @@ define('app/models/JobModel', [
},

resetCollection: function(){
this.collection.reset(this.get('packages'));
this.collection.reset(this.get('lines'));
},

watch: function(){
Expand All @@ -59,12 +59,8 @@ define('app/models/JobModel', [
},

onSave: function(){
if (this.get('status') != 'completed' && this.get('packages').length > 0) {
if (this.get('status') != 'completed' && this.get('lines').length > 0) {
this.tryToSave()
} else {
this.collection.each(function(package){
package.set('status', 'completed');
});
}
}
});
Expand Down
19 changes: 19 additions & 0 deletions gopython3/frontend/static/js/app/models/LineModel.js
@@ -0,0 +1,19 @@
define('app/models/LineModel', [
'backbone',
'app/models/PackageModel'
], function(Backbone, PackageModel){
return Backbone.Model.extend({
defaults: {
package: null,
is_failed: false
},

initialize: function(){
this.on('change:package', this.setPackage, this);
},

setPackage: function(){
this.package = new PackageModel(this.get('package'))
}
});
});
4 changes: 2 additions & 2 deletions gopython3/frontend/static/js/app/models/PackageModel.js
Expand Up @@ -51,10 +51,10 @@ define('app/models/PackageModel', [
}

info = this.toJSON();
if (info.pypi && info.pypi.current && info.pypi.current.python3) {
if (info.pypi && info.pypi.current && info.pypi.current.python3.length) {
return 'SUPPORTED';
}
if (info.pypi && info.pypi.latest && info.pypi.latest.python3) {
if (info.pypi && info.pypi.latest && info.pypi.latest.python3.length) {
return 'SUPPORTED_IN_NEXT';
}
if (!_.isEmpty(info.forks)) {
Expand Down
7 changes: 4 additions & 3 deletions gopython3/frontend/templates/frontend/index.html
Expand Up @@ -36,12 +36,13 @@
<script src="{% static 'js/vendor/require.js' %}"></script>

<script src="{% static 'js/app/App.js' %}"></script>
<script src="{% static 'js/app/models/JobModel.js' %}"></script>
<script src="{% static 'js/app/models/LineModel.js' %}"></script>
<script src="{% static 'js/app/models/PackageModel.js' %}"></script>
<script src="{% static 'js/app/collections/Collection.js' %}"></script>
<script src="{% static 'js/app/collections/PackageCollection.js' %}"></script>
<script src="{% static 'js/app/collections/LineCollection.js' %}"></script>
<script src="{% static 'js/app/controllers/JobController.js' %}"></script>
<script src="{% static 'js/app/layouts/JobLayout.js' %}"></script>
<script src="{% static 'js/app/models/JobModel.js' %}"></script>
<script src="{% static 'js/app/models/PackageModel.js' %}"></script>
<script src="{% static 'js/app/modules/JobModule.js' %}"></script>
<script src="{% static 'js/app/routers/JobRouter.js' %}"></script>
<script src="{% static 'js/app/views/GreetingView.js' %}"></script>
Expand Down

0 comments on commit fdcd3fa

Please sign in to comment.