MediaWiki preprocessor for embeding of images
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@4108 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
		
							parent
							
								
									075b5b6d1d
								
							
						
					
					
						commit
						310e827728
					
				
					 3 changed files with 35 additions and 13 deletions
				
			
		|  | @ -19,7 +19,7 @@ | ||||||
|                  condition="objects"> |                  condition="objects"> | ||||||
|       <h2 i18n:translate="">Media Objects</h2> |       <h2 i18n:translate="">Media Objects</h2> | ||||||
|       <div tal:repeat="obj objects"> |       <div tal:repeat="obj objects"> | ||||||
|         <a tal:attributes="href obj/absolute_url" |         <a tal:attributes="href string:${obj/absolute_url}/@@view" | ||||||
|            tal:content="obj/title" /> |            tal:content="obj/title" /> | ||||||
|       </div> |       </div> | ||||||
|     </tal:listing> |     </tal:listing> | ||||||
|  |  | ||||||
|  | @ -5,13 +5,25 @@ Standard Wiki Pre-processors | ||||||
|   ($Id$) |   ($Id$) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| MediaWiki Links | MediaWiki Formatting | ||||||
| =============== | ==================== | ||||||
| 
 | 
 | ||||||
|   >>> from cybertools.wiki.preproc.mediawiki import preprocess |   >>> from cybertools.wiki.preproc.mediawiki import preprocess | ||||||
| 
 | 
 | ||||||
|  | Links | ||||||
|  | ----- | ||||||
|  | 
 | ||||||
|   >>> src = '''Some text with [[a link]] and |   >>> src = '''Some text with [[a link]] and | ||||||
|   ... [[link2 | another link]] with separate text.''' |   ... [[link2 | another link]] with separate text.''' | ||||||
| 
 | 
 | ||||||
|   >>> preprocess(src) |   >>> preprocess(src) | ||||||
|   'Some text with `a link <a link>`__ and\n`another link <link2>`__ with separate text.' |   'Some text with `a link <a link>`__ and\n`another link <link2>`__ with separate text.' | ||||||
|  | 
 | ||||||
|  | Embedding of Images | ||||||
|  | ------------------- | ||||||
|  | 
 | ||||||
|  |   >>> src = '''[[image:media01.jpg]]''' | ||||||
|  | 
 | ||||||
|  |   >>> print preprocess(src) | ||||||
|  |   .. image:: media01.jpg | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -28,16 +28,26 @@ import re | ||||||
| linkPattern = re.compile(r'\[\[(.+)\]\]') | linkPattern = re.compile(r'\[\[(.+)\]\]') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def createRstxLink(match): |  | ||||||
|     value = match.group(1) |  | ||||||
|     parts = value.split('|') |  | ||||||
|     text = name = parts[0].strip() |  | ||||||
|     if len(parts) > 1: |  | ||||||
|         text = parts[-1].strip() |  | ||||||
|     return '`%s <%s>`__' % (text, name) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| def preprocess(source): | def preprocess(source): | ||||||
|     result = linkPattern.sub(createRstxLink, source) |     result = linkPattern.sub(processLinkPattern, source) | ||||||
|     return result |     return result | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | def processLinkPattern(match): | ||||||
|  |     value = match.group(1) | ||||||
|  |     parts = value.split('|') | ||||||
|  |     name = parts.pop(0).strip() | ||||||
|  |     if ':' in name: | ||||||
|  |         prefix, name = name.split(':', 1) | ||||||
|  |         return createRstxImage(name, parts, prefix) | ||||||
|  |     else: | ||||||
|  |         return createRstxLink(name, parts) | ||||||
|  | 
 | ||||||
|  | def createRstxLink(name, parts, prefix=None): | ||||||
|  |     text = parts and parts[-1].strip() or name | ||||||
|  |     return '`%s <%s>`__' % (text, name) | ||||||
|  | 
 | ||||||
|  | def createRstxImage(name, parts, prefix=None): | ||||||
|  |     return '\n\n.. image:: %s\n\n' % name | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 helmutm
						helmutm