-
Notifications
You must be signed in to change notification settings - Fork 269
/
post_process.py
57 lines (41 loc) · 1.95 KB
/
post_process.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# coding=utf-8
from __future__ import unicode_literals
from six import string_types
from tornroutes import route
from .handler import Home
from ..core import PageTemplate
from .... import process_tv
from ....helper.encoding import ss
@route('/home/postprocess(/?.*)')
class HomePostProcess(Home):
def __init__(self, *args, **kwargs):
super(HomePostProcess, self).__init__(*args, **kwargs)
def index(self):
t = PageTemplate(rh=self, filename='home_postprocess.mako')
return t.render(title='Post Processing', header='Post Processing', topmenu='home',
controller='home', action='postProcess')
def processEpisode(self, proc_dir=None, nzbName=None, jobName=None, quiet=None, process_method=None, force=None,
is_priority=None, delete_on='0', failed='0', proc_type='auto', ignore_subs=None, *args, **kwargs):
def argToBool(argument):
if isinstance(argument, string_types):
_arg = argument.strip().lower()
else:
_arg = argument
if _arg in ['1', 'on', 'true', True]:
return True
elif _arg in ['0', 'off', 'false', False]:
return False
return argument
if not proc_dir:
return self.redirect('/home/postprocess/')
else:
resource_name = ss(nzbName) if nzbName else None
result = process_tv.ProcessResult(ss(proc_dir), process_method=process_method).process(
resource_name=resource_name, force=argToBool(force), is_priority=argToBool(is_priority),
delete_on=argToBool(delete_on), failed=argToBool(failed), proc_type=type,
ignore_subs=argToBool(ignore_subs)
)
if quiet is not None and int(quiet) == 1:
return result
result = result.replace('\n', '<br>\n')
return self._genericMessage('Postprocessing results', result)