Rename backup functions
Backup has been renamed to export Restore has been renamed to import_xml
This commit is contained in:
parent
c08655c1fa
commit
f869b17e2f
|
@ -1,122 +0,0 @@
|
|||
# Bryan Schumaker (11/12/2010)
|
||||
|
||||
import libsaria
|
||||
from libsaria import path
|
||||
from libsaria.sources import library
|
||||
import libsaria.xm as xml
|
||||
|
||||
add_child = xml.add_child
|
||||
add_text = xml.add_text
|
||||
get_attrs = library.get_attrs
|
||||
set_attr = library.set_attr
|
||||
file_id = path.file_id
|
||||
lib_file = "library"
|
||||
vers = "%s.%s" % (libsaria.__major__, libsaria.__minor__)
|
||||
if libsaria.__dev__ == True:
|
||||
lib_file = lib_file + "-dev"
|
||||
lib_file += ".xml"
|
||||
lib_file = path.join(path.saria_dir(), lib_file)
|
||||
|
||||
xml_children = xml.children
|
||||
xml_child = xml.child
|
||||
xml_attrs = xml.attributes
|
||||
|
||||
#######################################
|
||||
# Generic encode and decode functions #
|
||||
#######################################
|
||||
|
||||
def decode_attr(attr):
|
||||
child = xml.child(attr)
|
||||
return (attr.nodeName, child.data.strip())
|
||||
|
||||
def encode_attr(doc, node, attr, value):
|
||||
child = add_child(doc, node, attr)
|
||||
add_text(doc, child, value)
|
||||
|
||||
def encode_track(doc, node, id):
|
||||
filepath, like, count = get_attrs(id, "filepath", "like", "count")
|
||||
if (like == None) and (count == 0):
|
||||
return
|
||||
child = add_child(doc, node, "track", {"like":like, "count":count})
|
||||
add_text(doc, child, filepath)
|
||||
|
||||
|
||||
#########################
|
||||
# v1.1 Decode functions #
|
||||
#########################
|
||||
|
||||
def decode_track_v1_1(node):
|
||||
track = dict()
|
||||
for child in xml_children(node):
|
||||
key, value = decode_attr(child)
|
||||
track[key] = value
|
||||
id = file_id(track["filepath"])
|
||||
set_attr(id, "count", int(track["count"]))
|
||||
|
||||
def decode_v1_1(node):
|
||||
for track in xml_children(node):
|
||||
decode_track_v1_1(track)
|
||||
|
||||
|
||||
#########################
|
||||
# v1.2 Decode functions #
|
||||
#########################
|
||||
|
||||
def decode_sources_v1_2(node):
|
||||
for child in xml_children(node):
|
||||
source = xml_child(child).data.strip()
|
||||
print "Scanning source: %s" % source
|
||||
libsaria.sources.new_source(source)
|
||||
|
||||
def decode_track_v1_2(node):
|
||||
for track in xml_children(node):
|
||||
attrs = xml_attrs(track)
|
||||
name, path = decode_attr(track)
|
||||
id = file_id(path)
|
||||
set_attr(id, "count", int(attrs["count"]))
|
||||
|
||||
def decode_v1_2(node):
|
||||
children = xml_children(node)
|
||||
sources = None
|
||||
tracks = None
|
||||
for node in children:
|
||||
name = node.nodeName
|
||||
if name == "sources":
|
||||
sources = node
|
||||
elif name == "tracks":
|
||||
tracks = node
|
||||
decode_sources_v1_2(sources)
|
||||
decode_track_v1_2(tracks)
|
||||
|
||||
|
||||
#############################################
|
||||
# Control will enter the export module here #
|
||||
#############################################
|
||||
|
||||
def backup():
|
||||
doc = xml.new()
|
||||
child = add_child(doc, doc, "library", {"version":vers})
|
||||
sources = add_child(doc, child, "sources")
|
||||
tracks = add_child(doc, child, "tracks")
|
||||
for path in library.get_locations():
|
||||
encode_attr(doc, sources, "source", path)
|
||||
|
||||
for id in library.walk():
|
||||
encode_track(doc, tracks, id)
|
||||
|
||||
fout = open(lib_file, 'w')
|
||||
fout.write(doc.toprettyxml())
|
||||
fout.close()
|
||||
print "Wrote library to: %s" % lib_file
|
||||
|
||||
def restore(file):
|
||||
fin = open(file)
|
||||
doc = xml.parse(fin)
|
||||
child = xml.child(doc)
|
||||
attrs = xml.attributes(child)
|
||||
version = attrs.get("version", "1.1")
|
||||
print "Decoding version: %s" % version
|
||||
if version == "1.1":
|
||||
decode_v1_1(child)
|
||||
elif version == "1.2":
|
||||
decode_v1_2(child)
|
|
@ -54,8 +54,8 @@ def universal_open(file):
|
|||
plugin.install(file)
|
||||
return
|
||||
if ext == ".xml":
|
||||
import backup
|
||||
backup.restore(file)
|
||||
import export
|
||||
export.import_xml(file)
|
||||
return
|
||||
try:
|
||||
from libsaria.sources import file as file_source
|
||||
|
|
|
@ -102,8 +102,8 @@ class ExportButton(Button):
|
|||
def __init__(self):
|
||||
Button.__init__(self, gtk.STOCK_CONVERT, "Export Library")
|
||||
def clicked(self, button):
|
||||
from libsaria.path import backup
|
||||
backup.backup()
|
||||
from libsaria.path import export
|
||||
export.export()
|
||||
|
||||
class GotoButton(Button):
|
||||
def __init__(self):
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
import libsaria
|
||||
from libsaria import data
|
||||
from libsaria import sources
|
||||
from libsaria import backup
|
||||
from libsaria.path import export
|
||||
library = libsaria.sources.library
|
||||
|
||||
library.load()
|
||||
backup.backup()
|
||||
export.export()
|
||||
|
|
Loading…
Reference in New Issue