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
|
import datetime
from random import randint
from django.core.exceptions import ObjectDoesNotExist
from django.template.defaultfilters import striptags
from django.core.mail import EmailMessage
from django.conf import settings
from links.models import Link
import requests
import json
def sync_pinboard_links():
PB_URL = "https://api.pinboard.in/v1/posts/all?results=70&format=json"
r = requests.get(PB_URL, auth=((settings.PIN_USER, settings.PIN_PASS)))
links = json.loads(r.text)
for link in links:
try:
# check to see if link exists
row = Link.objects.get(url=link['href'])
print("already have" + row.title)
except ObjectDoesNotExist:
md = get_markdown(link['href'])
l, created = Link.objects.get_or_create(
title=link['description'],
url=link['href'],
description=link['extended'],
pub_date=datetime.datetime.strptime(link['time'], "%Y-%m-%dT%H:%M:%SZ"),
status=0,
body_markdown=md['markdown']
)
if created:
print(l.title)
for t in link['tags'].split(" "):
l.tags.add(t)
email_link(l)
def get_markdown(source):
url = "http://heckyesmarkdown.com/go/?read=1&preview=0&showframe=0&output=json&u=%s" % (source)
r = requests.get(url, timeout=15.001)
data = r.json()
return data
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 random_link():
total = Link.objects.all().count()
pk = randint(1, total)
try:
link = Link.objects.get(pk=pk)
except:
try:
link = Link.objects.get(pk=pk+1)
except:
link = Link.objects.get(pk=pk+91)
subject = "today's link: %s" % link.title
body = "%s\n\n%s\n\n\nvisit site:%s\n\n\ndelete link: https://live.luxagraf.net/admin/links/link/%s/" % (link.title, link.description, link.url, link.pk)
msg = EmailMessage(subject, striptags(body), 'sng@luxagraf.net', ['sng@luxagraf.net'])
msg.send()
|