# Wendelin.bigfile | common ZODB-related helpers # Copyright (C) 2014-2015 Nexedi SA and Contributors. # Kirill Smelkov <kirr@nexedi.com> # # This program is free software: you can Use, Study, Modify and Redistribute # it under the terms of the GNU General Public License version 3, or (at your # option) any later version, as published by the Free Software Foundation. # # You can also Link and Combine this program with other software covered by # the terms of any of the Open Source Initiative approved licenses and Convey # the resulting work. Corresponding source of such a combination shall include # the source code for all other software used. # # This program is distributed WITHOUT ANY WARRANTY; without even the implied # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # See COPYING file for full licensing terms. from ZODB.FileStorage import FileStorage from ZODB import DB # open stor/db/connection and return root obj def dbopen(path): stor = FileStorage(path) db = DB(stor) conn = db.open() root = conn.root() return root # close db/connection/storage identified by root obj def dbclose(root): conn = root._p_jar db = conn.db() stor = db.storage conn.close() db.close() stor.close()