summaryrefslogtreecommitdiff
path: root/apps/links/utils.py
diff options
context:
space:
mode:
authorluxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f <luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f>2010-07-04 01:15:52 +0000
committerluxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f <luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f>2010-07-04 01:15:52 +0000
commit30f1c900a1ca0f9f868f1aa92f7e123560f242a7 (patch)
tree435d9d5e7116239db5cb259b36974be8bfeab718 /apps/links/utils.py
parent56d590eab871d5c229a718f14709f5704b131d28 (diff)
renamed individual utils files retriever
Diffstat (limited to 'apps/links/utils.py')
-rw-r--r--apps/links/utils.py161
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&#8220;')
- desc = desc.replace('</blockquote>','&#8221;\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")