work in progress: loops site synchronization: trigger import
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3735 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
		
							parent
							
								
									e0240b5e82
								
							
						
					
					
						commit
						0d33353472
					
				
					 2 changed files with 24 additions and 4 deletions
				
			
		|  | @ -26,6 +26,7 @@ from cStringIO import StringIO | ||||||
| from logging import getLogger | from logging import getLogger | ||||||
| import os | import os | ||||||
| import time | import time | ||||||
|  | from urllib import urlopen, urlencode | ||||||
| from zope import component | from zope import component | ||||||
| from zope.interface import Interface, implements | from zope.interface import Interface, implements | ||||||
| from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile | from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile | ||||||
|  | @ -133,6 +134,10 @@ class ChangesSync(ChangesSave): | ||||||
| 
 | 
 | ||||||
|     state = 'ok' |     state = 'ok' | ||||||
| 
 | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def targetPath(self): | ||||||
|  |         return self.targetView.options('target_dir')[0] | ||||||
|  | 
 | ||||||
|     def update(self): |     def update(self): | ||||||
|         self.export() |         self.export() | ||||||
|         self.transfer() |         self.transfer() | ||||||
|  | @ -141,8 +146,7 @@ class ChangesSync(ChangesSave): | ||||||
|         return True |         return True | ||||||
| 
 | 
 | ||||||
|     def transfer(self): |     def transfer(self): | ||||||
|         targetPath = self.targetView.options('target')[0] |         cmd = os.popen('scp -r %s %s' % (self.exportDirectory, self.targetPath)) | ||||||
|         cmd = os.popen('scp -r %s %s' % (self.exportDirectory, targetPath)) |  | ||||||
|         info = cmd.read() |         info = cmd.read() | ||||||
|         result = cmd.close() |         result = cmd.close() | ||||||
|         if result: |         if result: | ||||||
|  | @ -152,7 +156,16 @@ class ChangesSync(ChangesSave): | ||||||
|             self.transcript.write(message + '\n') |             self.transcript.write(message + '\n') | ||||||
| 
 | 
 | ||||||
|     def triggerImport(self): |     def triggerImport(self): | ||||||
|         pass |         targetUrl = self.targetView.options('target_url')[0] | ||||||
|  |         p = self.targetPath.split(':', 1) | ||||||
|  |         if len(p) > 1: | ||||||
|  |             path = p[1] | ||||||
|  |         else: | ||||||
|  |             path = p[0] | ||||||
|  |         f = urlopen(targetUrl, data=urlencode(dict(path=path))) | ||||||
|  |         result = f.read() | ||||||
|  |         self.transcript.write('trigger import: %s\n' % result) | ||||||
|  |         return result | ||||||
| 
 | 
 | ||||||
|     def recordExecution(self): |     def recordExecution(self): | ||||||
|         jobs = JobRecords(self.view.loopsRoot) |         jobs = JobRecords(self.view.loopsRoot) | ||||||
|  | @ -163,4 +176,5 @@ class ChangesSync(ChangesSave): | ||||||
| class SyncImport(BaseView): | class SyncImport(BaseView): | ||||||
| 
 | 
 | ||||||
|     def importData(self): |     def importData(self): | ||||||
|         pass |         print '***', self.request.get('path', '???') | ||||||
|  |         return 'Done' | ||||||
|  |  | ||||||
|  | @ -25,4 +25,10 @@ | ||||||
|         factory="loops.system.sync.browser.ChangesSync" |         factory="loops.system.sync.browser.ChangesSync" | ||||||
|         permission="zope.ManageContent" /> |         permission="zope.ManageContent" /> | ||||||
| 
 | 
 | ||||||
|  |   <browser:page | ||||||
|  |         name="sync_import" | ||||||
|  |         for="loops.interfaces.ILoops" | ||||||
|  |         class="loops.system.sync.browser.SyncImport" | ||||||
|  |         permission="zope.Public" /> | ||||||
|  | 
 | ||||||
| </configure> | </configure> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 helmutm
						helmutm