1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
import datetime
from django.core.exceptions import ObjectDoesNotExist
from django.template.defaultfilters import striptags
from django.core.mail import EmailMessage
from django.conf import settings
from utils.strutils import safestr,unquotehtml
from links.models import Link
from utils import pinboard
def sync_pinboard_links():
"""
sync bookmarks from my pinboard account
dependancies: python-pinboard https://github.com/mgan59/python-pinboard/
"""
p = pinboard.open(settings.PIN_USER, settings.PIN_PASS)
dupe = False
links = p.posts(count=30)
for link in links:
try:
#check to see if link exists
row = Link.objects.get(link_id=safestr(link['hash']))
except ObjectDoesNotExist:
l, created = Link.objects.get_or_create(
title = link['description'],
link_id = safestr(link['hash']),
url = safestr(link['href']),
description = safestr(link['extended']),
rating = "3",
pub_date = datetime.datetime.strptime(link['time'], "%Y-%m-%dT%H:%M:%SZ"),
status = 0
)
print l.title
if created:
print l.title
for t in link['tags']:
l.tags.add(t)
email_link(l)
'''
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+links@gmail.com'])
msg.send()
msg = EmailMessage(subject, striptags(body), 'sng@luxagraf.net', ['sng+links@luxagraf.net'])
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")
'''
|