import re
import itertools
import email.utils
import os.path
import time
import codecs
from datetime import datetime
DEFAULT_LANG = "en"
BASE_URL = "https://www.xythobuz.de"
# -----------------------------------------------------------------------------
# lightgallery helper macro
# -----------------------------------------------------------------------------
# call this macro like this
# lightgallery([
# [ "image-link", "description" ],
# [ "image-link", "thumbnail-link", "description" ],
# [ "youtube-link", "thumbnail-link", "description" ],
# [ "video-link", "mime", "thumbnail-link", "image-link", "description" ]
# ])
def lightgallery(links):
videos = [l for l in links if len(l) == 5]
v_i = 0
for v in videos:
link, mime, thumb, poster, alt = v
v_i += 1
print '
'
print ''
print '
'
print '
'
v_i = 0
for l in links:
if (len(l) == 3) or (len(l) == 2):
link = img = alt = ""
if len(l) == 3:
link, img, alt = l
else:
link, alt = l
x = link.rfind('.')
img = link[:x] + '_small' + link[x:]
print '
'
elif len(l) == 5:
v_i += 1
link, mime, thumb, poster, alt = v
print '
'
else:
raise NameError('Invalid number of arguments for lightgallery')
print '
'
# -----------------------------------------------------------------------------
# github helper macros
# -----------------------------------------------------------------------------
import urllib, json
def restRequest(url):
response = urllib.urlopen(url)
data = json.loads(response.read())
return data
def restReleases(user, repo):
s = "https://api.github.com/repos/"
s += user
s += "/"
s += repo
s += "/releases"
return restRequest(s)
def printLatestRelease(user, repo):
repo_url = "https://github.com/" + user + "/" + repo
print("
")
print("Release builds for " + repo + " are available on GitHub. \n")
releases = restReleases(user, repo)
if len(releases) <= 0:
print("No release has been published on GitHub yet.")
print("
")
return
releases.sort(key=lambda x: x["published_at"], reverse=True)
r = releases[0]
release_url = r["html_url"]
print("Latest release of " + repo + ", at the time of this writing: " + r["name"] + " (" + datetime.strptime(r["published_at"], "%Y-%m-%dT%H:%M:%SZ").strftime("%Y-%m-%d %H:%M:%S") + ")\n")
if len(r["assets"]) <= 0:
print(" No release assets have been published on GitHub for that.")
print("")
return
print("
")
print("Release Assets:")
for a in r["assets"]:
size = int(a["size"])
ss = " "
if size >= (1024 * 1024):
ss += "(%.1f MiB)" % (size / (1024.0 * 1024.0))
elif size >= 1024:
ss += "(%d KiB)" % (size // 1024)
else:
ss += "(%d Byte)" % (size)
print("