Skip to content

Instantly share code, notes, and snippets.

@drott
Last active December 29, 2015 02:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drott/7598539 to your computer and use it in GitHub Desktop.
Save drott/7598539 to your computer and use it in GitHub Desktop.
Quick and dirty python script to download sha256 and generate md160 hashes for the common gstreamer deliverables
#!/usr/bin/python
import requests
import tempfile
import re
import hashlib
packages = [ "gstreamer", "gst-plugins-base", "gst-plugins-good", "gst-plugins-bad", "gst-plugins-ugly", "gst-libav" ]
base_url = 'http://gstreamer.freedesktop.org/src/'
version = '1.2.1'
for package_name in packages:
package_url = base_url + '/' + package_name + '/' + package_name + '-' + version + '.tar.xz'
package_hashfile_url = package_url + '.sha256sum'
r = requests.get(package_hashfile_url, stream=True)
sha_hash = None
md160_hash = None
with tempfile.TemporaryFile() as fd:
for chunk in r.iter_content(1024):
fd.write(chunk)
fd.seek(0,0)
hash_data = fd.readline()
sha_hash = re.split(' ', hash_data)[0]
r = requests.get(package_url, stream=True)
hasher = hashlib.new('ripemd160')
for chunk in r.iter_content(1024 * 1024):
hasher.update(chunk)
md160_hash = hasher.hexdigest()
print package_name + ": rmd160 " + md160_hash + " sha256 " + sha_hash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment