• PATRONS: Did you know we've a chat function for you now? Look to the bottom of the screen, you can chat, set up rooms, talk to each other individually or in groups! Click 'Chat' at the right side of the chat window to open the chat up.
  • Love Gotmead and want to see it grow? Then consider supporting the site and becoming a Patron! If you're logged in, click on your username to the right of the menu to see how as little as $30/year can get you access to the patron areas and the patron Facebook group and to support Gotmead!
  • We now have a Patron-exclusive Facebook group! Patrons my join at The Gotmead Patron Group. You MUST answer the questions, providing your Patron membership, when you request to join so I can verify your Patron membership. If the questions aren't answered, the request will be turned down.

5-22-18 - Adam Thompson and Machination Mead Works - going pro

Barrel Char Wood Products

pain

GotMead Owner
Staff member
Administrator
Moderator
Apr 5, 1996
1,698
18
38
North Carolina
gotmead.com
5-21-18 We're back! Tonight we're talking with Adam Thompson, owner of Machination Meadworks in Loveland, Colorado. Adam envisioned Machination Mead Works in 2013 and began the long path to starting his own meadery. Now with over a decade of brewing experience and a few dozen medals, including five Mazer Cups, he is ready to share his mead with the world. It has been a long uphill fight but his time in the Army’s 3rd Ranger Battalion (Thank you for your service!! [ 418 more words ]
http://ow.ly/IQVV30k8hQy

join us on the live chat!!
https://join.slack.com/t/gotmeadliv...dhMzIzMDQ0Zjk0NWFhMmM5MTBlYTMxNjliMDU3ZmQyYTQ
 

piojo

NewBee
Registered Member
Aug 12, 2017
56
2
0
Early episodes missing from RSS

@webmaster Did you know the early episodes aren't in the RSS file? You can generate a new one with a script like this, but it requires each spreaker page (for each episode) to already be downloaded and in a folder like pages/001/gotmead-live-episode-1-schramms-mead-ken and pages/002/gotmead-live-episode-2-b-nektar-brad-ker

Code:
#!/usr/bin/python

from datetime import datetime
from typing import List
import sys
import os
import subprocess
from string import Template

header='''
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
 
  <channel>
  <title>GotMead generated archive</title>
  <language>en-us</language>
  <lastBuildDate>Sat, 25 Mar 2006 11:30:00 -0500</lastBuildDate>
    <pubDate>Sat, 25 Mar 2006 11:30:00 -0500</pubDate>
    '''
item = Template('''<item>
<title>$title</title>
<guid>$mp3</guid>
<description>$description</description>
<enclosure url="$mp3" type="audio/mpeg"/>
<!--<enclosure url="XXXXXX" length="11779397" type="audio/mpeg"/>-->
<category>Podcasts</category>
<pubDate>$date</pubDate>
</item>
''')

footer='''
</channel>

</rss>'''

command: str = """grep -oE 'https://api\.spreaker\.com/download/episode/[^"]+' --no-filename pages/*/*"""
mp3s: List[str] = subprocess.check_output([command], shell=True).decode().splitlines()
command: str = """grep -oE '<meta property="og:title" content="[^"]+' --no-filename pages/*/* | sed 's/.*"//'"""
titles: List[str] = subprocess.check_output([command], shell=True).decode().splitlines()
command: str = """grep -oE '<meta property="og:description" content="[^"]+' --no-filename pages/*/* | sed 's/.*"//'"""
descriptions: List[str] = subprocess.check_output([command], shell=True).decode().splitlines()
command: str = """grep -m 1 -oE 'timestamp="[^"]+' --no-filename pages/*/* | sed 's/.*"//'"""
timestamps: List[str] = subprocess.check_output([command], shell=True).decode().splitlines()
command: str = """grep -oE 'class="track_player_time_total">[0-9]+:[0-9]+' --no-filename pages/*/* | sed 's/.*>//'"""
durations: List[str] = subprocess.check_output([command], shell=True).decode().splitlines()

print(header);

for i in range(len(titles)):
    # Skip this URL if it is coming again on a later page:
    # (This doesn't actually seem to help.)
    if (mp3s[i] in mp3s[i+1:]):
        pass
    try:
        date = datetime.fromtimestamp(int(timestamps[i])) # if the timestamp is a unix timestamp
    except ValueError: # if it's an iso date
        date = datetime.fromisoformat(timestamps[i])

    # Sat, 25 Mar 2006 11:30:00 -0500
    dateStr: str = date.strftime('%a, %d %b %Y %X %z')
    print(item.substitute(title=titles[i], description=descriptions[i], mp3=mp3s[i], date=dateStr));

print(footer);
 
Barrel Char Wood Products

Viking Brew Vessels - Authentic Drinking Horns