Exemplo n.º 1
0
    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
Exemplo n.º 2
0
Arquivo: api.py Projeto: Mathix/mylar3
 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
Exemplo n.º 3
0
    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