import unicodedata def removeAccentedChars(s): return unicodedata.normalize('NFKD',s).encode('ascii','ignore') print removeAccentedChars(u"aaàöÜ")
var ll=document.getElementById("ltags").childNodes; for(var i=0;i<ll.length;i ) { if(ll[i].tagName=="A") { // code } }
//========================================== // REGEX //========================================== using System.Text.RegularExpressions; Regex r = new Regex(@"CES=([^,]+),"); Match m = r.Match(rf); if (m.Success) rf = m.Groups[1].Value; else rf = ""; //========================================== // TEXT ENCODING (utf8 -> cp1252) //========================================== csv = Encoding.GetEncoding("Windows-1250").GetString(Encoding.UTF8.GetBytes( csv ) ); //========================================== // MAKE A QUICK LOG //========================================== private void log(object o) { System.IO.File.AppendAllText("C:/Temp/logmarco4.txt", "-" + Convert.ToString(o)+"\n"); } //========================================== // FORMAT Date //========================================== String.Format("{0:d/M/yyyy HH:mm:ss}", dt); // "9/3/2008 16:05:07"
import cPickle,hashlib,tempfile,os,time,types def cache(nbsec=0,path=None,islog=False): """ cache (decorator) tout retour de methode en pickable - nbsec : (opt) nb secondes du cache (si =0 unlimited) - path : (opt) chemin pour stocker le pickle (sinon temp dir) - islog: (opt) affiche un log clair des manips """ def _f2(*args,**kwargs): mname = _f2.fct.__name__ def log(msg): print "*** CACHE %s (%ds): " % (mname,nbsec),msg file=os.path.join(path or tempfile.gettempdir(), "zcache_%s_%s.pickle" % (mname,hashlib.md5(str(args) str(kwargs)).hexdigest()) ) if os.path.isfile(file): if nbsec>0: ftime = os.stat(file).st_mtime ntime = time.time() isLoad = ftime nbsec > ntime if isLoad: if islog: log("use cache : %s renew in %ds" % (file,nbsec - (ntime - ftime)) ) else: if islog: log("cache has expired since %d sec" % (ntime - ftime)) else: isLoad = True if islog: log("use cache : %s (no expiration time)" % (file,) ) if isLoad: return cPickle.load(open(file,"rb")) else: if islog: log("no cache file") val = _f2.fct(*args, **kwargs) if islog: log("create %s"%file) fid=open(file,"wb") cPickle.dump(val,fid) fid.close() return val if type(nbsec) == types.FunctionType: # to be able to work without decorator params _f2.fct, nbsec= nbsec , 0 return _f2 else: def _f1(func): _f2.fct = func return _f2 return _f1
try: pass except: import traceback err=traceback.format_exc()
import gtk import Image def pixbuf2Image(pb): width,height = pb.get_width(),pb.get_height() return Image.fromstring("RGB",(width,height),pb.get_pixels() ) pb = gtk.gdk.pixbuf_new_from_file( "p20050424_160333.jpg" ) im = pixbuf2Image(pb) im.save("welldone.jpg", "JPEG",quality=80)
import gtk import Image def image2pixbuf(im): file1 = StringIO.StringIO() im.save(file1, "ppm") contents = file1.getvalue() file1.close() loader = gtk.gdk.PixbufLoader("pnm") loader.write(contents, len(contents)) pixbuf = loader.get_pixbuf() loader.close() return pixbuf
import os class _FieldBase_: _defines=[] def __init__(self,*a): _FieldBase_._defines.append(self) class _FieldedMetaClass_(type): def __init__(cls, name, bases, dct): super(_FieldedMetaClass_, cls).__init__(name, bases, dct) if name!="Form": fields_to_name = dict([(slot,name) for name,slot in dct.items() if isinstance(slot,_FieldBase_)]) cls.fields = [(fields_to_name[obj],obj ) for obj in _FieldBase_._defines] _FieldBase_._defines=[] # reset list !!! class Form (object): __metaclass__ = _FieldedMetaClass_ def __repr__(self): l=["Form '%s'"%self.__class__.__name__] l+=["* %-10s : %s"%(f,t.__class__.__name__) for f,t in self.fields] return os.linesep.join(l) class FieldInt(_FieldBase_): def __init__(self,*a): _FieldBase_.__init__(self,a) class FieldString(_FieldBase_): def __init__(self,*a): _FieldBase_.__init__(self,a) class Form1(Form): name = FieldString(1) surname = FieldString(2) age = FieldInt(3) class Form2(Form): nb = FieldInt(1) title = FieldString(2) print Form1() print Form2()
function Bdd() { // class constructor this.data=[]; // instance attribut } Bdd.prototype.clear = function() { // instance methode this.data=[]; } var bdd=new Bdd(); // create an instance of Bdd
import datetime d=datetime.datetime.now() # datetime to string print d.strftime("%d/%m/%Y %H:%M:%S") # string to datetime print d.strptime("14/11/1970 12:03:30","%d/%m/%Y %H:%M:%S") """ %a Locale's abbreviated weekday name. %A Locale's full weekday name. %b Locale's abbreviated month name. %B Locale's full month name. %c Locale's appropriate date and time representation. %d Day of the month as a decimal number [01,31]. %H Hour (24-hour clock) as a decimal number [00,23]. %I Hour (12-hour clock) as a decimal number [01,12]. %j Day of the year as a decimal number [001,366]. %m Month as a decimal number [01,12]. %M Minute as a decimal number [00,59]. %p Locale's equivalent of either AM or PM. (1) %S Second as a decimal number [00,61]. (2) %U Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. (3) %w Weekday as a decimal number [0(Sunday),6]. %W Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. (3) %x Locale's appropriate date representation. %X Locale's appropriate time representation. %y Year without century as a decimal number [00,99]. %Y Year with century as a decimal number. %Z Time zone name (no characters if no time zone exists). % A literal "%" character. """
from htmlentitydefs import name2codepoint as n2cp import re def substitute_entity(match): ent = match.group(3) if match.group(1) == "#": if match.group(2) == '': return unichr(int(ent)) elif match.group(2) == 'x': return unichr(int('0x'+ent, 16)) else: cp = n2cp.get(ent) if cp: return unichr(cp) else: return match.group() def decode_htmlentities(string): entity_re = re.compile(r'&(#?)(x?)(\w+);') return entity_re.subn(substitute_entity, string)[0]
from google.appengine.api import users def admin_required(handler_method): def check_login(self, *args): if users.is_current_user_admin(): return handler_method(self, *args) else: self.redirect(users.create_login_url(self.request.url)) return check_login def login_required(handler_method): def check_login(self, *args): if users.get_current_user(): return handler_method(self, *args) else: self.redirect(users.create_login_url(self.request.url)) return check_login from google.appengine.api import memcache def memoize(key, time=60): """Decorator to memoize functions using memcache.""" def decorator(fxn): def wrapper(*args, **kwargs): data = memcache.get(key) if data is not None: return data data = fxn(*args, **kwargs) memcache.set(key, data, time) return data return wrapper return decorator
#from elementtree.etree importe ElementTree from xml.etree import ElementTree #a=ElementTree.parse("toto.xml") a=ElementTree.fromstring("<a>fds</a>") b=ElementTree.XML("<b/>") a.append(b) b=ElementTree.Element("b",{"key":"value"}) b.text = "kiki" b.set("toto","tata") a.append(b) print ElementTree.tostring(a,encoding="Windows-1252") for i in a.findall("b"): print i,i.get("key")
import sys, traceback, string def myExceptHook(type, value, tb): sys.__excepthook__(type, value, tb) lines = traceback.format_exception(type, value, tb) print string.join(lines) sys.excepthook = myExceptHook
# recupete le mtime d'un fichier import os file="c:\gce.png" mtime = os.stat(file).st_mtime # le transforme en time import time print time.localtime(mtime) # le transforme en datetime import datetime print datetime.datetime.fromtimestamp(mtime)
import urllib,urllib2 from gzip import GzipFile from StringIO import StringIO def getContent(url,data=None): # data is a dict of posted vars headers = { "User-Agent": "Mozilla/5.0 (X11; U; Linux i686; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0", "Accept": "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5", "Accept-Language": "fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3", "Accept-Charset": "utf-8;q=0.7,*;q=0.7", "Keep-Alive": "300", "Proxy-Connection": "keep-alive", 'Cookie': '', "http-referer":"http://www.google.com/" } if data: data = urllib.urlencode(data) request= urllib2.Request(url,data,headers) try: response = urllib2.urlopen(request) html=response.read(1000000) try: html=GzipFile(fileobj=StringIO(html), mode='rb').read(1000000) except: pass return html except urllib2.HTTPError, exc: print "HTTP error %d : %s" % (exc.code, exc.msg) except urllib2.URLError, exc: print "URL Error : %s" % exc.reason
import urllib,json print json.loads(urllib.urlopen("http://www.manatlan.com/snip/ajax",urllib.urlencode({"key":"mykey"})).read())
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title></title> <link rel="stylesheet" type="text/css" href="/static/style.css" media="screen" /> <style type='text/css'> </style> <script type="text/javascript" src="/static/jquery.js"></script> <script type='text/javascript'> <!-- --> </script> </head> <body> </body> </html>
<script type="text/javascript" src="/static/jquery.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="/static/style.css" />
<!doctype html> <html lang="fr"> <head> <title>New Document</title> <meta charset="UTF-8" /> <meta name="description" content="description"> <link rel="stylesheet" media="screen" href="css/styles.css" /> <script type="text/javascript" src="/static/jquery.js"></script> </head> <body> <div id="site-container"> <header id="site-header"> <div class="logo"> <a href=""><img src="" alt="" title="" /></a> </div> <hgroup> <h1></h1> <h2></h2> </hgroup> <nav> <ul> <li><a href="#"></a></li> <li><a href="#"></a></li> <li><a href="#"></a></li> <li><a href="#"></a></li> <li><a href="#"></a></li> </ul> </nav> </header> <section id="site-page"> <section id="page-content"> <header> <h1></h1> </header> <div class="content"> <h2></h2> <p></p> <p></p> <p></p> </div> </section> <aside> <h2></h2> <ul> <li class="module"> <h3 class="module-title"></h3> <div class="module-block"></div> </li> <li class="module"> <h3 class="module-title"></h3> <div class="module-block"></div> </li> <li class="module"> <h3 class="module-title"></h3> <div class="module-block"></div> </li> </ul> </aside> <footer> <p></p> </footer> </section> <footer id="site-footer" class="phat-footer"> <ul> <li></li> <li></li> <li></li> </ul> <ul> <li></li> <li></li> <li></li> </ul> <ul> <li></li> <li></li> <li></li> </ul> <p></p> </footer> </div> </body> </html>
class Slave1(object): t1="1" class Slave2(object): t2="2" class MetaClass(type): def __new__(meta, classname, bases, classDict): bases = tuple([Slave1, Slave2]) return type.__new__(meta, classname, bases, classDict) class Master(object): __metaclass__ = MetaClass m=Master() print m.t1 print m.t2
import clr clr.AddReference("System.Configuration") from System.Configuration import ConfigurationManager ConfigurationManager.AppSettings.BaseClear() ConfigurationManager.AppSettings.BaseAdd("lang",ArrayList(["fr",])) print ConfigurationManager.AppSettings["lang"] // -> fr
def show(obj): if obj!=None: for i in dir(obj): v=getattr(obj,i) if "builtin_function_or_method" not in str(type(v)) and not i.startswith("__"): print "%s.%s (%s)= %s" % (obj.__class__.__name__,i,type(v), v) else: print "SHOW NONE !!!"
#/////////////////////////////: # pass a arg by ref #/////////////////////////////: err=clr.Reference[str]("") yourMethod(err) #/////////////////////////////: # pass a arg by ref #/////////////////////////////: from System.Collections.Generic import * l=List[str]() l.Add("val1") l.Add("val2") #/////////////////////////////: # get arguments from commandline #/////////////////////////////: from System import Environment argv = list(Environment.GetCommandLineArgs())
// with default cred ccred = CredentialCache.DefaultCredentials // or special cred myCred = NetworkCredential(login,password,domaine) ccred = CredentialCache() ccred.Add(Uri(host), "NTLM", myCred) from System.Net import * def download(url,file, cred=None): wc=WebClient() if cred: wc.Credentials = cred wc.DownloadFile(url,file) def getContent(url, cred = None): wr = WebRequest.Create(url) if cred: wr.Credentials = cred rp=wr.GetResponse() r=StreamReader(rp.GetResponseStream(),Encoding.UTF8) return r.ReadToEnd()
function xslt(xmlDoc,xslDoc) { var transform; if (typeof ActiveXObject != 'undefined') { transform = xmlDoc.transformNode(xslDoc); } else { var xsl = new XSLTProcessor(); xsl.importStylesheet(xslDoc); var fragment=xsl.transformToFragment(xmlDoc, document); if( fragment.childNodes.length>0 ) transform = fragment.childNodes[0].innerHTML; else alert("error"); } return transform; }
<script type='text/javascript'> $(document).ready(function(){ $("#working").bind("ajaxSend", function(){ $(this).show(); }).bind("ajaxComplete", function(){ $(this).hide(); }); }); </script>
// using something like http://www.json.org/json2.js // or http://abombers.manatlan.com/abdata/json2.js var jsonEncoded = JSON.stringify( [1,2,3]); var jsonDecoded = eval("(" jsonEncoded ")");
from lxml.etree import fromstring xml = fromstring("""<r xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <a key='value'>ez</a> <a key='value2'>ez2</a> <xsl:param>toto</xsl:param> </r>""") print xml.xpath("//a") print xml.xpath("//a/@key") print xml.xpath("//xsl:param",{"xsl":"http://www.w3.org/1999/XSL/Transform"})
from lxml.etree import XSLT,fromstring xml = fromstring("<a key='value'>ez</a>") xsl= fromstring("""<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method = "html" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" standalone="yes" indent="no" /> <xsl:template match="a"> <xsl:value-of select="@key"/> </xsl:template> </xsl:stylesheet>""") style = XSLT(xsl) result = style.apply( xml) print style.tostring(result)
from xml.dom import minidom #doc = minidom.parse(file) doc = minidom.parseString("<a>hello</a>") print doc.toprettyxml(encoding="utf-8") node=doc.createElement("b") node.setAttribute("nom","val") doc.documentElement.appendChild(node) node2=doc.createTextNode("koko") doc.documentElement.appendChild(node2) print doc.toprettyxml(encoding="utf-8") for i in doc.documentElement.childNodes: print i,i.nodeType #(i.ELEMENT_NODE,i.TEXT_NODE) for i in doc.getElementsByTagName("a"): print "-<A>-",i node.parentNode.removeChild(node) node2.parentNode.removeChild(node2) print doc.toprettyxml(encoding="utf-8")
#!/usr/bin/python # -*- coding: utf-8 -*- from multiprocessing import Process, Queue #python2.6 def _pq(q,func,args,kargs):q.put(func(*args,**kargs)) class RunProc(object): def __init__(self,func, args=None,kargs=None): if args is None: args=() if kargs is None: kargs={} self.__q = Queue() self.__p = Process(target=_pq, args=(self.__q,func,args,kargs)) self.__p.start() def isRunning(self): return self.__p.is_alive() def get(self): if not hasattr(self,"_ret"): self.__p.join() self._ret=self.__q.get() return self._ret def kill(self): if self.isRunning(): self.__p.terminate() #~ import thread #~ class RunProc(object): #~ def __init__(self,func, args=None,kargs=None): #~ if args is None: args=() #~ if kargs is None: kargs={} #~ def _pq(self,func,args,kargs): #~ self.__lock.acquire() #~ self.__ret = func(*args,**kargs) #~ self.__lock.release() #~ self.__lock=thread.allocate_lock() #~ thread.start_new_thread(_pq,(self,func,args,kargs)) #~ while not self.isRunning(): pass #~ def isRunning(self): #~ return self.__lock and self.__lock.locked() #~ def get(self): #~ if self.__lock: #~ self.__lock.acquire() #~ self.__lock=None #~ return self.__ret #~ def kill(self): #~ pass def work(s,n,cb=None): import time time.sleep(s) l=range(n) if cb: cb(l) return l def mycb(l): print "***cb:",l if __name__ == '__main__': p2=RunProc( work, (2,6) ) assert p2.isRunning() v1=p2.get() assert not p2.isRunning() v2=p2.get() assert v1==v2 assert not p2.isRunning() p1=RunProc( work, (3,13),{"cb":mycb} ) p2=RunProc( work, (2,6) ) print p1.isRunning() print p2.isRunning() print p1.get() print p2.get()
import os import cPickle file="toto" if os.path.isfile(file): l = cPickle.load(open(file, 'rb')) else: l = [] # work with list "l" # ... cPickle.dump(l, open(file, 'wb'))
from pyquery import PyQuery as S #html building h=S("<div/>") print h # <div/> h.text("hello") h.attr("id","jo") h.addClass("jean") print h # <div id="jo" class="jean">hello</div> #html scrapping h=S(url="http://www.google.fr") for i in h("a"): print [S(i).attr("href"),S(i).text()]
from optparse import OptionParser USAGE = """usage: %prog [options] <file1> <file2> ... """ if __name__ == "__main__": parser = OptionParser(usage=USAGE) parser.add_option("-o", "--output", dest="filename", help="generate output infile", metavar="FILE") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", default=True, help="don't print status messages to stdout") (options, args) = parser.parse_args() if not args: parser.print_help() else: print options.verbose print options.filename print args
def methodToTest(x): """ >>> methodToTest(2) 1 >>> methodToTest(0) Traceback (most recent call last): ... ZeroDivisionError: ... >>> range(10) [0, 1, 2, ..., 9] """ return 2/x if __name__ == "__main__": import doctest doctest.testmod(optionflags=doctest.ELLIPSIS+doctest.NORMALIZE_WHITESPACE) #doctest.testfile("example.txt")
#!/usr/bin/env python #-*- coding: UTF-8 -*- if __name__ == "__main__": pass
import unittest class TestSequenceFunctions(unittest.TestCase): def setUp(self): pass def tearDown(self): pass def test_assert(self): self.assert_( 1==1 ) def test_exceptions(self): self.assertRaises( ZeroDivisionError, lambda: 12/0 ) if __name__ == "__main__": unittest.main()
import unittest @unittest.FunctionTestCase def old_tests(): assert 1==1 if __name__ == "__main__": suite = unittest.TestSuite() suite.addTest( old_tests ) unittest.TextTestRunner().run( suite )
import sys def E(m): def _c(*a,**k): try: return m(*a,**k) except: return sys.exc_info()[0] return _c def methodToTest(x): return 2/x if __name__ == "__main__": assert methodToTest(2)==1 assert methodToTest(1)==2 assert E(methodToTest)(0)==ZeroDivisionError # alternative way : methodToTest = E(methodToTest) # force decoration assert methodToTest(1)==2 assert methodToTest(2)==1 assert methodToTest(0)==ZeroDivisionError
#!/usr/bin/python # -*- coding: utf-8 -*- import os import bottle as web # http://bottle.paws.de/page/docs DEV=True web.debug(DEV) @web.route("/static/:path") def static(path): web.send_file(path,root="static") @web.route('/:name#.*#') def index(name): name = name or "unknown" web.response.content_type = 'text/html; charset=utf-8' web.response.COOKIES['kiki'] = name return """hello %(name)s <a href='/do/show?a=1&a=2'>show</a>""" % locals() @web.route('/do/:cmd?') def cmd(cmd): if cmd=="show": yield "<li>cookies : %s</li>"% str(web.request.COOKIES) yield "<li>get : %s</li>"% str(web.request.GET) yield "<li>post : %s</li>"% str(web.request.POST) else: web.redirect("/") #don't work with yield now ;-( @web.route('/.*') def fallback(): yield "my 404" #~ web.abort(404, "Not Found") @web.error(500) # don't work for me ?!? def fallback500(err): return "my error:"+str(err) def main(useGae=False): if useGae: from google.appengine.ext.webapp import util util.run_wsgi_app(web.default_app()) else: web.run(reloader=DEV) if __name__=="__main__": main()
#!/usr/bin/python # -*- coding: utf-8 -*- import bottle as web from beaker.middleware import SessionMiddleware @web.route('/') def index(): session=web.request.environ["beaker.session"] if "cpt" in session: session["cpt"]+=1 else: session["cpt"]=1 return "cpt:"+str(session["cpt"]) if __name__=="__main__": session_opts = { "session.type": "file", 'session.cookie_expires': True, 'session.auto': True, 'session.data_dir': "cache", } app = web.default_app() app = SessionMiddleware(app, session_opts) web.run(app=app,reloader=True)
from xdg import BaseDirectory import os import ConfigParser class Config(object): def __init__(self): self._dir=os.path.join(BaseDirectory.xdg_config_home,"freetp") if not os.path.isdir(self._dir): os.mkdir(self._dir) self._file=os.path.join(self._dir,"freetp.conf") self._cfg = ConfigParser.RawConfigParser() if not os.path.isfile(self._file): self._cfg.add_section('Config') self._setMail("") else: self._cfg.read(self._file) def _getMail(self): return self._cfg.get('Config', 'mail') def _setMail(self,v): self._cfg.set('Config', 'mail',v) self._save() mail=property(_getMail,_setMail) def _save(self): fid=open(self._file, 'wb') if fid: self._cfg.write(fid) fid.close()
def color(t, c): return chr(0x1b)+"["+str(c)+"m"+t+chr(0x1b)+"[0m" def black(t): return color(t, 30) def red(t): return color(t, 31) def green(t): return color(t, 32) def yellow(t): return color(t, 33) def blue(t): return color(t, 34) def mangenta(t): return color(t, 35) def cyan(t): return color(t, 36) def white(t): return color(t, 37) def bold(t): return color(t, 1)
import os import stat def walktree (top = ".", depthfirst = True): names = os.listdir(top) if not depthfirst: yield top, names for name in names: try: st = os.lstat(os.path.join(top, name)) except os.error: continue if stat.S_ISDIR(st.st_mode): for (newtop, children) in walktree (os.path.join(top, name), depthfirst): yield newtop, children if depthfirst: yield top, names def test(): for (basepath, children) in walktree("/etc",False): for child in children: print os.path.join(basepath, child) if __name__ == '__main__': test()
import cookielib, urllib, urllib2 # install an urlopener which handle cookies cookiejar = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar)) urllib2.install_opener(opener) request = urllib2.Request("http://google.fr", None, {}) r=urllib2.urlopen(request) for i in cookiejar: print i
def resize(im,percent): """ retaille suivant un pourcentage 'percent' """ w,h = im.size return im.resize(((percent*w)/100,(percent*h)/100)) def resize2(im,pixels): """ retaille le coté le plus long en 'pixels' (pour tenir dans une frame de pixels x pixels) """ (wx,wy) = im.size rx=1.0*wx/pixels ry=1.0*wy/pixels if rx>ry: rr=rx else: rr=ry return im.resize((int(wx/rr), int(wy/rr)))
import os,sys try: os.chdir(os.path.split(sys.argv[0])[0]) except: pass
from subprocess import Popen,PIPE p = Popen(file, shell=True,stdout=PIPE,stderr=PIPE) out = string.join(p.stdout.readlines() ) outerr = string.join(p.stderr.readlines() ) # old ways py<2.4 import os out= string.join(os.popen(file).readlines()) os.spawnvp(os.P_WAIT,"/usr/bin/mplayer",["","-ao","pcm",file]) # or os.spawnvp(os.P_NOWAIT,"/usr/bin/mplayer",["","-ao","pcm",file])
########################################################### ## DECLARATIONS IN SCITE PROPERTIES ########################################################### # define lua scripts ext.lua.startup.script=$(SciteUserHome)/.SciTEUser.lua # define entry in context menu user.context.menu=||Insert Snippet|1121|\ # define the command '21' command.name.21.*=Insert Snippet command.21.*=InsertSnip command.save.before.21.*=2 command.subsystem.21.*=3 command.replace.selection.21.*=0 ########################################################### ## DECLARATIONS IN $(SciteUserHome)/.SciTEUser.lua ########################################################### function capture(cmd) local f = assert(io.popen(cmd, 'r')) local s = assert(f:read('*a')) f:close() return s end function InsertSnip() editor:AddText(capture('gsnip')) end
# visual options of the gui tabbar.hide.one=0 toolbar.visible=1 tabbar.visible=1 statusbar.visible=1 line.margin.visible=1 line.margin.width=4 buffers=20 buffers.zorder.switching=1 # editing options braces.check=1 braces.sloppy=1 are.you.sure=1 load.on.activate=1 are.you.sure.on.reload=1 reload.preserves.undo=1 # source-respect options strip.trailing.spaces=1 tabsize=4 indent.size=4 use.tabs=0 indent.auto=1 indent.opening=1 indent.closing=1 tab.indents=1 backspace.unindents=1 eol.mode=LF eol.auto=1
import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEBase import MIMEBase from email.MIMEText import MIMEText from email.Utils import COMMASPACE, formatdate from email import Encoders import os def sendMail(to, subject, text, files=[],server="localhost"): assert type(to)==list assert type(files)==list fro = "Expediteur <expediteur@mail.com>" msg = MIMEMultipart() msg['From'] = fro msg['To'] = COMMASPACE.join(to) msg['Date'] = formatdate(localtime=True) msg['Subject'] = subject msg.attach( MIMEText(text) ) for file in files: part = MIMEBase('application', "octet-stream") part.set_payload( open(file,"rb").read() ) Encoders.encode_base64(part) part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(file)) msg.attach(part) smtp = smtplib.SMTP(server) smtp.sendmail(fro, to, msg.as_string() ) smtp.close() sendMail( ["destination@dest.kio"], "hello","cheers", ["photo.jpg","memo.sxw"] )
self.header("Content-type", "text/html; charset=utf-8")
import pygtk pygtk.require('2.0') import gtk import gobject class Base(gtk.Window): def __init__(self): gtk.Window.__init__(self,gtk.WINDOW_TOPLEVEL) self.connect('delete-event', self.on_win_delete_event) self.b = gtk.Button() self.b.set_label("Test bouton") self.b.connect('button-press-event', self.oncc) self.add(self.b) self.show_all() def loop(self): self.__inLoop=gobject.MainLoop() self.__inLoop.run() def on_win_delete_event(self,*args): self.destroy() gobject.MainLoop.quit(self.__inLoop) # quit the loop def oncc(self,widget,event): print "coucou" if __name__ == "__main__": base = Base() base.loop()
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer class MyServer(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200, 'OK') self.send_header('Content-type', 'text/html') self.end_headers() self.wfile.write( "hello" ) @staticmethod def serve_forever(port): HTTPServer(("", port), MyServer).serve_forever() if __name__ == "__main__": MyServer.serve_forever(8080)
import socket class Lock: _s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) @classmethod def isPresent(cls,p=77777): try: cls._s.bind(("localhost", p)) cls._s.listen(1) return False except: return True if Lock.isPresent(): print "is running" else: print "run" import time time.sleep(10) print "end"
try: from Tkinter import * except: from tkinter import * #py3k class tkWindow(Toplevel): def __init__(self,name,**k): Toplevel.__init__(self,border=4,**k) self.master.withdraw() # hide real tk root self.title(name) def run(self): self.center() self.focus() self.wait_window() def focus(self): self.grab_set() self.focus_set() def center(self): self.update_idletasks() w= self["width"]!=0 and self["width"] or self.winfo_width() h= self["height"]!=0 and self["height"] or self.winfo_height() ws,hs = self.winfo_screenwidth(),self.winfo_screenheight() self.geometry('%dx%d+%d+%d' % (w, h, (ws/2) - (w/2), (hs/2) - (h/2)))
function ajax( uri, str ) { var x = new XMLHttpRequest(); x.open("POST", uri, true); x.setRequestHeader("Method", "POST " uri " HTTP/1.1"); x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); x.onreadystatechange = function() { if (x.readyState == 4) { // retour ok if(x.status==200) { alert(x.responseText); } else { alert("marche pas"); } callback(); } } x.send("string=" escape(str) ); delete x; }
########################################################################" ## SERVER SIDE ########################################################################" import SimpleXMLRPCServer def get_file(): return "content" server = SimpleXMLRPCServer.SimpleXMLRPCServer(("127.0.0.1", 9955)) server.register_function(get_file) server.serve_forever() ########################################################################" ## CLIENT SIDE ########################################################################" from xmlrpclib import ServerProxy print ServerProxy("http://127.0.0.1:9955").get_file()
#!/usr/bin/env python # -*- coding: utf-8 -*- from libs.aeweb import Web,log class MyWeb(Web): def page_error(self,m): return "ERROR:<pre>%s</pre>"%m def page_notfound(self): return "404 not found" class MyApp1(MyWeb): def GET(self): return "hello" def main(): Web.app( [('/', MyApp1)] ).run() if __name__ == '__main__': main()
import Cookie,hashlib md5 = lambda x : hashlib.md5(x).hexdigest() class ControlAccess: def __init__(self, appReal,password): self.appReal = appReal self.password=password def __call__(self, environ, start_response): try: password = Cookie.SimpleCookie(environ.get("HTTP_COOKIE",""))["pass"].value except: password = "" if password==md5(self.password): for i in self.appReal(environ, start_response): yield i else: try: passw=environ['wsgi.input'].read(int(environ['CONTENT_LENGTH'])).split("=")[-1] except: passw="" if passw == self.password: cookie = Cookie.SimpleCookie() cookie["pass"] = md5(self.password) start_response('200 OK', [('Content-type','text/html'),('Set-Cookie',cookie["pass"].OutputString())]) yield """<html><head><meta http-equiv="refresh" content="0; url=/" /></head><body>welcome</body></html>""" else: start_response('200 OK', [('Content-type','text/html')]) yield """<form method="post"> Password <input type='password' name="password"> <input type='submit' value="ok"> </form>"""
import sqlite3 c = sqlite3.connect('medialib.db') sql="SELECT name FROM sqlite_master WHERE type='table';" r=c.execute(sql) for row in r.fetchall(): print row cur = c.cursor() cur.execute('CREATE TABLE foo (o_id INTEGER PRIMARY KEY, fruit VARCHAR(20), veges VARCHAR(30))') con.commit() cur.execute('INSERT INTO foo (o_id, fruit, veges) VALUES(NULL, "apple", "broccoli")') con.commit() print cur.lastrowid
import sys import os APP_ID = u'aeweb_stub' AUTH_DOMAIN = 'gmail.com' LOGGED_IN_USER = 'm@m.com' # set to '' for no logged in user from google.appengine.api import apiproxy_stub_map from google.appengine.api import datastore_file_stub from google.appengine.api import mail_stub from google.appengine.api import urlfetch_stub from google.appengine.api import user_service_stub from google.appengine.api.memcache import memcache_stub # Start with a fresh api proxy. apiproxy_stub_map.apiproxy = apiproxy_stub_map.APIProxyStubMap() # Use a fresh stub datastore. stub = datastore_file_stub.DatastoreFileStub(APP_ID, '/dev/null', '/dev/null') apiproxy_stub_map.apiproxy.RegisterStub('datastore_v3', stub) os.environ['APPLICATION_ID'] = APP_ID # Use a fresh stub UserService. apiproxy_stub_map.apiproxy.RegisterStub('user', user_service_stub.UserServiceStub()) os.environ['AUTH_DOMAIN'] = AUTH_DOMAIN os.environ['USER_EMAIL'] = LOGGED_IN_USER # Use a fresh urlfetch stub. apiproxy_stub_map.apiproxy.RegisterStub( 'urlfetch', urlfetch_stub.URLFetchServiceStub()) # Use a fresh mail stub. apiproxy_stub_map.apiproxy.RegisterStub( 'mail', mail_stub.MailServiceStub()) # Use a fresh memcache stub. apiproxy_stub_map.apiproxy.RegisterStub('memcache', memcache_stub.MemcacheServiceStub())
import socket def isOpen(ip,port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: s.connect((ip, int(port))) s.shutdown(2) return True except: return False
from threading import * def timer(): # do code here t = Timer(10*60.0, timer) # toutes les 10 minutes t.start() timer() # run it
from twill.commands import * go("http://fr.ibraining.com") showforms() fv(2,"email","coucou") showforms() #submit() follow("Jeu-Gratuit.net") code(200) show()
import zipfile import os,stat from cStringIO import StringIO def createZip(path): def walktree (top = ".", depthfirst = True): names = os.listdir(top) if not depthfirst: yield top, names for name in names: try: st = os.lstat(os.path.join(top, name)) except os.error: continue if stat.S_ISDIR(st.st_mode): for (newtop, children) in walktree (os.path.join(top, name), depthfirst): yield newtop, children if depthfirst: yield top, names list=[] for (basepath, children) in walktree(path,False): for child in children: f=os.path.join(basepath,child) if os.path.isfile(f): f = f.encode(sys.getfilesystemencoding()) list.append( f ) f=StringIO() file = zipfile.ZipFile(f, "w") for fname in list: nfname=os.path.join(os.path.basename(path),fname[len(path)+1:]) file.write(fname, nfname , zipfile.ZIP_DEFLATED) file.close() f.seek(0) return f