diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-02-06 00:53:22 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-02-06 00:53:22 +0100 |
| commit | 351c9a6a87df18a6048ee8da541cde2efb1ce6f0 (patch) | |
| tree | c6cdf66a092e1347cd7033b60b7b2c1b334e6499 /src/lib/spl.cc | |
| parent | 90bcaa36fa76e7d22ae2cbe6f299bc2784076fde (diff) | |
wip: use sqlite3 for playlists2895-http-playlists
Diffstat (limited to 'src/lib/spl.cc')
| -rw-r--r-- | src/lib/spl.cc | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/src/lib/spl.cc b/src/lib/spl.cc deleted file mode 100644 index 89cb1d0c5..000000000 --- a/src/lib/spl.cc +++ /dev/null @@ -1,107 +0,0 @@ -/* - Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net> - - This file is part of DCP-o-matic. - - DCP-o-matic is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - DCP-o-matic is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with DCP-o-matic. If not, see <http://www.gnu.org/licenses/>. - -*/ - - -#include "content_store.h" -#include "spl.h" -#include <libcxml/cxml.h> -#include <dcp/filesystem.h> -#include <dcp/warnings.h> -LIBDCP_DISABLE_WARNINGS -#include <libxml++/libxml++.h> -LIBDCP_ENABLE_WARNINGS -#include <iostream> - - -using std::cout; -using std::string; -using std::shared_ptr; -using boost::optional; - - -void -SPL::read (boost::filesystem::path path, ContentStore* store) -{ - _spl.clear (); - _missing = false; - cxml::Document doc ("SPL"); - doc.read_file(dcp::filesystem::fix_long_path(path)); - _id = doc.string_child("Id"); - _name = doc.string_child("Name"); - for (auto i: doc.node_children("Entry")) { - auto c = store->get(i->string_child("Digest")); - if (c) { - add (SPLEntry(c)); - } else { - _missing = true; - } - } -} - - -void -SPL::write (boost::filesystem::path path) const -{ - xmlpp::Document doc; - auto root = doc.create_root_node ("SPL"); - cxml::add_text_child(root, "Id", _id); - cxml::add_text_child(root, "Name", _name); - for (auto i: _spl) { - i.as_xml(cxml::add_child(root, "Entry")); - } - doc.write_to_file_formatted (path.string()); -} - - -void -SPL::insert(SPLEntry entry, optional<string> before_id) -{ - if (before_id) { - auto iter = std::find_if(_spl.begin(), _spl.end(), [before_id](SPLEntry const& e) { - return e.id == before_id; - }); - if (iter != _spl.end()) { - _spl.insert(iter, entry); - } - } else { - _spl.push_back(entry); - } -} - - -nlohmann::json -SPL::as_json_without_content() const -{ - nlohmann::json json; - json["id"] = _id; - json["name"] = _name; - return json; -} - - -nlohmann::json -SPL::as_json_with_content() const -{ - auto json = as_json_without_content(); - for (auto i: _spl) { - json["content"].push_back(i.as_json()); - } - return json; -} |
