def perform(self):
        """Main method to be called to run this application.

        Args:
            N/A

        Returns:
            N/A

        """
        print "Searching for usage in {}:\n".format(self.regions)

        for i in self.regions:
            self.session = boto3.Session(region_name=i)
            self.client = self.session.client('ec2')
            cidr_list = self.__set_cidr_list__(self.cidr, i)
            if len(cidr_list) < 1:
                print Emojipedia.search(
                    'smiling-face-with-smiling-eyes'
                ).character + "  No unused IP addresses found " + Emojipedia.search(
                    'smiling-face-with-smiling-eyes').character
            else:
                for cidr in cidr_list:
                    print "\t{}/32".format(cidr)
                print "\n"
                self.describe_security_groups(cidr_list)
            print "\n\n"
Esempio n. 2
0
def isemojisuccess(token):
    success = False
    try:
        description = Emojipedia.search(token).description
        success = True
    except:
        success = False
    return success
def test_emoji_aliases():
    hands = Emojipedia.search('person-with-folded-hands')
    correct = ['High Five',
               'Please',
               'Prayer',
               'Thank You',
               'Namaste']
    assert set(hands.aliases) == set(correct)
    def describe_security_groups(self, cidr_list):
        """Find unused IP addresses from a dict and map the names to a list

        Args:
            N/A

        Returns:
            rtn (list): List of unused IP Addresses

        """
        filters = []
        cidr_inbound_permission = {'Name': 'ip-permission.cidr', 'Values': []}

        for k in cidr_list:
            cidr_inbound_permission['Values'].append(["{}/32".format(k)])

        cidr_inbound_permission['Values'] = base.flatten(
            cidr_inbound_permission['Values'])

        filters.append(cidr_inbound_permission)
        rtn = self.client.describe_security_groups(Filters=filters)

        found_mapping = {}
        if len(rtn['SecurityGroups']) > 0:
            print Emojipedia.search(
                'loudly-crying-face'
            ).character + "  Found Unused IP Address(es) in the following SGs: " + Emojipedia.search(
                'loudly-crying-face').character
            for k in rtn['SecurityGroups']:
                found_mapping[k['GroupId']] = []
                for j in k['IpPermissions']:
                    for l in j['IpRanges']:
                        if l['CidrIp'] in cidr_inbound_permission['Values']:
                            found_mapping[k['GroupId']].append(l['CidrIp'])
            for k in found_mapping:
                print k + ": "
                for j in found_mapping[k]:
                    print "\t" + j
                print "\n"
        else:
            print Emojipedia.search(
                'smiling-face-with-smiling-eyes'
            ).character + "  Unused IP Addresses do not exist in any security group " + Emojipedia.search(
                'smiling-face-with-smiling-eyes').character
        return found_mapping
Esempio n. 5
0
def test_all_emoji():
    all_emoji = Emojipedia.all()
    assert len(all_emoji) >= 2621
    for e in all_emoji:
        # Test private properties so we don't scrape Emojipedia
        # if this fails
        assert e._title
        assert e._character
        assert e._codepoints
def test_all_emoji():
    all_emoji = Emojipedia.all()
    assert len(all_emoji) >= 2621
    for e in all_emoji:
        # Test private properties so we don't scrape Emojipedia
        # if this fails
        assert e._title
        assert e._character
        assert e._codepoints
Esempio n. 7
0
def issuccess(shortcodemoji, key):
    success = False
    try:
        description = Emojipedia.search(shortcodeemoji[key]).description
        success = True

    except:
        success = False
    return success
def test_platforms():
    wink = Emojipedia.search('bug')
    correct = ['LG', 'Google', 'HTC', 'Apple', 'Samsung', 'Twitter',
               'Mozilla', 'EmojiOne', 'Facebook', 'emojidex', 'Messenger',
               'Microsoft']

    # Order not important
    assert set(correct) <= set([x.name for x in wink.platforms])
    for platform in wink.platforms:
        assert platform.name
        assert platform.image_url.startswith('http')
Esempio n. 9
0
def test_platforms():
    wink = Emojipedia.search('bug')
    correct = [
        'LG', 'Google', 'HTC', 'Apple', 'Samsung', 'Twitter', 'Mozilla',
        'Facebook', 'emojidex', 'Messenger', 'Microsoft'
    ]

    # Order not important
    assert set(correct) <= set([x.name for x in wink.platforms])
    for platform in wink.platforms:
        assert platform.name
        assert platform.image_url.startswith('http')
