def getNewMaru(): logger = logging.getLogger("getNewMaru") # db connect connection = MongoClient('lyj4974.asuscomm.com', 5923) db = connection["maru"] db.authenticate('maru', 'qwerty@maru', mechanism='SCRAM-SHA-1') db_newList = db.newList db_epList = db.epList db_maruList = db.maruList db_userInfo = db.userInfo parsePage = 1 # get new maru logger.info("Page : " + str(parsePage)) newPageResult = parseNewPage(parsePage) for newMaru in newPageResult: newMaruID = newMaru['newID'] newMaruTitle = newMaru['newTitle'] newMaruDateTime = newMaru['dateTime'] if not db_newList.find_one({'newID': newMaruID}) or '(수정)' in newMaruTitle: logger.info(" newMaru " + newMaruTitle + " [" + newMaruID + "]...") #parse newMaruID newMaruParseResult = parseNewID(newMaruID) # insert DB - newMaru newMaru['epList'] = newMaruParseResult['epList'] newMaru['maruID'] = newMaruParseResult['maruID'] db_newList.update_one({'newID':newMaruID}, {"$set": newMaru}, True) maruID = newMaruParseResult['maruID'] if maruID == '-1': logger.info(" Parse maruID[-1] Skip") else : logger.info(" Parse maruID[" + maruID + "]...") maruParseResult = parseMaruID(maruID) maruParseResult['update'] = newMaruDateTime # update Maru db_maruList.update_one({'maruID':maruParseResult['maruID']}, {"$set": maruParseResult}, True) # update Ep for maruEp in maruParseResult['epList']: maruEp['maruID'] = maruID db_epList.update_one({'epID':maruEp['epID']}, {"$set": maruEp} , True) logger.info(" " + maruEp['epTitle'] + "[" + maruEp['epID'] + ']') # send push pushMaruID(maruID, newMaruTitle) else : logger.info(" Skip " + newMaruTitle + " [" + newMaruID + "]...") connection.close()
def updateMaru(maruID): maruParseResult = parseMaruID(maruID) # update Maru db_maruList.update_one({"maruID": str(maruID)}, {"$set": maruParseResult}, True) print("update " + str(maruID)) # update Ep for maruEp in maruParseResult["epList"]: maruEp["maruID"] = str(maruID) db_epList.update_one({"epID": maruEp["epID"]}, {"$set": maruEp}, True) print(" EP update " + maruEp["epID"] + " / " + maruEp["maruID"])
def updateMaru(maruID) : maruParseResult = parseMaruID(maruID) # update Maru db_maruList.update_one({'maruID':str(maruID)}, {"$set": maruParseResult} , True) print("update " + str(maruID)) # update Ep for maruEp in maruParseResult['epList']: maruEp['maruID'] = str(maruID) db_epList.update_one({'epID':maruEp['epID']}, {"$set": maruEp} , True) print(" EP update " + maruEp['epID'] + ' / ' + maruEp['maruID'])
db_maruList = db.maruList db_epList = db.epList for i in range(1, 100): # get new maru appMaruResult = parseAllPage(i) print(" >> PAGE : " + str(i) + " / " + str(len(appMaruResult))) if len(appMaruResult) == 0 : print("BREAK") break for maruID in appMaruResult : if not db_maruList.find_one({'maruID': maruID}) : maruParseResult = parseMaruID(maruID) # update Maru db_maruList.insert_one(maruParseResult) print("insert " + maruID) # update Ep for maruEp in maruParseResult['epList']: maruEp['maruID'] = str(maruID) db_epList.update_one({'epID':maruEp['epID']}, {"$set": maruEp} , True) print(" EP update " + maruEp['epID'] + ' / ' + maruEp['maruID']) else : print("skip " + maruID)