diff options
author | luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f <luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f> | 2010-07-04 01:15:52 +0000 |
---|---|---|
committer | luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f <luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f> | 2010-07-04 01:15:52 +0000 |
commit | 30f1c900a1ca0f9f868f1aa92f7e123560f242a7 (patch) | |
tree | 435d9d5e7116239db5cb259b36974be8bfeab718 /apps/links/utils.py | |
parent | 56d590eab871d5c229a718f14709f5704b131d28 (diff) |
renamed individual utils files retriever
Diffstat (limited to 'apps/links/utils.py')
-rw-r--r-- | apps/links/utils.py | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/apps/links/utils.py b/apps/links/utils.py deleted file mode 100644 index 35bd41a..0000000 --- a/apps/links/utils.py +++ /dev/null @@ -1,161 +0,0 @@ -import time, datetime, urllib - -from django.core.exceptions import ObjectDoesNotExist -from django.template.defaultfilters import slugify,striptags -from django.core.mail import EmailMessage -from django.utils.encoding import smart_unicode -from django.conf import settings - - -from utils.strutils import safestr,unquotehtml -from utils.APIClients import MagnoliaClient -from utils import pydelicious as delicious -from utils import markdown2 as markdown - -from links.models import Link - -def flickr_datetime_to_datetime(fdt): - from datetime import datetime - from time import strptime - date_parts = strptime(fdt, '%Y-%m-%dT%H:%M:%S%Z') - return datetime(*date_parts[0:6]) - -def sync_magnolia_links(*args, **kwargs): - #Number of links to retrieve at one time - get_num = 15 - BASE_PATH = 'http://ma.gnolia.com/api/rest/1/' - client = MagnoliaClient(BASE_PATH, settings.MAGNOLIA_API_KEY) - data = client.bookmarks_find(person="luxagraf",limit=get_num) - dupe = False - for post in data.findall('bookmarks/bookmark'): - taglist = [] - info = dict((k, smart_unicode(post.get(k))) for k in post.keys()) - try: - row = Link.objects.get(magnolia_id=safestr(info['id'])) - # If the row exists already, set the dupe flag - dupe = True - except ObjectDoesNotExist: - f = copy_file(safestr(post.findtext('screenshot')), safestr(info['id'])) - local_image_url = "%s/%s.jpg" %(safestr(datetime.datetime.today().strftime("%b").lower()), safestr(info['id'])) - - for t in post.findall('tags/tag'): - tag = dict((k, smart_unicode(t.get(k))) for k in t.keys()) - taglist.append(tag['name']) - print tag['name'] - for tag in taglist: - if tag == '2lux': - status = 1 - break - else: - status = 0 - descr = markdown.markdown(unquotehtml(safestr(post.findtext('description'))), safe_mode = False) - l, created = Link.objects.get_or_create( - title = post.findtext('title'), - magnolia_id = safestr(info['id']), - url = safestr(post.findtext('url')), - description = descr, - screen_url = local_image_url, - rating = safestr(info['rating']), - pub_date = datetime.datetime(*(time.strptime(str(info['created'][:-6]), '%Y-%m-%dT%H:%M:%S')[0:6])), - status = status, - enable_comments = True, - tags = ", ".join(t for t in taglist if t != "2lux") - ) - - email_link(l) - send_to_delicious(l) - if l.status == 1: - post_to_tumblr(l) - send_to_deliciousfb(l) - if(dupe): - break - -def sync_delicious_links(*args, **kwargs): - b = delicious.get_all(settings.DELICIOUS_USER, settings.DELICIOUS_PASS) - dupe = False - for post in b: - taglist = [] - try: - row = Link.objects.get(magnolia_id=safestr(post['hash'])) - # If the row exists already, set the dupe flag - dupe = True - except ObjectDoesNotExist: - #f = copy_file(safestr(post.findtext('screenshot')), safestr(info['id'])) - #fake the image since delicious doesn't offer them - local_image_url = "%s/%s.jpg" %(safestr(datetime.datetime.today().strftime("%b").lower()), safestr(post['hash'])) - tags = str(post['tag']).split(" ") - for tag in tags: - taglist.append(tag) - for tag in taglist: - if tag == '2lux': - status = 1 - break - else: - status = 0 - descr = markdown.markdown(unquotehtml(safestr(post['extended'])), safe_mode = False) - l, created = Link.objects.get_or_create( - title = post['description'], - magnolia_id = safestr(post['hash']), - url = safestr(post['href']), - description = descr, - screen_url = local_image_url, - #fake the rating since delicious doesn't offer such things - rating = "3", - pub_date = datetime.datetime.strptime(post['time'], "%Y-%m-%dT%H:%M:%SZ"), - status = status, - enable_comments = True, - tags = ", ".join(t for t in taglist if t != "2lux") - ) - - email_link(l) - if l.status == 1: - pass - #post_to_tumblr(l) - #send_to_deliciousfb(l) - if(dupe): - break - - - - - -def email_link(link): - """ - Sends an imported link to Gmail (never hurts to have backups) - """ - subject = link.title - body = "%s\n\n%s\n\n\nvisit site:%s\n" %(link.title, link.description, link.url) - msg = EmailMessage(subject, striptags(body), 'sng@luxagraf.net', ['luxagraf@gmail.com']) - msg.send() - -def send_to_delicious(link): - del_tags = '' - tags = link.tags.split(',') - for tag in tags: - del_tags += tag.strip().replace(' ','_')+' ' - delicious.add(settings.DELICIOUS_USER, settings.DELICIOUS_PASS, link.url, link.title, tags = del_tags, extended = striptags(link.description), dt =safestr(link.pub_date), replace="no") - -def copy_file(url, id): - filename="/home/luxagraf/webapps/static/images/magnolia_thumbs/%s/%s.jpg" %(datetime.datetime.today().strftime("%b").lower(), id) - urllib.urlretrieve(url, filename) - return id - -def post_to_tumblr(link): - from links import tumblr - blog = settings.TUMBLR_URL - user= settings.TUMBLR_USER - password = settings.TUMBLR_PASSWORD - api = tumblr.Api(blog,user,password) - post = api.write_link(link.url,name=link.title,description=link.description,date=safestr(link.pub_date)) - -def send_to_deliciousfb(link): - """Wanted my links to go to Facebook and since the Facebook API is needlessly complex - I just created a second delicious account and added the feed via facebook""" - del_tags = '' - tags = link.tags.split(',') - for tag in tags: - del_tags += tag.strip().replace(' ','_')+' ' - desc = link.description.replace('<blockquote>','\n“') - desc = desc.replace('</blockquote>','”\n') - desc = striptags(desc) - delicious.add(settings.DELTOFACEUSER, settings.DELTOFACEPASS, link.url, link.title, tags = del_tags, extended = desc, dt =safestr(link.pub_date), replace="no") |