def execute(args, options): login = args['--login'] file_path = check_file(args) csv_reader = CsvReader(file_path) csv_reader.open() game_count = csv_reader.rowCount if not args['--force']: sys.stdout.write( "You are about to delete %s games in you collection (%s), " "please enter the number of games displayed here to confirm you want to continue: " % (game_count, login)) if raw_input() != game_count.__str__(): Logger.error( 'Operation canceled, number does not match (should be %s).' % game_count, sysexit=True) return Logger.info("Deleting games for '%s' account..." % login) with WebDriver('collection-delete', args, options) as web_driver: if not LoginPage(web_driver.driver).authenticate( login, args['--password']): sys.exit(1) Logger.info("Deleting %s games..." % game_count) game_page = GamePage(web_driver.driver) csv_reader.iterate(lambda row: game_page.delete(row)) Logger.info("Deletion has finished.")
def execute(args, options): login = args['--login'] file_path = check_file(args) csv_reader = CsvReader(file_path) csv_reader.open() game_count = csv_reader.rowCount if not args['--force']: sys.stdout.write( "You are about to delete %s games in you collection (%s), " "please enter the number of games displayed here to confirm you want to continue: " % (game_count, login)) if raw_input() != game_count.__str__(): Logger.error('Operation canceled, number does not match (should be %s).' % game_count, sysexit=True) return Logger.info("Deleting games for '%s' account..." % login) with WebDriver('collection-delete', args, options) as web_driver: if not LoginPage(web_driver.driver).authenticate(login, args['--password']): sys.exit(1) Logger.info("Deleting %s games..." % game_count) game_page = GamePage(web_driver.driver) csv_reader.iterate(lambda row: game_page.delete(row)) Logger.info("Deletion has finished.")
def execute(args, options): login = args['--login'] file_path = check_file(args) csv_reader = CsvReader(file_path) csv_reader.open() Logger.info("Importing games for '%s' account..." % login) with WebDriver('collection-import', args, options) as web_driver: if not LoginPage(web_driver.driver).authenticate(login, args['--password']): sys.exit(1) Logger.info("Importing %s games..." % csv_reader.rowCount) game_page = GamePage(web_driver.driver) csv_reader.iterate(lambda row: game_page.update(row)) Logger.info("Import has finished.")
def execute(args, options): login = args['--login'] file_path = check_file(args) csv_reader = CsvReader(file_path) csv_reader.open() Logger.info("Importing games for '%s' account..." % login) with WebDriver('collection-import', args, options) as web_driver: if not LoginPage(web_driver.driver).authenticate( login, args['--password']): sys.exit(1) Logger.info("Importing %s games..." % csv_reader.rowCount) game_page = GamePage(web_driver.driver) csv_reader.iterate(lambda row: game_page.update(row)) Logger.info("Import has finished.")
def execute(args, options): print('Executing!') login = args['--login'] file_path = check_file(args) csv_reader = CsvReader(file_path) csv_reader.open() rows = [] # try: Logger.info("Parsing input file '{}'...".format(file_path)) csv_reader.iterate(lambda row: rows.append(row)) #Logger.info("Found %s games to put in collection..." % csv_reader.rowCount) rows.reverse() firstrow = rows[0] loop = 0 Logger.info("Importing {} games to collection of '{}' ...".format( csv_reader.rowCount, login)) while rows: try: with WebDriver('collection-import', args, options) as web_driver: if not LoginPage(web_driver.driver).authenticate( login, args['--password']): sys.exit(1) #input("Kill Firefox, then Press Enter to continue...") game_page = GamePage(web_driver.driver) while rows: row = rows.pop() if firstrow is None or firstrow == row: loop += 1 if loop >= LOOPLIMIT: Logger.info( "Loop limit of {} reached.".format(loop)) return Logger.info('Loop {} (maximum {})'.format( loop, LOOPLIMIT)) if rows: firstrow = rows[0] Logger.info('First assigned {}'.format( firstrow['objectname'])) else: firstrow = None Logger.info('First assigned None') Logger.info('(BGGID {}) Name: {} ({} game left)'.format( row['objectid'], row['objectname'], len(rows) + 1)) try: val = game_page.update(row) Logger.info('update returned {}'.format(val)) if val: #Logger.info('Updated (BGGID {0}) "{1}"'.format(row['objectid'],row['objectname'])) Logger.info('(BGGID {}) Name: {} UPDATED!'.format( row['objectid'], row['objectname'], len(rows))) # ({} game left) else: rows.insert(0, row) Logger.info( 'returned False??, back in queue.'.format( len(rows))) # ({} game left) except WebDriverException: rows.insert(0, row) Logger.info( 'Exception occurred, back in queue.'.format( len(rows))) # ({} left) Logger.info( 'WebDriverException occurred, restarting browser.') raise except Exception as e: traceback.print_exc(limit=2, file=sys.stdout) rows.insert(0, row) Logger.info( 'Exception occurred, back in queue.'.format( len(rows))) # ({} left) #badrows.append(row) # for row in rows: # try: # game_page.update(row) # except: # badrows.append(row) # print except WebDriverException: pass Logger.info("Import has finished.")