示例#1
0
 def __init__(self, job_context: JobContext, media: ParsedMediaItem,
              candidate: MovieMatchCandidate):
     super().__init__()
     self._job_context = job_context
     self.logger = getLogger(self.__class__.__name__)
     self._media = media
     self._candidate = candidate
示例#2
0
 def __init__(self,
              job_context: JobContext,
              socket=web_socket,
              total_items=None):
     super().__init__()
     self._job_context = job_context
     self._socket = socket
     self._total_items = total_items
     self.logger = getLogger(self.__class__.__name__)
示例#3
0
 def __init__(self,
              job_context: JobContext,
              resolver: MediaTargetResolver = get_media_target_resolver(Config.media_target_resolver()),
              web_socket=web_socket):
     super().__init__()
     self._job_context = job_context
     self._web_socket = web_socket
     self.resolver = resolver
     self.logger = getLogger(self.__class__.__name__)
示例#4
0
 def __init__(self,
              job_context: JobContext,
              resolver: MediaTargetResolver = get_media_target_resolver(Config.media_target_resolver()),
              matcher: Matcher = get_matcher(Config.media_matcher()),
              decider: MatchDecider = MatchDecider()
              ):
     self._job_context = job_context
     self.matcher = matcher
     self.decider = decider
     self.resolver = resolver
     self.logger = getLogger(self.__class__.__name__)
示例#5
0
    def __init__(self,
                 job_context: JobContext,
                 media_scan_path: str = Config.media_scan_path(),
                 skip_filetype_checks: bool = Config.
                 media_scanner_skip_filetype_checks()):

        self._job_context = job_context
        self._media_scan_path = media_scan_path
        self._media_source = os.walk(media_scan_path)
        self._total_items = sum(
            [len(files) for _, _, files in os.walk(media_scan_path)])
        self.logger = getLogger(self.__class__.__name__)
        self.skip_filetype_checks = skip_filetype_checks
        self.media_parser = MediaParser()
示例#6
0
monkey.patch_all()
from flask import jsonify

from banana.events import JobCompletedEvent
from banana.routes.movies import *
from banana.routes.unmatched import *
from banana.routes.media import *
from banana.routes.sources import *
from banana.routes.matches import *

from banana.core import app, db, socket, getLogger

from banana.core.jobs import ThreadPoolJobExecutor
from banana.media.jobs import FileSystemScanJob, JobTypes

logger = getLogger(__name__)

db.create_all()


def process_movies():
    ThreadPoolJobExecutor().submit(FileSystemScanJob())


@app.route('/api/scans')
def scans():
    process_movies()
    return jsonify({"status": "OK"})


@socket.on('connect', namespace='/sync')
示例#7
0
 def __init__(self,
              media_target_builder: MediaTargetBuilder,
              formatter: NameFormatter = NameFormatter()):
     self._media_target_builder = media_target_builder
     self._formatter = formatter
     self.logger = getLogger(__class__.__name__)
示例#8
0
 def __init__(self, job_context: JobContext, socket=web_socket):
     super().__init__()
     self._job_context = job_context
     self._socket = socket
     self.logger = getLogger(self.__class__.__name__)
示例#9
0
 def __init__(self):
     self.logger = getLogger(__class__.__name__)
示例#10
0
 def __init__(self, path_to_scan: str):
     self._id = str(uuid.uuid4())
     self._type = JobContext.SCAN_JOB
     self.logger = getLogger(self.__class__.__name__)