mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-11-29 16:50:13 +01: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:
@@ -19414,3 +19414,6 @@
|
|||||||
exception when processing PAD containing multi-type UTF-8 characters.
|
exception when processing PAD containing multi-type UTF-8 characters.
|
||||||
* Added a 'python36-urllib3' dependency to the 'rivendell-pypad'
|
* Added a 'python36-urllib3' dependency to the 'rivendell-pypad'
|
||||||
RPM package.
|
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'
|
; The list of available wildcards can be found in the 'metadata_wildcards.txt'
|
||||||
; file in the Rivendell documentation directory.
|
; 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
|
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
|
; Log Selection
|
||||||
;
|
;
|
||||||
; Set the status for each log to 'Yes', 'No' or 'Onair' to indicate whether
|
; 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
|
# 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
|
# 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
|
# it under the terms of the GNU General Public License version 2 as
|
||||||
@@ -36,12 +36,22 @@ def ProcessPad(update):
|
|||||||
while(True):
|
while(True):
|
||||||
section='Url'+str(n)
|
section='Url'+str(n)
|
||||||
try:
|
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)
|
url=update.resolvePadFields(update.config().get(section,'URL'),pypad.ESCAPE_URL)
|
||||||
buf=BytesIO()
|
buf=BytesIO()
|
||||||
curl=pycurl.Curl()
|
curl=pycurl.Curl()
|
||||||
curl.setopt(curl.URL,url)
|
curl.setopt(curl.URL,url)
|
||||||
curl.setopt(curl.WRITEDATA,buf)
|
curl.setopt(curl.WRITEDATA,buf)
|
||||||
curl.setopt(curl.FOLLOWLOCATION,True)
|
curl.setopt(curl.FOLLOWLOCATION,True)
|
||||||
|
if (username!=""):
|
||||||
|
curl.setopt(curl.USERNAME,username)
|
||||||
|
if (password!=""):
|
||||||
|
curl.setopt(curl.PASSWORD,password)
|
||||||
|
|
||||||
except configparser.NoSectionError:
|
except configparser.NoSectionError:
|
||||||
if(n==1):
|
if(n==1):
|
||||||
@@ -51,6 +61,7 @@ def ProcessPad(update):
|
|||||||
if update.shouldBeProcessed(section):
|
if update.shouldBeProcessed(section):
|
||||||
try:
|
try:
|
||||||
curl.perform()
|
curl.perform()
|
||||||
|
update.syslog(syslog.LOG_DEBUG,'['+section+'] sending URL "'+url+'"')
|
||||||
code=curl.getinfo(pycurl.RESPONSE_CODE)
|
code=curl.getinfo(pycurl.RESPONSE_CODE)
|
||||||
if (code<200) or (code>=300):
|
if (code<200) or (code>=300):
|
||||||
update.syslog(syslog.LOG_WARNING,'['+section+'] returned response code '+str(code))
|
update.syslog(syslog.LOG_WARNING,'['+section+'] returned response code '+str(code))
|
||||||
|
|||||||
Reference in New Issue
Block a user