Esempio n. 1
0
	def setup(self, sema):
		self.sema = sema
		self.db = mysql()
Esempio n. 2
0
def go():
    db = mysql()

    query = """
		SELECT `de` FROM `translations`
		WHERE
			`pos`="verb"
			AND
			LENGTH(REPLACE(`de`, " ", "")) > (LENGTH(`de`) - 1)
			AND
			LOCATE("...", `de`) = 0
			AND
			LOCATE('"', `de`) = 0
			AND
			LOCATE('/', `de`) = 0
		GROUP BY `de`
	"""
    verbs = db.query(query)

    # get a list of all the verbs that don't have adjectives / nouns in their forms
    i = 0
    for v in verbs:
        print "Woxikon (%d - %f): %s" % (i, time.time(), v["de"])
        i += 1
        tmp = word.word(v["de"].lower())
        tmp.verb.scrapeWoxikon(building=True)

        # add to the searches table (with provider=canoo, success=0) for anything else
    query = """
		INSERT IGNORE INTO `searches` (`search`, `source`, `success`)
		SELECT `de`, "canoo", "0" FROM `translations`
		WHERE
			`pos`!="verb"
			AND
			LENGTH(REPLACE(`de`, " ", "")) > (LENGTH(`de`) - 1)
			AND
			LOCATE("...", `de`) = 0
			AND
			LOCATE('"', `de`) = 0
			AND
			LOCATE('/', `de`) = 0
		GROUP BY `de`
	"""
    db.insert(query)

    # grab all the nouns and just stash their genetivs (just apply a general rule)
    for e in ("s", "es"):
        sql = (
            """
			INSERT IGNORE INTO `searches` (`search`, `source`, `success`)
			SELECT CONCAT(`de`, "%s"), "canoo", "0" FROM `translations`
			WHERE
				`pos`="noun"
				AND
				LENGTH(REPLACE(`de`, " ", "")) > (LENGTH(`de`) - 1)
				AND
				LOCATE("...", `de`) = 0
				AND
				LOCATE('"', `de`) = 0
				AND
				LOCATE('/', `de`) = 0
				AND
				(
					`deExt` LIKE "%%%%{m}%%%%"
					OR
					`deExt` LIKE "%%%%{n}%%%%"
				)
			GROUP BY `de`
			;
		"""
            % e
        )
        db.insert(sql)

        # and adjectives with their endings
    for e in ("es", "en", "er", "em", "e"):
        sql = (
            """
			INSERT IGNORE INTO `searches` (`search`, `source`, `success`)
			SELECT CONCAT(`de`, "%s"), "canoo", "0" FROM `translations`
			WHERE
				`pos`="adjadv"
				AND
				LENGTH(REPLACE(`de`, " ", "")) > (LENGTH(`de`) - 1)
				AND
				LOCATE("...", `de`) = 0
				AND
				LOCATE('"', `de`) = 0
				AND
				LOCATE('/', `de`) = 0
			GROUP BY `de`
			;
		"""
            % e
        )
        db.insert(sql)