# Path: pydarkstar/scrubbing/scrubber.py
# class Scrubber(DarkObject):
#     def __init__(self):
#         super(Scrubber, self).__init__()
# 
#     def scrub(self):
#         """
#         Get item metadata.
#         """
#         return {}
# 
#     # noinspection PyBroadException
#     @staticmethod
#     def soup(url, absolute: bool = False, **kwargs):
#         """
#         Open URL and create tag soup.
# 
#         :param url: website string
#         :type url: str
# 
#         :param absolute: perform double get request to find absolute url
#         :type absolute: bool
#         """
#         handle = ''
#         max_tries = 10
#         for i in range(max_tries):
#             # noinspection PyPep8
#             try:
#                 if absolute:
#                     url = requests.get(url).url
#                 handle = requests.get(url, params=kwargs).text
#                 break
#             except Exception:
#                 logging.exception('urlopen failed (attempt %d)', i + 1)
#                 if i == max_tries - 1:
#                     logging.error('the maximum urlopen attempts have been reached')
#                     raise
#                 time.sleep(1)
# 
#         try:
#             s = BeautifulSoup(handle, features='html5lib')
#         except bs4.FeatureNotFound:
#             s = BeautifulSoup(handle, features='html.parser')
# 
#         return s


from .scrubber import Scrubber
import concurrent.futures
import warnings
import pickle
import re
import os
    'sylph': 8,
    'valefor': 9,
    'alexander': 10,
    'leviathan': 11,
    'odin': 12,
    'ifrit': 13,
    'diabolos': 14,
    'caitsith': 15,
    'quetzalcoatl': 16,
    'siren': 17,
    'unicorn': 18,
    'gilgamesh': 19,
    'ragnarok': 20,
    'pandemonium': 21,
    'garuda': 22,
    'cerberus': 23,
    'kujata': 24,
    'bismarck': 25,
    'seraph': 26,
    'lakshmi': 27,
    'asura': 28,
    'midgardsormr': 29,
    'fairy': 30,
    'remora': 31,
    'hades': 32
}

ID_SERVER = {v: k for k, v in SERVER_ID.items()}



# Path: pydarkstar/scrubbing/scrubber.py
# class Scrubber(DarkObject):
#     def __init__(self):
#         super(Scrubber, self).__init__()
# 
#     def scrub(self):
#         """
#         Get item metadata.
#         """
#         return {}
# 
#     # noinspection PyBroadException
#     @staticmethod
#     def soup(url, absolute: bool = False, **kwargs):
#         """
#         Open URL and create tag soup.
# 
#         :param url: website string
#         :type url: str
# 
#         :param absolute: perform double get request to find absolute url
#         :type absolute: bool
#         """
#         handle = ''
#         max_tries = 10
#         for i in range(max_tries):
#             # noinspection PyPep8
#             try:
#                 if absolute:
#                     url = requests.get(url).url
#                 handle = requests.get(url, params=kwargs).text
#                 break
#             except Exception:
#                 logging.exception('urlopen failed (attempt %d)', i + 1)
#                 if i == max_tries - 1:
#                     logging.error('the maximum urlopen attempts have been reached')
#                     raise
#                 time.sleep(1)
# 
#         try:
#             s = BeautifulSoup(handle, features='html5lib')
#         except bs4.FeatureNotFound:
#             s = BeautifulSoup(handle, features='html.parser')
# 
#         return s


# Path: pydarkstar/scrubbing/ffxiah.py
from .scrubber import Scrubber
import concurrent.futures
import warnings
import pickle
import re
import os

    'sylph': 8,
    'valefor': 9,
    'alexander': 10,
    'leviathan': 11,
    'odin': 12,
    'ifrit': 13,
    'diabolos': 14,
    'caitsith': 15,
    'quetzalcoatl': 16,
    'siren': 17,
    'unicorn': 18,
    'gilgamesh': 19,
    'ragnarok': 20,
    'pandemonium': 21,
    'garuda': 22,
    'cerberus': 23,
    'kujata': 24,
    'bismarck': 25,
    'seraph': 26,
    'lakshmi': 27,
    'asura': 28,
    'midgardsormr': 29,
    'fairy': 30,
    'remora': 31,
    'hades': 32
}

ID_SERVER = {v: k for k, v in SERVER_ID.items()}



class FFXIAHScrubber(Scrubber):