Author: jmorliaguet Date: Tue May 2 21:37:21 2006 New Revision: 3028 Modified: cpsskins/branches/paris-sprint-2006/ui/panels/io_section.pt cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/configure.zcml cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py Log:
- added an uploadSnapshot method (an AJAX iframe is still needed to make the file input work) Modified: cpsskins/branches/paris-sprint-2006/ui/panels/io_section.pt ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/panels/io_section.pt (original) +++ cpsskins/branches/paris-sprint-2006/ui/panels/io_section.pt Tue May 2 21:37:21 2006 @@ -17,13 +17,15 @@ <div tal:condition="python: section == 'import'"> <h3>Import site</h3> - <h4>Upload a snapshot</h4> + <h4>Import a site configuration</h4> <form action="@@importSite" method="post" enctype="multipart/form-data"> - <input type="file" name="file" /> - <button type="submit">Upload</button> + <p> + <input type="file" name="file" /> + <button type="submit">Upload</button> + </p> </form> - <h4>Load an existing snapshot</h4> + <h4>Switch to another configuration</h4> <form action="@@importSnapshot" method="post" enctype="multipart/form-data"> <select name="filename"> @@ -36,6 +38,16 @@ <div tal:condition="python: section == 'snapshots'"> <h3>Snapshots</h3> + + <h4>Upload a snapshot</h4> + <form action="@@uploadSnapshot" method="post" + enctype="multipart/form-data"> + <p> + <input type="file" name="file" /> + <button type="submit">Upload</button> + </p> + </form> + <ul> <li tal:repeat="snapshot context/@@listSnapshots"> <a tal:attributes="href string:@@downloadSnapshot?filename=$snapshot" Modified: cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/configure.zcml ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/configure.zcml (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/configure.zcml Tue May 2 21:37:21 2006 @@ -92,6 +92,11 @@ attribute="importSnapshot" /> + <page + name="uploadSnapshot" + attribute="uploadSnapshot" + /> + </pages> </configure> Modified: cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py ============================================================================== --- cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py (original) +++ cpsskins/branches/paris-sprint-2006/ui/screens/sitemanager/views.py Tue May 2 21:37:21 2006 @@ -18,7 +18,6 @@ __docformat__ = "reStructuredText" import time -import logging from xml.dom.minidom import parseString, DOMImplementation, Node @@ -40,8 +39,6 @@ from cpsskins.setup.snapshot import Snapshot from cpsskins.utils import getThemeManager -logger = logging.getLogger("cpsskins") - class SiteDesignerView: """Site designer view""" @@ -214,16 +211,11 @@ return getThemeManager(self.context).getSnapshotStorage() def createSnapshot(self): - start = time.time() - data = self.exportSite() snapshots = self.getSnapshotStorage() snapshot = Snapshot(data=data) snapshots.add(snapshot, snapshot.filename) - logger.debug(u"Snapshot '%s' created in %f seconds.", - snapshot.filename, time.time()-start) - self.request.response.setHeader('content-type', 'text/x-json') return json.write({'form': { 'snapshot': snapshot.filename, @@ -247,15 +239,18 @@ def importSnapshot(self, filename=u''): if not filename: - raise ValueError("No snaphost filename specified.") - - start = time.time() + raise ValueError("No snapshot filename specified.") snapshots = self.getSnapshotStorage() self.importSite(snapshots[filename]) - logger.debug(u"Snapshot '%s' imported in %f seconds.", filename, - time.time()-start) + def uploadSnapshot(self, file=None): + if not file: + raise ValueError("No snapshot file specified.") + + data = file.read() + snapshots = self.getSnapshotStorage() + snapshots.add(Snapshot(data), file.filename) ### Storage ###################################################### -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins