Esempio n. 1
0
def testRegexExtractAnime():
    print("______________________")
    printInfo("testRegexExtractAnime {}started".format(CLR_OK))
    error = True
    lstStart = ["Double docking [Kantai Collection][x-post from /r/kanmusu]",
           "Double dockin[g",
           "Double docki]g",
           "Double docking [x-post from /r/kanmusu] [Kantai Collection]"]
    lstAssert = ["Kantai Collection",
                 False,
                 False,
                 "Kantai Collection"]
    for i, elt in enumerate(lstStart):
        res = utilsReddit.extractAnimeName(elt)
        ret = _assertTest(res, lstAssert[i], "Extraction failed for {}'{}'{}".format(CLR_INFO, elt, CLR_END))
        error = ret if error == True else True
    if not error:
        print(CLR_INFO, "testRegexExtractAnime ", CLR_FAIL, "not ok", CLR_END, sep='')
    else:
        print(CLR_INFO, "testRegexExtractAnime ", CLR_OK, "passed", CLR_END, sep='')
    print("______________________")
 def execute(self):
     while True:
         logging.info("Start to search new image")
         self.getPictureURL()
         picture = {
             "name": self.submission.title,
             "url": self.submission.url,
             "filename": self.submission.url[self.submission.url.rfind("/") + 1 :],
             "anime": utilsReddit.extractAnimeName(self.submission.title),
         }
         try:
             nbEntriesPic = self.mydb.checkEntryPictures(picture["url"])
             if nbEntriesPic > 0:
                 continue
         except sqlite3.OperationalError:
             continue
         folder = self.rootFolder + picture["anime"] + "/" if picture["anime"] else self.rootFolder
         if self.mydb.addEntry(picture["name"], picture["filename"], picture["url"], folder):
             utilsReddit.createFolder(folder)
         self.downloadImageFromURL(picture["filename"], picture["url"], folder)
         self.twitter.updateMediaTweet(folder + picture["filename"], "[NSFW bot] " + picture["name"])
         timeToWait = random.randint(self.TIME_MIN, self.TIME_MAX)
         logging.info("time until next picture: %d", timeToWait)
         time.sleep(timeToWait)