mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-05-28 22:52:37 +02:00
2020-01-23 Fred Gleason <fredg@paravelsystems.com>
* Added 'Username=' and 'Password=' directives to the 'pypad_httpget.py' script for use for HTTP Basic Authentication.
This commit is contained in:
parent
a529ed4b24
commit
e5dcdeca31
@ -19414,3 +19414,6 @@
|
||||
exception when processing PAD containing multi-type UTF-8 characters.
|
||||
* Added a 'python36-urllib3' dependency to the 'rivendell-pypad'
|
||||
RPM package.
|
||||
2020-01-23 Fred Gleason <fredg@paravelsystems.com>
|
||||
* Added 'Username=' and 'Password=' directives to the
|
||||
'pypad_httpget.py' script for use for HTTP Basic Authentication.
|
||||
|
@ -14,8 +14,21 @@
|
||||
; The list of available wildcards can be found in the 'metadata_wildcards.txt'
|
||||
; file in the Rivendell documentation directory.
|
||||
;
|
||||
; NOTE: Any "reserved" characters used in the URL that are not being used
|
||||
; for a "reserved purpose" must be URL encoded
|
||||
; as per RFC 3986. This includes all multi-byte UTF-8 characters.
|
||||
; See https://en.wikipedia.org/wiki/Percent-encoding for details.
|
||||
;
|
||||
URL=https://someplace.com/metadata.php?key=somekey&artist=%a&title=%t
|
||||
|
||||
; Username. Used for HTTP Basic Authentication. Optional.
|
||||
;
|
||||
Username=
|
||||
|
||||
; Password. Used for HTTP Basic Authentication. Optional.
|
||||
;
|
||||
Password=
|
||||
|
||||
; Log Selection
|
||||
;
|
||||
; Set the status for each log to 'Yes', 'No' or 'Onair' to indicate whether
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# Write PAD updates to HTTP GET URL
|
||||
#
|
||||
# (C) Copyright 2019 Fred Gleason <fredg@paravelsystems.com>
|
||||
# (C) Copyright 2019-2020 Fred Gleason <fredg@paravelsystems.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
@ -36,12 +36,22 @@ def ProcessPad(update):
|
||||
while(True):
|
||||
section='Url'+str(n)
|
||||
try:
|
||||
username=''
|
||||
if update.config().has_option(section,'Username'):
|
||||
username=update.config().get(section,'Username')
|
||||
password=''
|
||||
if update.config().has_option(section,'Password'):
|
||||
password=update.config().get(section,'Password')
|
||||
url=update.resolvePadFields(update.config().get(section,'URL'),pypad.ESCAPE_URL)
|
||||
buf=BytesIO()
|
||||
curl=pycurl.Curl()
|
||||
curl.setopt(curl.URL,url)
|
||||
curl.setopt(curl.WRITEDATA,buf)
|
||||
curl.setopt(curl.FOLLOWLOCATION,True)
|
||||
if (username!=""):
|
||||
curl.setopt(curl.USERNAME,username)
|
||||
if (password!=""):
|
||||
curl.setopt(curl.PASSWORD,password)
|
||||
|
||||
except configparser.NoSectionError:
|
||||
if(n==1):
|
||||
@ -51,6 +61,7 @@ def ProcessPad(update):
|
||||
if update.shouldBeProcessed(section):
|
||||
try:
|
||||
curl.perform()
|
||||
update.syslog(syslog.LOG_DEBUG,'['+section+'] sending URL "'+url+'"')
|
||||
code=curl.getinfo(pycurl.RESPONSE_CODE)
|
||||
if (code<200) or (code>=300):
|
||||
update.syslog(syslog.LOG_WARNING,'['+section+'] returned response code '+str(code))
|
||||
|
Loading…
x
Reference in New Issue
Block a user