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

Reply via email to