On Sep 23, 2010, at 1:22 PM, Andrew Z. wrote:

> Is there a way to parse RealPlayer's realplayerrc in Python?  I need
> to support Python 2.5 - 2.7
> 
> Example code
> 
> import urllib2
> import ConfigParser
> f = urllib2.urlopen('http://pastebin.com/download.php?i=N1AcUg3w')
> config = ConfigParser.RawConfigParser()
> config.readfp(f)
> 
> 
> Error
> Traceback (most recent call last):
>  File "test_config_parser_real_player.py", line 6, in <module>
>    config.readfp(f)
>  File "/usr/lib/python2.6/ConfigParser.py", line 305, in readfp
>    self._read(fp, filename)
>  File "/usr/lib/python2.6/ConfigParser.py", line 510, in _read
>    raise e
> ConfigParser.ParsingError: File contains parsing errors: <???>
>        [line 31]: '%0aCopyright (c) 1995-2000 Macromedia, Inc. All
> rights reserved.\r\n'
>        [line 34]: '%0a\r\n'

Hi Andrew,
Hopefully someone familiar with the topic of RealPlayer file formats will step 
in, but while you're waiting here's my $.02. 

Looks like this is an INI file, and since there's no defined standard for INI 
files, it's hard for anyone to write a parser that is guaranteed to work with 
all INI files. 

In this particular case you've got a multiline entry in the INI file which 
apparently ConfigParser doesn't like. One approach would be to subclass 
ConfigParser and massage the lines it doesn't like into something ConfigParser 
finds more palatable. Or if you're not interested in those lines, parse the 
error message, delete the offending lines and re-run the INI file through 
ConfigParser.

Good luck
Philip








-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to