Commit 0de8ed10 authored by Alexander Mordvintsev's avatar Alexander Mordvintsev

demo description url parsing

parent 5b00763b
...@@ -2,6 +2,7 @@ import Tkinter as tk ...@@ -2,6 +2,7 @@ import Tkinter as tk
from ScrolledText import ScrolledText from ScrolledText import ScrolledText
from glob import glob from glob import glob
from common import splitfn from common import splitfn
import webbrowser
#from IPython.Shell import IPShellEmbed #from IPython.Shell import IPShellEmbed
#ipshell = IPShellEmbed() #ipshell = IPShellEmbed()
...@@ -80,6 +81,7 @@ class App: ...@@ -80,6 +81,7 @@ class App:
def on_link(self, url): def on_link(self, url):
print url print url
webbrowser.open(url)
def on_demo_select(self, evt): def on_demo_select(self, evt):
name = self.demos_lb.get( self.demos_lb.curselection()[0] ) name = self.demos_lb.get( self.demos_lb.curselection()[0] )
...@@ -101,28 +103,31 @@ class App: ...@@ -101,28 +103,31 @@ class App:
s = s.rstrip() s = s.rstrip()
if i == 0 and not s: if i == 0 and not s:
continue continue
sn = len(s) if s and s == '='*len(s):
if s and s == '='*sn:
text.tag_add('header1', 'end-2l', 'end-1l') text.tag_add('header1', 'end-2l', 'end-1l')
elif s and s == '-'*sn: elif s and s == '-'*len(s):
text.tag_add('header2', 'end-2l', 'end-1l') text.tag_add('header2', 'end-2l', 'end-1l')
else: else:
text.insert('end', s+'\n') text.insert('end', s+'\n')
def format_line(self, s): def add_link(start, end, url):
text = self.text for tag in self.linker.add(url):
pos, n = 0, len(s) text.tag_add(tag, start, end)
while pos < n: self.match_text(r'http://\S+', add_link)
next = s.find('http://', pos)
if next < 0:
next = n
test.insert(tk.END, s[pos:next])
pos = next
#text.insert(tk.END, "click here!", linker.add('http://asdfsdaf'))
def match_text(self, pattern, tag_proc):
text = self.text
text.mark_set('matchPos', '1.0')
count = tk.IntVar()
while True:
match_index = text.search(pattern, 'matchPos', count=count, regexp=True, stopindex='end')
if not match_index: break
end_index = text.index( "%s+%sc" % (match_index, count.get()) )
text.mark_set('matchPos', end_index)
if callable(tag_proc):
tag_proc(match_index, end_index, text.get(match_index, end_index))
else:
text.tag_add(tag_proc, match_index, end_index)
def run(self): def run(self):
tk.mainloop() tk.mainloop()
......
''' '''
Simple example of stereo image matching and point cloud generation. Simple example of stereo image matching and point cloud generation.
Resulting .ply file cam be easily viewed using MeshLab (http://meshlab.sourceforge.net/) Resulting .ply file cam be easily viewed using MeshLab ( http://meshlab.sourceforge.net/ )
''' '''
import numpy as np import numpy as np
......
''' '''
Multiscale Turing Patterns generator. Multiscale Turing Patterns generator.
=====================================
Inspired by http://www.jonathanmccabe.com/Cyclic_Symmetric_Multi-Scale_Turing_Patterns.pdf Inspired by http://www.jonathanmccabe.com/Cyclic_Symmetric_Multi-Scale_Turing_Patterns.pdf
''' '''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment