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)