mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-07-15 18:13:10 +02:00
search movie with keyword is ok now
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
vm.resourcesTags = ResourcesTagsConfig.resourcesTags;
|
||||
|
||||
vm.searchTags = [];
|
||||
vm.searchKey = '';
|
||||
vm.currPageNumber = 1;
|
||||
vm.topNumber = 6;
|
||||
vm.pageNumber = 50;
|
||||
@@ -54,8 +55,6 @@
|
||||
}
|
||||
e.blur();
|
||||
vm.getMoviePageInfo(1);
|
||||
|
||||
console.log(vm.searchTags);
|
||||
};
|
||||
|
||||
vm.onCheckboxTagClicked = function (event, n) {
|
||||
@@ -67,18 +66,25 @@
|
||||
vm.searchTags.splice(vm.searchTags.indexOf(n), 1);
|
||||
}
|
||||
vm.getMoviePageInfo(1);
|
||||
|
||||
console.log(vm.searchTags);
|
||||
};
|
||||
|
||||
vm.onKeysKeyDown = function (evt) {
|
||||
if (evt.keyCode === 13) {
|
||||
vm.getMoviePageInfo(1);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
vm.getMoviePageInfo = function (p) {
|
||||
vm.currPageNumber = p;
|
||||
|
||||
TorrentsService.query({
|
||||
skip: (p - 1) * vm.pageNumber + 0, //vm.topNumber,
|
||||
limit: p * vm.pageNumber,
|
||||
keys: vm.searchKey,
|
||||
torrent_status: 'reviewed',
|
||||
torrent_type: 'movie',
|
||||
//torrent_release: vm.releaseYear,
|
||||
torrent_tags: vm.searchTags
|
||||
}, function (items) {
|
||||
vm.moviePageInfo = items;
|
||||
@@ -113,5 +119,13 @@
|
||||
}
|
||||
return tmp;
|
||||
};
|
||||
|
||||
vm.clearAllCondition = function () {
|
||||
vm.searchKey = '';
|
||||
vm.searchTags = [];
|
||||
$('.btn-tag').removeClass('btn-success').addClass('btn-default');
|
||||
|
||||
vm.getMoviePageInfo(1);
|
||||
};
|
||||
}
|
||||
}());
|
||||
|
||||
@@ -162,6 +162,7 @@
|
||||
torrent_tmdb_id: vm.tmdb_id,
|
||||
torrent_imdb_id: vm.movieinfo.imdb_id,
|
||||
torrent_title: vm.movieinfo.title,
|
||||
torrent_original_title: vm.movieinfo.original_title,
|
||||
torrent_type: 'movie',
|
||||
torrent_genres: g,
|
||||
torrent_tags: t,
|
||||
|
||||
@@ -43,7 +43,9 @@
|
||||
<dd class="h-line">
|
||||
<div class="row">
|
||||
<div class="col-sm-7">
|
||||
<input type="text" class="form-control" placeholder="{{ 'PH_KEYWORD' | translate}}">
|
||||
<input type="text" class="form-control" ng-model="vm.searchKey"
|
||||
ng-keydown="vm.onKeysKeyDown($event);"
|
||||
placeholder="{{ 'PH_KEYWORD' | translate}}">
|
||||
</div>
|
||||
</div>
|
||||
</dd>
|
||||
@@ -77,7 +79,8 @@
|
||||
|
||||
<div class="margin-top-10">
|
||||
<dt class="h-line"></dt>
|
||||
<dd class="h-line"><span class="label label-tag">{{ 'CLEAR_ALL_CONDITION' | translate}}</span></dd>
|
||||
<dd class="h-line"><span class="label label-tag text-uppercase"
|
||||
ng-click="vm.clearAllCondition();">{{ 'CLEAR_ALL_CONDITION' | translate}}</span></dd>
|
||||
</div>
|
||||
</dl>
|
||||
</div>
|
||||
@@ -104,7 +107,8 @@
|
||||
<img class="media-object" ng-src="{{vm.tmdbConfig.poster_list_base_url}}{{item.torrent_img}}" alt="...">
|
||||
</div>
|
||||
<div class="media-body">
|
||||
<h5 class="media-heading">{{item.torrent_title}}</h5>
|
||||
<h5 class="media-heading">{{item.torrent_original_title}}<span
|
||||
ng-show="item.torrent_original_title!=item.torrent_title"> / {{item.torrent_title}}</span></h5>
|
||||
|
||||
<div class="list-all-genres">
|
||||
<span class="genres-item" ng-repeat="t in item.torrent_genres">{{t}}</span>
|
||||
|
||||
@@ -257,7 +257,9 @@ exports.list = function (req, res) {
|
||||
var limit = 0;
|
||||
var status = 'reviewed';
|
||||
var stype = 'movie';
|
||||
var release = undefined;
|
||||
var tagsA = [];
|
||||
var keysA = [];
|
||||
|
||||
if (req.query.skip !== undefined) {
|
||||
skip = req.query.skip;
|
||||
@@ -271,6 +273,9 @@ exports.list = function (req, res) {
|
||||
if (req.query.torrent_type !== undefined) {
|
||||
stype = req.query.torrent_type;
|
||||
}
|
||||
if (req.query.torrent_release !== undefined) {
|
||||
release = req.query.torrent_release;
|
||||
}
|
||||
if (req.query.torrent_tags !== undefined) {
|
||||
var tagsS = req.query.torrent_tags + '';
|
||||
var tagsT = tagsS.split(',');
|
||||
@@ -279,6 +284,24 @@ exports.list = function (req, res) {
|
||||
tagsA.push(it + '');
|
||||
});
|
||||
}
|
||||
if (req.query.keys !== undefined && req.query.keys.length > 0) {
|
||||
//console.log('keys:' + req.query.keys);
|
||||
var keysS = req.query.keys + '';
|
||||
var keysT = keysS.split(' ');
|
||||
|
||||
keysT.forEach(function (it) {
|
||||
if (!isNaN(it)) {
|
||||
if (it > 1900 && it < 2050) {
|
||||
release = it;
|
||||
}
|
||||
} else {
|
||||
var ti = new RegExp(it, 'i');
|
||||
keysA.push(ti);
|
||||
}
|
||||
});
|
||||
//keysA = keysS;
|
||||
//console.log(keysA);
|
||||
}
|
||||
|
||||
var condition = {};
|
||||
condition.torrent_status = status;
|
||||
@@ -287,8 +310,25 @@ exports.list = function (req, res) {
|
||||
if (tagsA.length > 0) {
|
||||
condition.torrent_tags = {$all: tagsA};
|
||||
}
|
||||
if (release !== undefined) {
|
||||
condition.torrent_release = release;
|
||||
}
|
||||
if (keysA.length > 0) {
|
||||
condition.$or = [
|
||||
{torrent_filename: {'$all': keysA}},
|
||||
{torrent_title: {'$all': keysA}},
|
||||
{torrent_original_title: {'$all': keysA}}
|
||||
//{torrent_filename: new RegExp(keysA, 'i')},
|
||||
//{torrent_title: new RegExp(keysA, 'i')},
|
||||
//{torrent_original_title: new RegExp(keysA, 'i')}
|
||||
];
|
||||
//condition.torrent_title = {
|
||||
// '$regex': keysA,
|
||||
// '$options': 'i'
|
||||
//};
|
||||
}
|
||||
|
||||
//console.log(condition);
|
||||
console.log(JSON.stringify(condition));
|
||||
|
||||
Torrent.find(condition)
|
||||
.sort('-createdat')
|
||||
|
||||
@@ -43,6 +43,11 @@ var TorrentSchema = new Schema({
|
||||
trim: true,
|
||||
required: 'title cannot be blank'
|
||||
},
|
||||
torrent_original_title: {
|
||||
type: String,
|
||||
default: '',
|
||||
trim: true
|
||||
},
|
||||
torrent_type: {
|
||||
type: [{
|
||||
type: String,
|
||||
|
||||
Reference in New Issue
Block a user