#!/bin/python
"""
This program parse logs of a dokuwiki
and tranform them for gource (a log viewer)
http://code.google.com/p/gource/
developped by WolverineX02
site : http://wolverinex02.blogspot.com
"""
import glob
import os.path
import getopt
import sys
import re
WHITE = "11FFAA"
GREEN = "00F000"
vector = (1,10,100)
start_page_name = "start"
def RGBToHTMLColor(rgb_tuple):
""" convert an (R, G, B) tuple to #RRGGBB """
hexcolor = '#%02x%02x%02x' % rgb_tuple
# that's it! '%02x' means zero-padded, 2-digit hex values
return hexcolor
def HTMLColorToRGB(colorstring):
""" convert #RRGGBB to an (R, G, B) tuple """
colorstring = colorstring.strip()
if colorstring[0] == '#': colorstring = colorstring[1:]
if len(colorstring) != 6:
raise ValueError, "input #%s is not in #RRGGBB format" % colorstring
r, g, b = colorstring[:2], colorstring[2:4], colorstring[4:]
r, g, b = [int(n, 16) for n in (r, g, b)]
return (r, g, b)
def colormodify(colorstring):
rgb_tuple = HTMLColorToRGB(colorstring)
r, g, b = (rgb_tuple[0]+vector[0]) % 255,(rgb_tuple[1]+vector[1]) % 255,(rgb_tuple[2]+vector[2]) % 255
return RGBToHTMLColor((r, g, b))
def listdirectory(path,color):
l = glob.glob(path+"/*")
for i in l:
if os.path.isdir(i):
listdirectory(i,colormodify(color))
else:
readfile(i,color)
def listdirectory2(path):
"""list all the files like *.changes,
read them and output them in gource's log syntax
"""
for root, dirs, files in os.walk(path):
for i in files:
if (re.search('\.changes$', i)):
fichier = os.path.join(root, i)
readfile(fichier,GREEN)
def readfile(fichier,color):
"""read the file and output for each line of this
file a log line for Gource
"""
myfile = open(fichier, 'r')
for line in myfile.readlines():
mots = line.split('\t')
if len(mots)>=6:
resultat = mots[0] + "|"
if mots[4] == '':
mots[4] = 'Anonymous'
resultat += mots[4] + "|"
resultat += translate(mots[2]) + "|"
resultat += mots[3].replace(':', '/')
if mots[3].rfind(start_page_name) == len(mots[3])-len(start_page_name):
resultat += "|" + color
else:
resultat += "|" + colormodify(color)
print resultat
myfile.close()
def translate(mot):
"""translate the dokuwiki vocabulary to the gource one
C (also cc and sc from discussion plugin) ->A
E (also ec from discussion plugin) -> M
D (also dc and hc from discssion plugin) -> D
other -> M
"""
if mot.upper == "C" or mot == 'cc' or mot == 'sc':
return "A"
elif mot.upper == "E" or mot == 'ec':
return "M"
elif mot.upper == "D" or mot == 'dc' or mot == 'hc':
return "D"
else:
return "M"
def main(argv):
"""principal function
"""
try:
opts, args = getopt.getopt(argv, "hd:", ["help", "dokuwiki="])
except getopt.GetoptError:
usage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h","--help"):
usage()
sys.exit()
elif opt in ("-d","--dokuwiki"):
print listdirectory(arg,WHITE)
def usage():
"""this function will display how to use this script
"""
print "This script will output change logs of a dokuwiki"
print "in a friendly way for gource"
print "how to use it :"
print "python gourcedoku.py -d ~/Sites/MyDokuwiki/ | sort > dokusort.log"
print "and then :"
print "gource --log-format custom dokusort.log --stop-position 1.0 \ "
print "--stop-on-idle --file-idle-time 10000000"
print "---"
print "-h : help "
print "-d : meta directory of your dokuwiki"
if __name__ == "__main__":
main(sys.argv[1:])
Affichage des articles dont le libellé est video. Afficher tous les articles
Affichage des articles dont le libellé est video. Afficher tous les articles
5/19/2010
Gource et Dokuwiki : en couleur
ça y est suite aux différentes demandes, je viens d'ajouter la coloration de la représentation Gource. Vous pouvez donc télécharger la nouvelle version.
5/15/2010
Gource et Dokuwiki : la video
La vidéo :
obtenue avec la ligne de commande suivante :
obtenue avec la ligne de commande suivante :
gource --log-format custom dokusort.log --stop-position 1.0 --stop-on-idle --file-idle-time 10000000 --output-ppm-stream - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec mpeg4 gource.mp4C'est un peu long mais ça marche super bien ;-)
11/22/2008
Un coffre fort en LEGO
Je viens de tomber sur cette vidéo faite par un passionné des LEGO ou par un des ingénieurs de LEGO (je crois vraiment que je vais me reconvertir et postuler chez LEGO) :
A priori :
A priori :
- il est équipé d'un détecteur de mouvement
- visiblement c'est un code à 5 nombres (de 1 à 32)
- l'ouverture et la fermeture de la porte est automatique
- il y a des bonbons à l'intérieur ;-)
11/16/2008
Gmail et la vidéo
ça y est Gmail se tourne aussi vers la vidéo :
finalement pas grand chose de neuf par rapport à MSN messenger... Google continue seulement à rattrapper son retard sur le géant de Redmond...
finalement pas grand chose de neuf par rapport à MSN messenger... Google continue seulement à rattrapper son retard sur le géant de Redmond...
12/28/2007
Torchwood bientôt la deuxième saison
ça y est après presqu'une année à attendre, la deuxième saison de Torchwood va arriver sur les écrans anglais : voici de quoi vous faire patienter en attendant le 26 janvier 2008:
Sur la photo: Toshiko (expert informatique), Ianto (support pour les équipes), Jack (Leader de la 3ème base Torchwood), ???, Gwen (liaison avec la police) et Owen (docteur et second de Jack)...
Si vous avez des informations sur la quatrième personne (au centre, à côté de Jack) : je suis preneur, n'hésitez pas à me laisser un message sur ce blog.
Vivement que je retourne en angleterre pour voir la deuxième saison
Qu'est-ce que Torchwood ?

