Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added foursquare mediacontent service #20

Merged
merged 2 commits into from Mar 13, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions libturpial/api/models/mediacontent.py
Expand Up @@ -10,6 +10,7 @@

IMAGE_CONTENT = 0
VIDEO_CONTENT = 1
MAP_CONTENT = 2

class MediaContent(object):
def __init__(self, type_, name, content, path=None, info=None):
Expand All @@ -36,3 +37,6 @@ def is_video(self):
def is_image(self):
return self.type_ == IMAGE_CONTENT

def is_map(self):
return self.type_ == MAP_CONTENT

4 changes: 3 additions & 1 deletion libturpial/api/services/showmedia/__init__.py
Expand Up @@ -10,11 +10,13 @@
from libturpial.api.services.showmedia.instagram import InstagramMediaContent
from libturpial.api.services.showmedia.pictwitter import PicTwitterMediaContent
from libturpial.api.services.showmedia.youtube import YouTubeMediaContent
from libturpial.api.services.showmedia.foursquare import FoursquareMediaContent

SHOWMEDIA_SERVICES = {
'twitpic': TwitpicMediaContent(),
'yfrog': YfrogMediaContent(),
'instagram': InstagramMediaContent(),
'pic.twitter.com': PicTwitterMediaContent(),
'youtube' : YouTubeMediaContent()
'youtube' : YouTubeMediaContent(),
'foursquare' : FoursquareMediaContent()
}
30 changes: 30 additions & 0 deletions libturpial/api/services/showmedia/foursquare.py
@@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-

"""Foursquare show media content service"""
#
# Author: Andrea Stagi (aka 4ndreaSt4gi)
# 2012-03-12

import traceback
import urllib
from libturpial.api.models.mediacontent import *
from libturpial.api.services.showmedia.base import *
from libturpial.api.interfaces.service import ServiceResponse

class FoursquareMediaContent(ShowMediaService):
def __init__(self):
ShowMediaService.__init__(self)
self.url_pattern = "(http(s)?://)?4sq.com"

def do_service(self, url):
try:
long_url = urllib.urlopen(url).geturl()
url_parts = long_url.split("foursquare.com")
path = "%s%s%s" % (url_parts[0], "foursquare.com/oembed", url_parts[1])
info = {}
info['width'] = 436
info['height'] = 357
return ServiceResponse(MediaContent(MAP_CONTENT, url, long_url, path, info))
except Exception, error:
self.log.debug("Error: %s\n%s" % (error, traceback.print_exc()))
return ServiceResponse(err=True, err_msg=_('Problem showing media content'))