def _forceProcess(self, **kwargs): if 'nzb_name' not in kwargs: self.data = self._error_with_message('Missing parameter: nzb_name') return else: self.nzb_name = kwargs['nzb_name'] if 'nzb_folder' not in kwargs: self.data = self._error_with_message( 'Missing parameter: nzb_folder') return else: self.nzb_folder = kwargs['nzb_folder'] if 'failed' not in kwargs: failed = False else: failed = kwargs['failed'] if 'issueid' not in kwargs: issueid = None else: issueid = kwargs['issueid'] if 'comicid' not in kwargs: comicid = None else: comicid = kwargs['comicid'] if 'apc_version' not in kwargs: logger.info( 'Received API Request for PostProcessing %s [%s]. Queueing...' % (self.nzb_name, self.nzb_folder)) mylar.PP_QUEUE.put({ 'nzb_name': self.nzb_name, 'nzb_folder': self.nzb_folder, 'issueid': issueid, 'failed': failed, 'comicid': comicid, 'apicall': True }) self.data = 'Successfully submitted request for post-processing for %s' % self.nzb_name #fp = process.Process(self.nzb_name, self.nzb_folder, issueid=issueid, failed=failed, comicid=comicid, apicall=True) #self.data = fp.post_process() else: logger.info( '[API] Api Call from ComicRN detected - initiating script post-processing.' ) fp = webserve.WebInterface() self.data = fp.post_process( self.nzb_name, self.nzb_folder, failed=failed, apc_version=kwargs['apc_version'], comicrn_version=kwargs['comicrn_version']) self.comicrn = True return
def _addStoryArc(self, **kwargs): issuecount = 0 if not 'id' in kwargs: self.id = 'C%04d' % random.randint(1, 9999) if not 'storyarcname' in kwargs: self.data = self._failureResponse( 'You need to provide either id or storyarcname') return else: storyarcname = kwargs.pop('storyarcname') else: self.id = kwargs.pop('id') arc = self._resultsFromQuery( 'SELECT * from storyarcs WHERE StoryArcID="' + self.id + '" ORDER by ReadingOrder') storyarcname = arc[0]['StoryArc'] issuecount = len(arc) if not 'issues' in kwargs and not 'arclist' in kwargs: self.data = self._failureResponse('No issues specified') return else: arclist = "" if 'issues' in kwargs: issuelist = kwargs.pop('issues').split(",") index = 0 for issue in issuelist: arclist += "%s,%s" % (issue, issuecount + 1) index += 1 issuecount += 1 if index < len(issuelist): arclist += "|" if 'arclist' in kwargs: cvlist = kwargs.pop('arclist') issuelist = cvlist.split("|") index = 0 for issue in issuelist: arclist += "%s,%s" % (issue.split(",")[0], issuecount + 1) index += 1 issuecount += 1 if index < len(issuelist): arclist += "|" wi = webserve.WebInterface() logger.info( "arclist: %s - arcid: %s - storyarcname: %s - storyarcissues: %s" % (arclist, self.id, storyarcname, issuecount)) wi.addStoryArc_thread(arcid=self.id, storyarcname=storyarcname, storyarcissues=issuecount, arclist=arclist, **kwargs) return
def _recheckFiles(self, **kwargs): #allow either individual / bulk recheck Files based on ComiciD #multiples are allowed as long as in a list: {'id': ['100101', '101010', '20181', '47101']} if 'id' not in kwargs: self.data = self._failureResponse('Missing ComicID') return else: self.id = kwargs['id'] if type(self.id) != list: bulk = False else: bulk = True logger.info('[BULK:%s] ComicIDs to ReCheck: %s' % (bulk, self.id)) try: fc = webserve.WebInterface() self.data= fc.forceRescan(ComicID=self.id, bulk=bulk, api=True) except Exception as e: self.data = e return