Un petit rappel des principaux protagonistes :
Au dessus de la police, indépendant des gouvernements, Torchwood est un institut qui traque les aliens sur Terre, prépare les humains à une attaque extraterrestre, et étudie la technologie extraterrestre. Tout ce qui tombe sur Terre et qui n'est pas terrien appartient à Torchwood.

Sur la photo: Toshiko (expert informatique), Ianto (support pour les équipes), Jack (Leader de la 3ème base Torchwood), ???, Gwen (liaison avec la police) et Owen (docteur et second de Jack)...
Si vous avez des informations sur la quatrième personne (au centre, à côté de Jack) : je suis preneur, n'hésitez pas à me laisser un message sur ce blog.
Vivement que je retourne en angleterre pour voir la deuxième saison
Le film "Nouvelle Cuisine" ou comment cuisiner des foetus
Après ce film d'horreur réalisé par Fruit Chan, vous vous demanderez vraiment ce que certaines sont prêtes à faire pour rester jeune... ou comment rendre un peu plus sexy l'anthropophagisme...
L'histoire est en elle-même assez banale : une ancienne star chinoise approchant la quarantaine, Ching Lee (Miriam Yeung), est bien décidée à retrouver sa jeunesse pour reconquérir son infidèle mari, M.Lee, joué par Tony Leung Ka Fei. Elle se rend donc chez tante Mei (Bai Ling), une cuisinière charismatique qui a pour spécialité les jiaozi. Vendus à prix d'or, les jiaozi de tante Mei sont réputés pour leurs vertus rajeunissantes. Ching Lee, prête à tout pour reconquérir son infidèle mari, ne se soucie guère de connaître les ingrédients de la recette secrète de Mei. Quitte à en payer le prix fort plus tard... L'un des seuls bons points de ce film est que jusqu à la fin, on se demande si Ching et Mei ont réellement rajeuni ou bien si elles sont seulement cinglées... Fruit Chan a un réel talent dans les plans de Ching Lee lorque celle-ci mange les raviolis, rajeunit-elle ou pas, là est la question : je pense qu'il n'y a pas de trucages mais seulement une réelle maestria de la caméra... Il n'y avait pas besoin par contre de filmer des foetus, le film aurait pu ainsi être tout dans le sous-entendu... Mon jugement est simple : un film à voir une fois mais pas forcément à revoir...

Tags: Miriam Yeung, Bai Ling, Tony Leung Ka-Fai, cuisine, Chine, anthopophage, Fruit Chan, Foetus, Lee, raviolis
6/20/2007
3/28/2007
Joost : la télé P2P
Vous connaissez très certainement Kazaa et Skype... Imaginez que leurs créateurs se soient mis à travailler sur un nouveau service
... D'après vous lequel choisiront-ils? La télé !!! C'est ainsi que l'ancien projet connu à ses début sous le nom de "Project Venice" a commencé sa vie en version Beta sous le nom de Joost
et comme de nombreux projet Beta, vous êtes recruté soit directement soit par parrainage
La qualité est plutôt bonne
L'interface se rapproche plus d'une application écrite en Flash et du monde Internet que d'une interface du monde Windows. Un peu déroutante au début, on s'y habitue très très rapidement.
Pour l'instant il n'y a que peu de chaines... Mais c'est une version beta, je gage que lorsque le système sera plus répandu, de nombreux annonceurs voudront tirer parti de ce nouveau service... D'ailleurs je me demande ce que ça pourra donner lorsque chacun pourra créer son propre contenu et le charger dans le système... Il y a de la VOD qui a du souci à se faire 
bien sûr attendez vous à quelques ralentissements de temps en temps... et surtout à une très courte attente au début... mais dans l'ensemble, il est largement possible de se regarder une émission sans trop de problème...
Par contre, je ne sais pas très bien quel logiciel de compression ils utilisent, mais il est gourmand en ressource: sachant que j'ai un Pentium M cadencé à 1,4GHz , que je viens de lancer Windows et que le seul programme lancé est Joost (abstraction faite de MSN et autres...) j'ai une consommation moyenne de mon processeur de 70%!!!
Par contre l'utilisation du réseau reste convenable... Je me demande bien comment cela fonctionne... Je crois que je vais bien m'amuser dans les jours qui viennent... et me regarder quelques séries
à bientôt pour quelques nouvelles.













Tags: joost, Venice Project, Kazaa, Skype, parrainage, Flash, Windows, VOD, compression
11/17/2006
Burger King et l'homme serpent
Je n'aime pas vraiment ce genre de nourriture mais la pub est excellente ;-)
Tags: burger king, serpent, whopper
Inscription à :
Articles (Atom)