Esempio n. 10
0
def emojiprocess(comment):
    emojis_shortcodes = re.findall(r"\:(.*?)\:", comment)
    keys = [k for k, v in shortcodeemoji.items()]
    for emoji_shortcode in emojis_shortcodes:
        emoji_shortcode = ":" + emoji_shortcode + ":"
        for key in keys:
            if emoji_shortcode in key:
                try:
                    description = Emojipedia.search(
                        shortcodeemoji[key]).description
                    description = description[0:description.find('\n\n')]
                    comment = comment.replace(emoji_shortcode, description)

                except:
                    prev_time = time.time()
                    while True:
                        now = time.time()
                        if (now - prev_time) > 300:
                            description = key
                            comment = comment.replace(emoji_shortcode,
                                                      description)
                            break
                        print("Connection refused by the server..")
                        print("Let me sleep for 5 seconds")
                        print("ZZzzzz...")
                        time.sleep(10)
                        print("Was a nice sleep, now let me continue...")
                        success = issuccess(shortcodeemoji, key)
                        if success:
                            description = Emojipedia.search(
                                shortcodeemoji[key]).description
                            description = description[0:description.find('\n\n'
                                                                         )]
                            comment = comment.replace(emoji_shortcode,
                                                      description)
                            break

        ##If available then replace with the description
        ##else replace with the same text
    return comment
Esempio n. 11
0
def getDescription(token):
    #description=emoji.UNICODE_EMOJI[token]
    try:
        description = Emojipedia.search(token).description
    except:
        print("Exception occurred in getting description of the emoji")
        prev_time = time.time()
        while True:
            next_time = time.time()
            if (next_time - prev_time) > 300:
                description = token
                break

            print("Connection refused by the server..")
            print("Let me sleep for 5 seconds")
            print("ZZzzzz...")
            time.sleep(10)
            print("Was a nice sleep, now let me continue...")
            success = isemojisuccess(token)
            if success:
                description = Emojipedia.search(token).description
                break

    return description
    def emoji_to_keywords_and_categories(self, text):
        emoji_list = self.extract_emojis_from_text(text)

        for emo in emoji_list:
            emoji_decoded = emo.encode('unicode-escape').decode('ASCII')
            if '000' in emoji_decoded:  # case: \U0001f64f
                emoji_decoded = emoji_decoded.replace('000', '+')[1:]

            else:  # case: \u2614
                emoji_decoded = emoji_decoded[1:]
                emoji_decoded = emoji_decoded[:1] + '+' + emoji_decoded[1:]
            emoji_decoded = emoji_decoded.upper()

            keywords, categories = self.categories_keywords_from_emojiNet(
                emoji_decoded)

            meaning = Emojipedia.search(emo)
            keywords.append(
                meaning.shortcodes)  # TODO: check if redundant or useful

            return keywords, categories
Esempio n. 13
0
def test_invalid_url():
    Emojipedia.search('not a valid url')
Esempio n. 14
0
def test_non_emoji_entry_query():
    Emojipedia.search('people')
Esempio n. 15
0
def test_emoji_character():
    taco = Emojipedia.search('taco')
    assert taco.character == u'ЁЯМо'
def test_emoji_without_shortcode():
    wind_blow = Emojipedia.search('wind-blowing-face')
    assert wind_blow.shortcodes is None
Esempio n. 17
0
def test_emoji_without_shortcode():
    wind_blow = Emojipedia.search('wind-blowing-face')
    assert wind_blow.shortcodes is None
Esempio n. 18
0
def test_emoji_no_aliases():
    heavy_plus = Emojipedia.search('heavy-plus-sign')
    assert heavy_plus.aliases is None
Esempio n. 19
0
from emojipedia import Emojipedia

face_with_tears = Emojipedia.search('face-with-tears-of-joy')

print face_with_tears.title  # Title

print face_with_tears.description  # Description

print face_with_tears.aliases  # Aliases

# Prints the titles of available platforms
print[x['title'] for x in face_with_tears.platforms]
def test_invalid_url():
    Emojipedia.search('not a valid url')
def test_emoji_character():
    taco = Emojipedia.search('taco')
    assert taco.character == u'🌮'
def test_emoji_repr():
    pizza = Emojipedia.search('slice-of-pizza')
    correct = (u"<Emoji - 'Pizza' - character: �, "
               u"description: A slice of pepperoni...>")
    assert pizza.__unicode__() == correct
    assert pizza.__repr__() == pizza.__str__()
def test_emoji_title():
    taco = Emojipedia.search('taco')
    assert taco.title == "Taco"
def test_emoji_no_aliases():
    heavy_plus = Emojipedia.search('heavy-plus-sign')
    assert heavy_plus.aliases is None
