SurLaTablo.py - Python program to query and convert Tablo recordings

I am no longer able to use this program at all nor can I use Tablo Exporter.

Did the latest firmware beta update break this?

Traceback (most recent call last):
File “/root/Drive/Linux/bin/surlatablo-1.9-py”, line 2506, in
jch_ids = urllib2.urlopen(ch_ids_url)
File “/usr/lib/python2.7/urllib2.py”, line 154, in urlopen
return opener.open(url, data, timeout)
File “/usr/lib/python2.7/urllib2.py”, line 437, in open
response = meth(req, response)
File “/usr/lib/python2.7/urllib2.py”, line 550, in http_response
‘http’, request, response, code, msg, hdrs)
File “/usr/lib/python2.7/urllib2.py”, line 475, in error
return self._call_chain(*args)
File “/usr/lib/python2.7/urllib2.py”, line 409, in _call_chain
result = func(*args)
File “/usr/lib/python2.7/urllib2.py”, line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found

It would appear that Tablo has closed the open doors… Choose a closed source alternative. I haven’t given up totally yet… but doesn’t look good.

Wow. That would really really suck. I use this daily!!

The pains of closed companies… but what if you could get an 8 tuner box that can stream and optionally become a frontend with games, apps, surround sound and costs less than Tablo and is “open”?

That would be very interesting indeed. If this is the way Tablo wants to play now I’ll have no loyalty for them.

Well to be honest this app was the only thing keeping using my Tablo. Seems awfully crappy of them if you ask me. Boo!!! Hiss!!!

Seriously what the heck! I can’t even watch it in chrome or anything either. Just sits there spinning over and over. What a hunk of jumk now!

Running into problem and I was wondering if there is a switch that can be used to specify the converted file location.

command:
python surlatablo.py --noupdate --convert --rec_id 70639 --zapcommercials

Error I am getting is:
Retrieving Tablo Data (70639): [ ] 2%
Traceback (most recent call last):
File “surlatablo.py”, line 3053, in
doConvert(sl, options, basedirs, filename_pats, transcoder_names)
File “surlatablo.py”, line 1677, in doConvert
temp_f.write(ts_response.read())
IOError: [Errno 28] No space left on device

I am running “surlatablo.py” on QNAP NAS and I have 5 TB on a different location on NAS than where this is running.

I was hoping I could do -c /share/MD0_DATA/Public/

which is where my PLEX server is looking for my “stuff”. I was reading the thread but did not see anything like this mentioned.

just do a “cd /share/MD0_DATA/Public/” before you run the command. You’ll need to specify the full path to the surlatablo.py file when you do that.

There’s also a way to specify the full path by editing the surlatablo.py file, but that’s more complicated.

Thank you. That is what I needed. I will have to set on up for each TV and Movies to run from time to time. I did not realize that it used . as where to place files.

I may update the config file to use it as a param.

I’m running on a FreeNAS array for my Plex and have (well had!) my surlatablo running there as well. If you are using the surlatablo.conf file to define your options you can specify the output directory with the BASE_DIRS options.

For TV shows I have mine defined as below:
BASE_DIRS={‘Default’:’./${meta_type}’,
‘TV’:’/media/tvshows/${Eseries}/Season ${plex_season_number}’,
}

OK, just tried it out and am still getting space issue. Not sure what has no space for this to run.

File “/usr/local/lib/PlexRipper/surlatablo.py”, line 3053, in
doConvert(sl, options, basedirs, filename_pats, transcoder_names)
File “/usr/local/lib/PlexRipper/surlatablo.py”, line 1677, in doConvert
temp_f.write(ts_response.read())
IOError: [Errno 28] No space left on device

df -k

Filesystem 1k-blocks Used Available Use% Mounted on
/dev/ramdisk 142799 137177 5622 96% /
tmpfs 65536 468 65068 1% /tmp
tmpfs 506316 28 506288 0% /dev/shm
tmpfs 16384 0 16384 0% /share
/dev/sda4 379888 252360 127528 66% /mnt/ext
/dev/md9 521684 121588 400096 23% /mnt/HDA_ROOT
/dev/md0 2881207064 461924880 2418757896 16% /share/MD0_DATA

I am sure this is something I can correct but I am not sure where to go.

Any suggestions.

Can you do a “df -h” on the unit? It’s usually easier for me to understand.

Based on the error it looks like your running out of space in your /tmp which on most *nix systems mirrors the physical memory of the device.

df -h is here:

Thanks.

Filesystem Size Used Available Use% Mounted on
/dev/ramdisk 139.5M 134.0M 5.5M 96% /
tmpfs 64.0M 468.0k 63.5M 1% /tmp
tmpfs 494.4M 28.0k 494.4M 0% /dev/shm
tmpfs 16.0M 0 16.0M 0% /share
/dev/sda4 371.0M 246.4M 124.5M 66% /mnt/ext
/dev/md9 509.5M 118.7M 390.7M 23% /mnt/HDA_ROOT
/dev/md0 2.7T 440.6G 2.3T 16% /share/MD0_DATA
tmpfs 1.0M 0 1.0M 0% /mnt/rf/nd

The error message indicates your TMPDIR is full. And btw, you can use the TMPDIR environment variable to redirect that wherever.

Your /tmp is way too small for the ts pulldown.

Right, I just did not know where the TMPDIR space was that was full. /tmp is the offender then.

SO will 500M be better?

mount -o remount,size=500M /tmp

Should do it then.

By the by, I have/ad added this to the “surlatablo.conf”

tempfile.tempdir = ‘/share/MD0_DATA/SurLaTableTEMP’

Shouldn’t that have done it?

Tablo ts files are large. You’ll need gigabytes.

I record at 720p. A 30 min 480p show can take over 1G. I recommend a minimum of 6G, but you might need more. You might need 20G+ if you’re zapping commercials.

Well… I think so, but that’s relying on Python’s function to do as documented… Not sure if I tested that.

Sure enough, just needed to add

tempfile.tmpdir = ‘/share/MD0_DATA/custom/surlatablo/surlatabloTEMP’

after the import tempfile somewhere down in code and all worked as expected.

Thank you @cjcox love it.

Next to get the zap Commercials squared away.

Now if we can get SurLaTablo to work with the latest Tablo firmware we’ll be golden. Still pisses me off they closed that door on ya without even a warning. :rage: