Skip to content

Instantly share code, notes, and snippets.

@Resisty
Last active March 1, 2016 03:26
Show Gist options
  • Save Resisty/271e1ef4d66250fc9c0a to your computer and use it in GitHub Desktop.
Save Resisty/271e1ef4d66250fc9c0a to your computer and use it in GitHub Desktop.
Hashtag Enterprise...ish
# modularize
import logging
LOGGER = logging.getLogger('hashtag')
class Hashtag(object):
''' Make hashtags safely and responsibly.
Class methods:
__init__
from_str
'''
def __init__(self, obj):
self._hashtag = Hashtag.from_obj(obj)
@property
def hashtag(self):
return self._hashtag
@hashtag.setter
def hashtag(self, s):
self._hashtag = Hashtag.from_obj(s)
return self._hashtag
@classmethod
def from_obj(cls, obj):
try:
s = str(obj)
except UnicodeEncodeError as e:
LOGGING.error('Unable to convert unicode character to hashtag.')
return '#' + s
import argparse as ap
import hashtag
def main():
parser = ap.ArgumentParser('Turn stuff into hashtags!')
parser.add_argument('untagged',
nargs='+',
type=str,
help='Space-delimited words to be turned into hashtags')
args = parser.parse_args()
print ' '.join([hashtag.Hashtag.from_obj(i) for i in args.untagged])
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment