squash merge gallery-tweak
This commit is contained in:
parent
c8d8673037
commit
c787cf3ac8
73
microblog.py
73
microblog.py
@ -35,46 +35,47 @@ def make_gallery(i, w):
|
|||||||
|
|
||||||
# apply basic HTML formatting - only div class here is gallery
|
# apply basic HTML formatting - only div class here is gallery
|
||||||
from html import escape
|
from html import escape
|
||||||
def markup(msg):
|
|
||||||
result = 0
|
|
||||||
tagged = ""
|
|
||||||
words = msg.split()
|
|
||||||
# support multiple images (gallery style)
|
|
||||||
images = [] # list of integers
|
|
||||||
tags = [] # list of strings
|
|
||||||
for i in range(len(words)):
|
|
||||||
word = words[i]
|
|
||||||
# don't help people click http
|
|
||||||
if word.find("src=") == 0 or word.find("href=") == 0:
|
|
||||||
continue
|
|
||||||
elif word.find("https://") != -1:
|
|
||||||
w = escape(word)
|
|
||||||
new_word = ("<a href=\"%s\">%s</a>") % (w, w)
|
|
||||||
words[i] = new_word
|
|
||||||
elif word.find("#") != -1 and len(word) > 1:
|
|
||||||
# split by unicode blank character if present
|
|
||||||
# allows tagging such as #fanfic|tion
|
|
||||||
w = word.split(chr(8206))
|
|
||||||
# w[0] is the portion closest to the #
|
|
||||||
tags.append(w[0])
|
|
||||||
new_word = "<span class=\"hashtag\">%s</span>" % (w[0])
|
|
||||||
if len(w) > 1:
|
|
||||||
new_word += w[1]
|
|
||||||
words[i] = new_word
|
|
||||||
elif word.find(".jpg") != -1 or word.find(".png") != -1:
|
|
||||||
images.append(i)
|
|
||||||
# are .gifs and other media files too much bloat?
|
|
||||||
gallery = make_gallery(images, words)
|
|
||||||
words += gallery
|
|
||||||
return " ".join(words), tags
|
|
||||||
|
|
||||||
# iterate through posts and get information about them
|
# iterate through posts and get information about them
|
||||||
def get_posts(filename, email):
|
def get_posts(filename, email):
|
||||||
class Post:
|
class Post:
|
||||||
def __init__(self, ts, msg):
|
def __init__(self, ts, msg):
|
||||||
self.timestamp = ts # string
|
self.timestamp = ts # string
|
||||||
self.message = msg # list
|
self.message = msg # list
|
||||||
pass
|
def markup(self):
|
||||||
|
result = 0
|
||||||
|
tagged = ""
|
||||||
|
# support multiple images (gallery style)
|
||||||
|
tags = [] # list of strings
|
||||||
|
output = []
|
||||||
|
for line in self.message:
|
||||||
|
images = [] # list of integers
|
||||||
|
words = line.split()
|
||||||
|
for i in range(len(words)):
|
||||||
|
word = words[i]
|
||||||
|
# don't help people click http
|
||||||
|
if word.find("src=") == 0 or word.find("href=") == 0:
|
||||||
|
continue
|
||||||
|
elif word.find("https://") != -1:
|
||||||
|
w = escape(word)
|
||||||
|
new_word = ("<a href=\"%s\">%s</a>") % (w, w)
|
||||||
|
words[i] = new_word
|
||||||
|
elif word.find("#") != -1 and len(word) > 1:
|
||||||
|
# split by unicode blank character if present
|
||||||
|
# allows tagging such as #fanfic|tion
|
||||||
|
w = word.split(chr(8206))
|
||||||
|
# w[0] is the portion closest to the #
|
||||||
|
tags.append(w[0])
|
||||||
|
new_word = "<span class=\"hashtag\">%s</span>" % (w[0])
|
||||||
|
if len(w) > 1:
|
||||||
|
new_word += w[1]
|
||||||
|
words[i] = new_word
|
||||||
|
elif word.find(".jpg") != -1 or word.find(".png") != -1:
|
||||||
|
images.append(i)
|
||||||
|
if len(images) > 0:
|
||||||
|
gallery = make_gallery(images, words)
|
||||||
|
words += gallery
|
||||||
|
output.append(" ".join(words))
|
||||||
|
return "<br>".join(output), tags
|
||||||
|
|
||||||
def parse_txt(filename):
|
def parse_txt(filename):
|
||||||
content = []
|
content = []
|
||||||
@ -98,7 +99,7 @@ def get_posts(filename, email):
|
|||||||
if len(line) > 1:
|
if len(line) > 1:
|
||||||
message.append(line)
|
message.append(line)
|
||||||
else:
|
else:
|
||||||
p = Post(timestamp, "<br>".join(message))
|
p = Post(timestamp, message)
|
||||||
posts.append(p)
|
posts.append(p)
|
||||||
# reset
|
# reset
|
||||||
message = []
|
message = []
|
||||||
@ -114,7 +115,7 @@ def get_posts(filename, email):
|
|||||||
index = count # - 1
|
index = count # - 1
|
||||||
timeline = []
|
timeline = []
|
||||||
for post in posts:
|
for post in posts:
|
||||||
markedup, tags = markup(post.message)
|
markedup, tags = post.markup()
|
||||||
count -= 1
|
count -= 1
|
||||||
index -= 1
|
index -= 1
|
||||||
timeline.append(
|
timeline.append(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user