From f869b17e2fac52e1b747911fac3bb64b37f2632b Mon Sep 17 00:00:00 2001 From: Bryan Schumaker Date: Sat, 18 Dec 2010 14:52:31 -0500 Subject: [PATCH] Rename backup functions Backup has been renamed to export Restore has been renamed to import_xml --- libsaria/path/backup.py | 122 ----------------------------------- libsaria/path/files.py | 4 +- ocarina/components/button.py | 4 +- tests/backup.py | 4 +- 4 files changed, 6 insertions(+), 128 deletions(-) delete mode 100644 libsaria/path/backup.py diff --git a/libsaria/path/backup.py b/libsaria/path/backup.py deleted file mode 100644 index 186dc220..00000000 --- a/libsaria/path/backup.py +++ /dev/null @@ -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) diff --git a/libsaria/path/files.py b/libsaria/path/files.py index 567e5ba6..ec214cf0 100644 --- a/libsaria/path/files.py +++ b/libsaria/path/files.py @@ -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 diff --git a/ocarina/components/button.py b/ocarina/components/button.py index 9c4dc427..33bd78db 100644 --- a/ocarina/components/button.py +++ b/ocarina/components/button.py @@ -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): diff --git a/tests/backup.py b/tests/backup.py index fa48b8c9..e0fe9a12 100644 --- a/tests/backup.py +++ b/tests/backup.py @@ -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()