2013-01-30, 17:42
"Easy" is relative. Probably would've been easier if I knew python.
Anyway,
Save it as xbmcwatched.py
chmod u+x xbmcwatched.py
./xbmcwatched.py export /home/user/.xbmc/userdata/Database/MyVideos75.db
./xbmcwatched.py import /home/user/.xbmc/userdata/Database/MyVideos75.db
Export creates watchedItems.p
Import reads from watchedItems.p
Anyway,
Code:
#!/usr/bin/python
import sqlite3 as mdb
import sys
import cPickle
# args [import/export] [/path/database]
MODE = sys.argv[1]
dbname = sys.argv[2]
try:
con = mdb.connect(dbname);
cur = con.cursor()
if MODE == "export":
cur.execute('SELECT strFileName, lastPlayed, playCount FROM main.files WHERE playCount >= 1 and strFileName != "";')
rows = cur.fetchall()
for row in rows:
print row
cPickle.dump(rows, open('watchedItems.p', 'wb'))
print "Exported"
else:
rows = cPickle.load(open('watchedItems.p', 'rb'))
for row in rows:
cur.execute("UPDATE main.files SET playCount = ?, lastPlayed = ? WHERE strFileName= ?;",(row[2], row[1],row[0]))
con.commit()
print "Imported"
except mdb.Error, e:
print "Error:" , e.args[0]
sys.exit(1)
finally:
if con:
con.close()
Save it as xbmcwatched.py
chmod u+x xbmcwatched.py
./xbmcwatched.py export /home/user/.xbmc/userdata/Database/MyVideos75.db
./xbmcwatched.py import /home/user/.xbmc/userdata/Database/MyVideos75.db
Export creates watchedItems.p
Import reads from watchedItems.p