Skip to content

Commit

Permalink
Added repr/str methods to Emoji, pep8 refactoring, initial PyPI relea…
Browse files Browse the repository at this point in the history
…se files
  • Loading branch information
bcongdon committed May 11, 2016
1 parent c53540a commit 3a7135e
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 13 deletions.
6 changes: 6 additions & 0 deletions MANIFEST
@@ -0,0 +1,6 @@
# file GENERATED by distutils, do NOT edit
setup.cfg
setup.py
emojipedia/__init__.py
emojipedia/emoji.py
emojipedia/emojipedia.py
12 changes: 11 additions & 1 deletion emojipedia/emoji.py
Expand Up @@ -37,7 +37,7 @@ def platforms(self):
{'class': 'vendor-list'})
for vendor in platform_section.findAll('li'):
vendor_title = vendor.findNext('h2')
vendor_img = vendor.find('div',{'class':'vendor-image'})
vendor_img = vendor.find('div', {'class': 'vendor-image'})

platform = {
'title': vendor_title.text,
Expand Down Expand Up @@ -78,3 +78,13 @@ def character(self):
if not self._character:
self._character = self.soup.find('h1').text.split()[0]
return self._character

def __str__(self):
string = u"<Emoji - '{0}' - character: {2}, description: {1}>"
string = string.format(self.title,
self.description[:20] + "...",
self.character)
return string.encode('utf-8')

def __repr__(self):
return self.__str__()
1 change: 0 additions & 1 deletion emojipedia/emojipedia.py
Expand Up @@ -23,7 +23,6 @@ def valid_emoji_page(soup):

@staticmethod
def get_emoji_page(query):
# TODO: Allow 'seach' for emoji (non-literal title)
response = requests.get('http://emojipedia.org/' + query)
if response.status_code != 200:
raise UserWarning('Could not get emojipedia page for \'{0}\''
Expand Down
9 changes: 5 additions & 4 deletions examples/emoji_info.py
Expand Up @@ -2,10 +2,11 @@

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

print face_with_tears.title # Title
print face_with_tears.title # Title

print face_with_tears.description # Description
print face_with_tears.description # Description

print face_with_tears.aliases # Aliases
print face_with_tears.aliases # Aliases

print [x['title'] for x in face_with_tears.platforms] # Prints the titles of available platforms
# Prints the titles of available platforms
print [x['title'] for x in face_with_tears.platforms]
2 changes: 2 additions & 0 deletions setup.cfg
@@ -0,0 +1,2 @@
[metadata]
description-file = README.md
9 changes: 8 additions & 1 deletion setup.py
Expand Up @@ -3,10 +3,17 @@
from distutils.core import setup

setup(name='Emojipedia',
packages=['emojipedia'],
version='0.1',
description='Emoji data from Emojipedia',
author='Benjamin Congdon',
author_email='bcongdo2@illinois.edu',
url='https://github.com/benjamincongdon',
packages=['emojipedia'],
download_url='https://github.com/benjamincongdon/' +
'python-emojipedia/tarball/0.1',
keywords=['emoji', 'emojipedia'],
classifiers=['Programming Language :: Python :: 2.7',
'Topic :: Communications :: Chat',
'Topic :: Text Processing',
'Topic :: Utilities'],
)
16 changes: 10 additions & 6 deletions test_emojipedia.py
Expand Up @@ -26,13 +26,17 @@ def test_emoji_codepoints():

def test_platforms():
wink = Emojipedia.search('winking-face')
correct = ['Apple','Google','Microsoft','Samsung',
'LG','HTC','Twitter','Facebook','Mozilla', 'Emoji One']
assert set([x['title'] for x in wink.platforms]) == set(correct) # Order not important
correct = ['Apple', 'Google', 'Microsoft', 'Samsung',
'LG', 'HTC', 'Twitter', 'Facebook', 'Mozilla', 'Emoji One']

# Order not important
assert set([x['title'] for x in wink.platforms]) == set(correct)
for platform in wink.platforms:
assert 'title' in platform
assert 'platform_url' in platform and platform['platform_url'].startswith('/')
assert 'platform_image' in platform and platform['platform_image'].startswith('http')
assert ('platform_url' in platform and
platform['platform_url'].startswith('/'))
assert ('platform_image' in platform and
platform['platform_image'].startswith('http'))


def test_emoji_shortcodes():
Expand Down Expand Up @@ -68,4 +72,4 @@ def test_emoji_title():
def test_emoji_character():
taco = Emojipedia.search('taco')
# Python Unicode silliness
assert taco.character.encode('unicode_escape') == '\\U0001f32e'
assert taco.character.encode('unicode_escape') == '\\U0001f32e'

0 comments on commit 3a7135e

Please sign in to comment.