def execute(self): """ Execute the installation or production logic. """ replacement_production = { 'to_replace': [ 'official_status_index', 'official_down_status', 'official_up_status', 'adblock', 'auto_continue', 'command_before_end', 'custom_ip', 'days_between_db_retest', 'debug', 'domain', 'generate_hosts', 'header_printed', 'to_filter', 'less', 'logs', 'plain_list_domain', 'quiet', 'referer', 'seconds_before_http_timeout', 'share_logs', 'show_execution_time', 'show_percentage', 'split_files', 'travis', 'travis_autosave_minutes', 'travis_autosave_commit', 'travis_autosave_final_commit', 'unified_file', 'link_to_repo', 'iana_server', 'current_datetime', 'number_of_tested', 'number_of_up', 'number_of_down', 'number_of_invalid', 'http_code_status', 'http_code', 'cleaned_done', 'current_dir' ] } replacement_installation = { 'current_dir': r"current_dir = '%%current_dir%%'" } replacement_list = {} if self.production: replacement_list = replacement_production else: replacement_list = replacement_installation if self.data_to_install is not None: replacement_list.update(self.data_to_install) script = Helpers.File(self.file_to_install).read() for to_replace in replacement_list: if to_replace == 'to_replace' or to_replace == 'to_install': for variable in replacement_list[to_replace]: if to_replace == 'to_install': replacement = variable + ' = ' + \ str(replacement_list[to_replace][variable]) else: replacement = variable + ' = ' + \ self.default_values()[variable] script = Helpers.Regex(script, variable + ' = .*', replace_with=replacement, occurences=1).replace() else: replacement = to_replace + ' = ' + \ self.default_values()[to_replace] script = Helpers.Regex(script, replacement_list[to_replace], replace_with=replacement, occurences=1).replace() Helpers.File(self.file_to_install).write(script, True) if not Settings.quiet: print(Settings.done)
def referer(cls, extension): """ Return the referer for the given extension. :pram extension: A string, a valid domain extension. """ from PyFunceble import Lookup manual_server = { 'aaa': 'whois.nic.aaa', 'abb': 'whois.nic.abb', 'able': 'whois.nic.able', 'accenture': 'whois.nic.accenture', 'aetna': 'whois.nic.aetna', 'aig': 'whois.nic.aig', 'americanexpress': 'whois.nic.americanexpress', 'amex': 'whois.nic.amex', 'amica': 'whois.nic.amica', 'amsterdam': 'whois.nic.amsterdam', 'analytics': 'whois.nic.analytics', 'aramco': 'whois.nic.aramco', 'athleta': 'whois.nic.athleta', 'audible': 'whois.nic.audible', 'author': 'whois.nic.author', 'aws': 'whois.nic.aws', 'axa': 'whois.nic.axa', 'azure': 'whois.nic.azure', 'baby': 'whois.nic.baby', 'banamex': 'whois.nic.banamex', 'bananarepublic': 'whois.nic.bananarepublic', 'baseball': 'whois.nic.baseball', 'bharti': 'whois.nic.bharti', 'bing': 'whois.nic.bing', 'bloomberg': 'whois.nic.bloomberg', 'bm': 'whois.afilias-srs.net', 'book': 'whois.nic.book', 'booking': 'whois.nic.booking', 'bot': 'whois.nic.bot', 'bz': 'whois.afilias-grs.net', 'buzz': 'whois.nic.buzz', 'call': 'whois.nic.call', 'calvinklein': 'whois.nic.calvinklein', 'caravan': 'whois.nic.caravan', 'cartier': 'whois.nic.cartier', 'cbn': 'whois.nic.cbn', 'cbre': 'whois.nic.cbre', 'cd': 'chois.nic.cd', 'chase': 'whois.nic.chase', 'circle': 'whois.nic.circle', 'cisco': 'whois.nic.cisco', 'citadel': 'whois.nic.citadel', 'citi': 'whois.nic.citi', 'citic': 'whois.nic.citic', 'cm': 'whois.netcom.cm', 'coupon': 'whois.nic.coupon', 'crown': 'whois.nic.crown', 'crs': 'whois.nic.crs', 'fj': 'whois.usp.ac.fj', 'ga': 'whois.my.ga', 'gh': 'whois.nic.gh', 'kw': 'whois.nic.kw', 'lc': 'whois2.afilias-grs.net', 'lk': 'whois.nic.lk', 'microsoft': 'whois.nic.microsoft', 'nyc': 'whois.nic.nyc', 'ps': 'whois.pnina.ps', 'ren': 'whois.nic.ren', 'rw': 'whois.ricta.org.rw', 'shop': 'whois.nic.shop', 'sl': 'whois.nic.sl', 'stream': 'whois.nic.stream', 'tokyo': 'whois.nic.tokyo', 'uno': 'whois.nic.uno', 'za': 'whois.registry.net.za' } if extension in manual_server: return manual_server[extension] else: whois_record = Lookup().whois(Settings.iana_server, 'hello.' + extension, 10) if whois_record is not None: regex_referer = r'(refer:)\s+(.*)' if Helpers.Regex(whois_record, regex_referer, return_data=False).match(): return Helpers.Regex(whois_record, regex_referer, return_data=True, group=2).match() return None
def referer(cls, extension): """ Return the referer for the given extension. :pram extension: A string, a valid domain extension. """ from PyFunceble import Lookup manual_server = { 'aaa': 'whois.nic.aaa', 'abb': 'whois.nic.abb', 'able': 'whois.nic.able', 'accenture': 'whois.nic.accenture', 'aetna': 'whois.nic.aetna', 'aig': 'whois.nic.aig', 'americanexpress': 'whois.nic.americanexpress', 'amex': 'whois.nic.amex', 'amica': 'whois.nic.amica', 'amsterdam': 'whois.nic.amsterdam', 'analytics': 'whois.nic.analytics', 'aramco': 'whois.nic.aramco', 'athleta': 'whois.nic.athleta', 'audible': 'whois.nic.audible', 'author': 'whois.nic.author', 'bm': 'whois.afilias-srs.net', 'bz': 'whois.afilias-grs.net', 'cd': 'chois.nic.cd', 'cm': 'whois.netcom.cm', 'fj': 'whois.usp.ac.fj', 'ga': 'whois.my.ga', 'lc': 'whois2.afilias-grs.net', 'lk': 'whois.nic.lk', 'nyc': 'whois.nic.nyc', 'ps': 'whois.pnina.ps', 'ren': 'whois.nic.ren', 'rw': 'whois.ricta.org.rw', 'shop': 'whois.nic.shop', 'sl': 'whois.nic.sl', 'stream': 'whois.nic.stream', 'tokyp': 'whois.nic.tokyo', 'uno': 'whois.nic.uno', 'za': 'whois.registry.net.za' } if extension in manual_server: return manual_server[extension] else: whois_record = Lookup().whois(Settings.iana_server, 'hello.' + extension, 10) if whois_record is not None: regex_referer = r'(refer:)\s+(.*)' if Helpers.Regex(whois_record, regex_referer, return_data=False).match(): return Helpers.Regex(whois_record, regex_referer, return_data=True, group=2).match() return None