<commit_before># -*-coding:utf-8-*-
# Moduuli käärii eri skreipperit yhteisen rajapinnan alle.

import logging
from mh_raaputin.raaputin_alpha import MHScraper
from henkiloauto_scraper.auto_scraper import AutoScraper
from hinta_scraper import hinta_scraper
from vr_scraper.vr_scraper import VRScraper
from thread_helper import do_threaded_work
from google.appengine.api import memcache
import json

# Käytetään näitä hintoja, jos hintojen hakeminen epäonnistuu
HINNAT_BACKUP = [1.638, 1.688, 1.52]


class ScraperWrapper:
    """Käärii scraperit yhden rajapinnan alle."""

    def __init__(self):
        self.vr_scraper = VRScraper()
        self.mh_scraper = MHScraper()
        self.auto_scraper = AutoScraper()
        self.scraperit = [self.vr_scraper, self.mh_scraper,
            self.auto_scraper]
        self.paikat = json.load(open("paikat.json", "r"))

    def hae_matka(self, mista=None, mihin=None, lahtoaika=None, saapumisaika=None,
        bussi=True, juna=True, auto=True, alennusluokka=0):
        """Palauttaa valitulle matkalle eri yhteydet."""
        assert mista and mihin
        assert lahtoaika is not None or saapumisaika is not None

        # Selvitetään haettuja paikkoja vastaavat MH:n ja VR:n paikat:
        for k, v in paikat.iteritems():
            if k == mista:
                mista_auto = mista
                mista = v
                if isinstance(mihin, list):
                    break
            if k == mihin:
                mihin_auto = mihin
                mihin = v
                if isinstance(mista, list):
                    break

        if not isinstance(mista, list):
            return dict(virhe="mista")
        if not isinstance(mihin, list):
            return dict(virhe="mihin")

        mista_mh, mista_vr = [x.encode("utf-8") for x in mista]
        mihin_mh, mihin_vr = [x.encode("utf-8") for x in mihin]

        dt = lahtoaika or saapumisaika
        pvm = dt.split()[0]

        def f(scraper):
            """Apufunktio, joka tarkistaa välimuistin ja hakee tarvittaessa
            uuden tuloksen skreipperiltä."""
            # Määritetään skreipperistä riippuva välimuistin avain:
            if scraper is self.mh_scraper:<commit_msg>Kirjoitusvirhe korjattu wrapperista.<commit_after># -*-coding:utf-8-*-
# Moduuli käärii eri skreipperit yhteisen rajapinnan alle.

import logging
from mh_raaputin.raaputin_alpha import MHScraper
from henkiloauto_scraper.auto_scraper import AutoScraper
from hinta_scraper import hinta_scraper
from vr_scraper.vr_scraper import VRScraper
from thread_helper import do_threaded_work
from google.appengine.api import memcache
import json

# Käytetään näitä hintoja, jos hintojen hakeminen epäonnistuu
HINNAT_BACKUP = [1.638, 1.688, 1.52]


class ScraperWrapper:
    """Käärii scraperit yhden rajapinnan alle."""

    def __init__(self):
        self.vr_scraper = VRScraper()
        self.mh_scraper = MHScraper()
        self.auto_scraper = AutoScraper()
        self.scraperit = [self.vr_scraper, self.mh_scraper,
            self.auto_scraper]
        self.paikat = json.load(open("paikat.json", "r"))

    def hae_matka(self, mista=None, mihin=None, lahtoaika=None, saapumisaika=None,
        bussi=True, juna=True, auto=True, alennusluokka=0):
        """Palauttaa valitulle matkalle eri yhteydet."""
        assert mista and mihin
        assert lahtoaika is not None or saapumisaika is not None

        # Selvitetään haettuja paikkoja vastaavat MH:n ja VR:n paikat:
        for k, v in self.paikat.iteritems():
            if k == mista:
                mista_auto = mista
                mista = v
                if isinstance(mihin, list):
                    break
            if k == mihin:
                mihin_auto = mihin
                mihin = v
                if isinstance(mista, list):
                    break

        if not isinstance(mista, list):
            return dict(virhe="mista")
        if not isinstance(mihin, list):
            return dict(virhe="mihin")

        mista_mh, mista_vr = [x.encode("utf-8") for x in mista]
        mihin_mh, mihin_vr = [x.encode("utf-8") for x in mihin]

        dt = lahtoaika or saapumisaika
        pvm = dt.split()[0]

        def f(scraper):
            """Apufunktio, joka tarkistaa välimuistin ja hakee tarvittaessa
            uuden tuloksen skreipperiltä."""
            # Määritetään skreipperistä riippuva välimuistin avain:
            if scraper is self.mh_scraper:
{'fraction_non_alphanumeric': 0.08441850022451729, 'fraction_numerical': 0.007184553210597216, 'mean_word_length': 2.4085692425401684, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3903964', 'n_tokens_mistral': 1669, 'n_tokens_neox': 1569, 'n_words': 375}