Esempio n. 25
0
        emoji_version_list.append(cur_dict)
        emoji_version_index += 1

    # ------- SCRAPE EMOJI -------

    print("Scraping Emoji by Unicode Versions")

    emoji_per_version = []

    # This loop scrapes emoji through by way of unicode versions. It passes a unicode version (e.g., unicode-1.1) to
    # Emojipedia's _get_page method which then scrapes emojipedia.org and parses through the html to find emoji.
    #
    # For an example of the data that is scraped: https://emojipedia.org/unicode-1.1/
    for emoji_version in emoji_version_list:

        soup = Emojipedia._get_page(emoji_version["url"])
        emoji_found = []

        emoji_lists = soup.find('div', {'class': 'content'}).find_all('ul')
        for emoji_list in emoji_lists:
            for emoji_entry in emoji_list.find_all('li'):
                if emoji_entry.find('span', {'class': 'emoji'}):
                    emoji_link = emoji_entry.find('a')
                    emoji_text = emoji_link.text.split(' ')

                    e = emoji.Emoji(url=emoji_link['href'])
                    e._character, e._title = emoji_text[0], ' '.join(
                        emoji_text[1:])
                    emoji_found.append(e)

        emoji_per_version.append((emoji_version["id"], emoji_found))
Esempio n. 26
0
def test_emoji_description():
    shrug = Emojipedia.search('shrug')
    correct = "A person shrugging"
    assert shrug.description.startswith(correct)
def test_emoji_codepoints():
    shrug = Emojipedia.search('shrug')
    correct = 'U+1F937'
    assert shrug.codepoints[0] == correct
Esempio n. 28
0
def test_emoji_codepoints():
    shrug = Emojipedia.search('shrug')
    correct = 'U+1F937'
    assert shrug.codepoints[0] == correct
Esempio n. 29
0
def test_emoji_category():
    people = Emojipedia.category('people')
    for e in people:
        assert e.title
        assert e.character
Esempio n. 30
0
def test_emoji_shortcodes():
    joy_tears = Emojipedia.search('face-with-tears-of-joy')
    correct = ':joy:'
    assert joy_tears.shortcodes == correct
Esempio n. 31
0
                            password=db_config['password'],
                            database=db_config['database'],
                            use_unicode=True,
                            charset="utf8mb4")

cursor = db_conn.cursor()
cursor.execute('SET NAMES utf8mb4')
cursor.execute("SET CHARACTER SET utf8mb4")
cursor.execute("SET character_set_connection=utf8mb4")

with open('Output/method2_insert_emoji.sql', 'w', encoding='utf-8') as db_file:

    # ------- SCRAPE EMOJI -------

    print("Scraping Emoji by Emojipedia.all()")
    scraped_emoji = Emojipedia.all()

    emoji_id = 1

    # ------- PERSIST EMOJI & UNICODE -------
    print("Persisting Emoji")
    for current_emoji in scraped_emoji:
        # not everything kicked back is actually an emoji, double checking
        try:
            image_url = current_emoji.platforms[0].image_url
            cur_emoji_unicode = []
            for unicode in current_emoji.codepoints:
                cur_emoji_unicode.append(unicode)
            if len(cur_emoji_unicode) == 0:
                continue
        except:
Esempio n. 32
0
def test_emoji_aliases():
    hands = Emojipedia.search('person-with-folded-hands')
    correct = ['Please', 'Prayer', 'Thank You', 'Namaste']
    assert set(hands.aliases) == set(correct)
def test_emoji_description():
    shrug = Emojipedia.search('shrug')
    correct = "A person shrugging"
    assert shrug.description.startswith(correct)
Esempio n. 34
0
def test_emoji_title():
    taco = Emojipedia.search('taco')
    assert taco.title == "Taco"
def test_non_emoji_entry_query():
    Emojipedia.search('people')
Esempio n. 36
0
def test_emoji_repr():
    pizza = Emojipedia.search('slice-of-pizza')
    correct = (u"<Emoji - 'Pizza' - character: ЁЯНХ, "
               u"description: A slice of pepperoni...>")
    assert pizza.__unicode__() == correct
    assert pizza.__repr__() == pizza.__str__()
def test_emoji_shortcodes():
    joy_tears = Emojipedia.search('face-with-tears-of-joy')
    correct = ':joy:'
    assert joy_tears.shortcodes == correct
def test_emoji_category():
    people = Emojipedia.category('people')
    for e in people:
        assert e.title
        assert e.character
def test_emoji_aliases():
    hands = Emojipedia.search('person-with-folded-hands')
    correct = ['High Five', 'Please', 'Praying Hands', 'Thank You']
    assert set(hands.aliases) == set(correct)