why does the webgrab config.xml file throws errors if you name a channel with the symbol & in it ? for example in the picture the & symbol will create 2 errors one because its in the id tag and the other in the display name, the only way to get it working again is to remove the symbol
hi for the & you need to change to & so it would be ie home & health would be home & health
thankyou
thanks for that
Why webgrab throws errors when i use ' or ' or ' in config.xml file
log.txt:
[ ]
[ ] WebGrab+Plus/w MDB & REX Postprocess -- version V1.57
[ ]
[ ] Jan van Straaten
[ ] Francis De Paemeleere
[ ]
[ ] thanks to Paul Weterings and all the contributing users
[ ] --------------------------------------------------------------------------------
[ ]
[ ] Job started at 21/01/2017 13:58:10
[ Debug ]
[ Debug ] Running on: Microsoft Windows NT 6.1.7601 Service Pack 1
[ Debug ] Environment: 4.0.30319.42000
[ Debug ]
[ Debug ] Loading timezone data
[ Debug ] Embedded timezones source: WGconsole.WG.Common.timezonesdata.txt
[ Debug ] Reading config file: C:\EPG\RAPID\UK\WebGrab++.config.xml
[ Info ] found: C:\EPG\\UK\tvguide.co.uk.ini -- Revision 14
[ Debug ] xmltv input file - C:\Bitnami\wampstack\apache2\\UK1_guide.xml - found
[ Debug ] 0 superfluous shows removed
[Error ] Could find existing channel (xmltv_id=AIT Int'l UK) in the config file
[ Info ]
[ Info ]
[ Info ] i=index .=same c=change g=gab r=replace n=new
[ Info ]
[ Info ]
[ Info ] Group (0) :
[ Info ] update requested for - 1 - out of - 1 - channels for 11 day(s)
[ Debug ]
[ Info ] ( 1/1 ) TVGUIDE.CO.UK -- chan. (xmltv_id=AIT Int'l UK) -- mode Force
[Error ] Unable to update channel AIT Int'l UK
[Critical] See log file for details
[Critical] Exception.Message: '/tv/channel[@id = 'AIT Int'l UK']' has an invalid token.
[Critical] Exception.StackTrace: at MS.Internal.Xml.XPath.XPathParser.CheckToken(LexKind t)
at MS.Internal.Xml.XPath.XPathParser.ParsePredicate(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAdditiveExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseEqualityExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseOrExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseExpresion(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion)
at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver)
at System.Xml.XPath.XPathNavigator.Select(String xpath)
at System.Xml.XmlNode.SelectNodes(String xpath)
at System.Xml.XmlNode.SelectSingleNode(String xpath)
at WGconsole.XmlTarget.InsertChannelLogo(String channelId, String channelLogo)
at WGconsole.Program.UpdateChannel(String strIndex, ChannelToUpdate Chan, XmlTarget xTarget)
at WGconsole.Program.ConsoleApplication(String[] args)
[Warning ] Attempt to restore existing guide data failed! - no data to restore
[Warning ] Exception: System.Xml.XPath.XPathException: '/tv/channel[@id = 'AIT Int'l UK']' has an invalid token.
at MS.Internal.Xml.XPath.XPathParser.CheckToken(LexKind t)
at MS.Internal.Xml.XPath.XPathParser.ParsePredicate(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAdditiveExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseEqualityExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseOrExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseExpresion(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion)
at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver)
at System.Xml.XPath.XPathNavigator.Select(String xpath)
at System.Xml.XmlNode.SelectNodes(String xpath)
at System.Xml.XmlNode.SelectSingleNode(String xpath)
at WGconsole.XmlTarget.ReplaceChannel(String channelId, XmlDocument xdTv)
at WGconsole.Program.ConsoleApplication(String[] args)
[ Debug ]
[ Debug ] 0 shows in 1 channels
[ Debug ] 0 updated shows
[ Info ]
[ Info ]
[ ] Job finished at 21/01/2017 13:58:13 done in 2s
[ Debug ] statistics upload error: The remote server returned an error: (500) Internal Server Error.
this is becuase whatever your viewing your channels.xml with is converting the encoded character like (& ' ect) to a actual & ' ect signs.
then you copying and pasting it to your webgrab++config.xml
use a editor that does not convert it like notepad,notepad++,ect
dont use web browser,ect that does.
I use Notepad++ to editing my conf.xml file. If i use & , then no errors, but if i use ' or ' or ' then i get errors.
<channel update="i" site="tvguide.co.uk" site_id="537" xmltv_id="AIT Int'l UK">AIT Int'l UK</channel> - i get errors
<channel update="i" site="tvguide.co.uk" site_id="537" xmltv_id="AIT Int l UK">AIT Int l UK</channel> - no errors
<channel update="i" site="tv.sky.com" site_id="2408" xmltv_id="Discovery Home&Health UK">Discovery Home&Health UK</channel> - no errors
ok,that means xml doesnt like the &#xx; format but ' shopuld be acceptable.
http://xml.silmaril.ie/specials.html
<channel update="i" site="tvguide.co.uk" site_id="537" xmltv_id="AIT Int'l UK">AIT Int'l UK</channel>
and errors:
[ ]
[ ] WebGrab+Plus/w MDB & REX Postprocess -- version V1.57
[ ]
[ ] Jan van Straaten
[ ] Francis De Paemeleere
[ ]
[ ] thanks to Paul Weterings and all the contributing users
[ ] --------------------------------------------------------------------------------
[ ]
[ ] Job started at 21/01/2017 14:43:41
[ Debug ]
[ Debug ] Running on: Microsoft Windows NT 6.1.7601 Service Pack 1
[ Debug ] Environment: 4.0.30319.42000
[ Debug ]
[ Debug ] Loading timezone data
[ Debug ] Embedded timezones source: WGconsole.WG.Common.timezonesdata.txt
[ Debug ] Reading config file: C:\EPG\RAPID\UK\WebGrab++.config.xml
[ Info ] found: C:\EPG\\UK\tvguide.co.uk.ini -- Revision 14
[ Debug ] xmltv input file - C:\Bitnami\wampstack\apache2\htdocs\\UK1_guide.xml - found
[ Debug ] 0 superfluous shows removed
[Error ] Could find existing channel (xmltv_id=AIT Int'l UK) in the config file
[ Info ]
[ Info ]
[ Info ] i=index .=same c=change g=gab r=replace n=new
[ Info ]
[ Info ]
[ Info ] Group (0) :
[ Info ] update requested for - 1 - out of - 1 - channels for 11 day(s)
[ Debug ]
[ Info ] ( 1/1 ) TVGUIDE.CO.UK -- chan. (xmltv_id=AIT Int'l UK) -- mode Force
[Error ] Unable to update channel AIT Int'l UK
[Critical] See log file for details
[Critical] Exception.Message: '/tv/channel[@id = 'AIT Int'l UK']' has an invalid token.
[Critical] Exception.StackTrace: at MS.Internal.Xml.XPath.XPathParser.CheckToken(LexKind t)
at MS.Internal.Xml.XPath.XPathParser.ParsePredicate(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAdditiveExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseEqualityExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseOrExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseExpresion(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion)
at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver)
at System.Xml.XPath.XPathNavigator.Select(String xpath)
at System.Xml.XmlNode.SelectNodes(String xpath)
at System.Xml.XmlNode.SelectSingleNode(String xpath)
at WGconsole.XmlTarget.InsertChannelLogo(String channelId, String channelLogo)
at WGconsole.Program.UpdateChannel(String strIndex, ChannelToUpdate Chan, XmlTarget xTarget)
at WGconsole.Program.ConsoleApplication(String[] args)
[Warning ] Attempt to restore existing guide data failed! - no data to restore
[Warning ] Exception: System.Xml.XPath.XPathException: '/tv/channel[@id = 'AIT Int'l UK']' has an invalid token.
at MS.Internal.Xml.XPath.XPathParser.CheckToken(LexKind t)
at MS.Internal.Xml.XPath.XPathParser.ParsePredicate(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAdditiveExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseEqualityExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseOrExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseExpresion(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion)
at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver)
at System.Xml.XPath.XPathNavigator.Select(String xpath)
at System.Xml.XmlNode.SelectNodes(String xpath)
at System.Xml.XmlNode.SelectSingleNode(String xpath)
at WGconsole.XmlTarget.ReplaceChannel(String channelId, XmlDocument xdTv)
at WGconsole.Program.ConsoleApplication(String[] args)
[ Debug ]
[ Debug ] 0 shows in 1 channels
[ Debug ] 0 updated shows
[ Debug ] 192 new shows added
[ Info ]
[ Info ]
[ ] Job finished at 21/01/2017 14:43:46 done in 5s
[ Debug ] statistics upload error: The remote server returned an error: (500) Internal Server Error.
i think this is a webgrab error that should not happen.
just out of curiosity try this..
<channel update="i" site="tvguide.co.uk" site_id="537" xmltv_id="AIT Int\'l UK">AIT Int\'l UK</channel>
the \ might escape the '(') character if webgrab is using regex to read these valuse internally.the ' has special meaning to regex.adding the \ tells it to use it as a actual ' and not its special meaning.
Now webgrab grabbs the guide, but display-name is wrong and still errors...
guide.xml:
<channel id="AIT Int\'l UK">
<display-name lang="en">AIT Int\'l UK</display-name>
<url>http://www.tvguide.co.uk</url>
</channel>
log.txt:
[ ]
[ ] WebGrab+Plus/w MDB & REX Postprocess -- version V1.57
[ ]
[ ] Jan van Straaten
[ ] Francis De Paemeleere
[ ]
[ ] thanks to Paul Weterings and all the contributing users
[ ] --------------------------------------------------------------------------------
[ ]
[ ] Job started at 21/01/2017 14:50:45
[ Debug ]
[ Debug ] Running on: Microsoft Windows NT 6.1.7601 Service Pack 1
[ Debug ] Environment: 4.0.30319.42000
[ Debug ]
[ Debug ] Loading timezone data
[ Debug ] Embedded timezones source: WGconsole.WG.Common.timezonesdata.txt
[ Debug ] Reading config file: C:\EPG\RAPID\UK\WebGrab++.config.xml
[ Info ] found: C:\EPG\\UK\tvguide.co.uk.ini -- Revision 14
[ Debug ] xmltv input file - C:\Bitnami\wampstack\apache2\htdocs\\UK1_guide.xml - found
[ Debug ] 0 superfluous shows removed
[Error ] Could find existing channel (xmltv_id=AIT Int\'l UK) in the config file
[ Info ]
[ Info ]
[ Info ] i=index .=same c=change g=gab r=replace n=new
[ Info ]
[ Info ]
[ Info ] Group (0) :
[ Info ] update requested for - 1 - out of - 1 - channels for 11 day(s)
[ Debug ]
[ Info ] ( 1/1 ) TVGUIDE.CO.UK -- chan. (xmltv_id=AIT Int\'l UK) -- mode Force
[Error ] Unable to update channel AIT Int\'l UK
[Critical] See log file for details
[Critical] Exception.Message: '/tv/channel[@id = 'AIT Int\'l UK']' has an invalid token.
[Critical] Exception.StackTrace: at MS.Internal.Xml.XPath.XPathParser.CheckToken(LexKind t)
at MS.Internal.Xml.XPath.XPathParser.ParsePredicate(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseStep(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelativeLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseLocationPath(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParsePathExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseUnionExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseMultiplicativeExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAdditiveExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseRelationalExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseEqualityExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseAndExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseOrExpr(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseExpresion(AstNode qyInput)
at MS.Internal.Xml.XPath.XPathParser.ParseXPathExpresion(String xpathExpresion)
at System.Xml.XPath.XPathExpression.Compile(String xpath, IXmlNamespaceResolver nsResolver)
at System.Xml.XPath.XPathNavigator.Select(String xpath)
at System.Xml.XmlNode.SelectNodes(String xpath)
at System.Xml.XmlNode.SelectSingleNode(String xpath)
at WGconsole.XmlTarget.InsertChannelLogo(String channelId, String channelLogo)
at WGconsole.Program.UpdateChannel(String strIndex, ChannelToUpdate Chan, XmlTarget xTarget)
at WGconsole.Program.ConsoleApplication(String[] args)
[ Info ] No guide data to restore
[ Debug ]
[ Debug ] 192 shows in 1 channels
[ Debug ] 0 updated shows
[ Debug ] 192 new shows added
[ Info ]
[ Info ]
[ ] Job finished at 21/01/2017 14:50:57 done in 12s
[ Debug ] statistics upload error: The remote server returned an error: (500) Internal Server Error.
hmm notice the ']
'/tv/channel[@id = 'AIT Int\'l UK']' has an invalid token.
this is definitely a webgrab error.
Ok, can you inform authors about this?
I found temporary resolution:
<channel update="i" site="tvguide.co.uk" site_id="537" xmltv_id="AIT Int l UK">AIT Int l UK</channel>
<channel offset="0" same_as="AIT Int l UK" xmltv_id="AIT Int'l UK">AIT Int'l UK</channel>
Works.