Re: [Freevo-users] 1.9.0 vs freevo1-git

2012-06-11 Thread Anders Eriksson
On 2012-06-03 00:31, Adam Charrett wrote:
> 
>
> I did write a v small plugin a while ago to display a 'Downloaded TV' option 
> in the TV menu which was a just another way to browse a different directory 
> contain downloaded TV content.
Found the tv.plugins.view_recordings plugin. Thanks!
> > > freevo1-git now uses kaa-epg and to access the guide you need to be
> > > running the recordserver.
> > Hmm, now I see that it doesn't start ok;
> >
> > #  /usr/bin/freevo --daemon recordserver
> > tv ~ #
> > Warning: freevo_config.py was changed, please check local_conf.py
> >
> > 
> > Traceback (most recent call last):
> >File
> > "/usr/lib64/python2.6/site-packages/freevo/helpers/recordserver.py",
> > line 58, in 
> >  import tv.record_types
> >File "/usr/lib64/python2.6/site-packages/freevo/tv/record_types.py",
> > line 41, in 
> >  import util.tv_util as tv_util
> >File "/usr/lib64/python2.6/site-packages/freevo/util/tv_util.py",
> > line 35, in 
> >  import tv.epg
> >File "/usr/lib64/python2.6/site-packages/freevo/tv/epg.py", line 14,
> > in 
> >  kaa.epg.listen(('', 1), config.RECORDSERVER_SECRET)
> >File "/usr/lib64/python2.6/site-packages/kaa/epg/__init__.py", line
> > 73, in listen
> >  server.append(Server(guide, address, secret))
> >File "/usr/lib64/python2.6/site-packages/kaa/epg/rpc.py", line 210,
> > in __init__
> >  self._rpc = kaa.rpc.Server(address, secret)
> >File "/usr/lib64/python2.6/site-packages/kaa/base/rpc.py", line 178,
> > in __init__
> >  self._socket.listen(address)
> >File "/usr/lib64/python2.6/site-packages/kaa/base/sockets.py", line
> > 532, in listen
> >  sock, addr = self._make_socket(addr, overwrite=True)
> >File "/usr/lib64/python2.6/site-packages/kaa/base/sockets.py", line
> > 433, in _make_socket
> >  sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
> >File "/usr/lib64/python2.6/socket.py", line 184, in __init__
> >  _sock = _realsocket(family, type, proto)
> > TypeError: an integer is required
> >
> Looks like a kaa.base error, I think this may have been resolved
> recently.
Not fixed in git as of today. A quick glance at the code suggests that 
this chunk of code assumes IPv6 somehow. I have a ipv4 only system 
(kernel w/ CONFIG_IPV6 not set). Do I _have_ to enable v6 to get this to 
work? (Being a c guy, I know there are version independent c socket 
interfaces. I would assume the same holds for python. How come version 
specific coding here?)

> >
> > > To load in the listings use
> > >
> > > freevo tv_grab -- -u
> > Hmmm. My git copy doesn't have an -u option
> >   # freevo tv_grab -- --help
>
> Doh, hadn't pulled in the changes from my branch, there should be on the main 
> branch now.
got -u supported in the git refresh. I accidentally ran the command as 
the wrong user and got:
  Traceback (most recent call last):
   File "/usr/lib64/python2.6/site-packages/freevo/helpers/tv_grab.py", 
line 96, in 
 tv.epg.update(config.XMLTV_FILE)
   File "/usr/lib64/python2.6/site-packages/freevo/tv/epg.py", line 131, 
in update
 kaa.epg.update().wait()
   File "/usr/lib64/python2.6/site-packages/kaa/epg/__init__.py", line 
120, in __call__
 return guide.update(backend, *args, **kwargs)
   File "/usr/lib64/python2.6/site-packages/kaa/base/coroutine.py", line 
219, in newfunc
 ip.result
   File "/usr/lib64/python2.6/site-packages/kaa/base/async.py", line 
285, in result
 raise self._exception[1]
kaa.base.errors.AsyncException: Exception raised asynchronously; 
traceback follows:
   File "/usr/lib64/python2.6/site-packages/kaa/base/coroutine.py", line 
374, in _step
 result = self._step_generator()
   File "/usr/lib64/python2.6/site-packages/kaa/base/coroutine.py", line 
615, in _step_generator
 return self._coroutine.next()
   File "/usr/lib64/python2.6/site-packages/kaa/epg/sources/update.py", 
line 99, in update
 self._db.vacuum()
   File "/usr/lib64/python2.6/site-packages/kaa/base/db.py", line 2509, 
in vacuum
 self._db_query('DELETE FROM ivtidx_%s_terms WHERE count=0' % ivtidx)
   File "/usr/lib64/python2.6/site-packages/kaa/base/db.py", line 651, 
in _db_query
 cursor.execute(statement, args)
OperationalError: attempt to write a readonly database

Maybe that should not throw a stack trace, but rather just return with a 
oneliner
informative error message? But maybe current behaviour is desired by the 
devs? (I always
assumed that stacktraces are either an explicitly enabled debug feature, 
or a sign
of uncaught exceptions (i.e. sloppy coding)).

Now, how to get the recordserver to start without V6 support...

Rgds,
/Anders


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussi

Re: [Freevo-users] 1.9.0 vs freevo1-git

2012-06-11 Thread Jason Tackaberry
On 12-06-10 08:27 AM, Anders Eriksson wrote:
> Not fixed in git as of today. A quick glance at the code suggests that
> this chunk of code assumes IPv6 somehow. I have a ipv4 only system
> (kernel w/ CONFIG_IPV6 not set). Do I_have_  to enable v6 to get this to
> work?

Ah, well this explains why socket(AF_INET6, SOCK_STREAM) fails.  Yes, 
kaa.Socket assumes a dual stack OS.

I have been meaning to change this for an unrelated reason.  (That is, 
I'm not terribly interested in supporting the extremely rare case of a 
non-IPv6 capable Linux system, but there are some functional problems 
with using v4-mapped addresses on a v6 socket that I wasn't aware of 
when I wrote this code.)

So until I make those changes, I'm afraid you will need CONFIG_IPV6 for 
this to work.

> (Being a c guy, I know there are version independent c socket
> interfaces. I would assume the same holds for python. How come version
> specific coding here?)

Because dual stack is ubiquitous, especially on Linux, and because v6 
sockets can support both v6 and v4 (via IPv4-mapped addresses) 
connections, and for those reasons it seemed like a good idea at the 
time (which was before I read [1]).

Cheers,
Jason.

[1] http://tools.ietf.org/html/draft-cmetz-v6ops-v4mapped-api-harmful-01


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
Freevo-users mailing list
Freevo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-users