'Download proper (snatch it)
:param properList:'

def _downloadPropers(self, properList):

    for curProper in properList:
        historyLimit = (datetime.datetime.today() - datetime.timedelta(days=30))
        main_db_con = db.DBConnection()
        historyResults = main_db_con.select(((((u'SELECT    resource    FROM    history    ' + u'WHERE    showid    =    ?    AND    season    =    ?    AND    episode    =    ?    AND    quality    =    ?    AND    date    >=    ?    ') + u'AND    action    IN    (') + u','.join([str(x) for x in (Quality.SNATCHED + Quality.DOWNLOADED)])) + u')'), [curProper.indexerid, curProper.season, curProper.episode, curProper.quality, historyLimit.strftime(History.date_format)])
        if (not historyResults):
            logger.log(((u'Unable    to    find    an    original    history    entry    for    proper    ' + curProper.name) + u"    so    I'm    not    downloading    it."))
            continue
        else:
            clean_proper_name = self._genericName(helpers.remove_non_release_groups(curProper.name))
            isSame = False
            for curResult in historyResults:
                if (self._genericName(helpers.remove_non_release_groups(curResult['resource'])) == clean_proper_name):
                    isSame = True
                    break
            if isSame:
                logger.log(u'This    proper    is    already    in    history,    skipping    it', logger.DEBUG)
                continue
            epObj = curProper.show.getEpisode(curProper.season, curProper.episode)
            result = curProper.provider.get_result([epObj])
            result.show = curProper.show
            result.url = curProper.url
            result.name = curProper.name
            result.quality = curProper.quality
            result.release_group = curProper.release_group
            result.version = curProper.version
            result.content = curProper.content
            snatchEpisode(result, SNATCHED_PROPER)
            time.sleep(cpu_presets[sickbeard.CPU_PRESET])
