Action à l'arrivée d'un fichier dans un dossier ?
Hello,
Je voudrai imprimer des fichiers lorsque ceux-ci arrivent dans un répertoire.
Je n'ai aucune idée de la manière de faire pour vérifier qu'un fichier arrive dans le dossier.
De plus il faudrait que ça soit quasiment instantané.
Le problème vient du fait que les fichiers générés sont sur un serveur linux sur lequel il est impossible de faire fonctionner l'imprimante. Les fichiers seraient alors uploader sur un serveur Windows pour impression.
Merci de m'aider.
arrivé fichier avec timer wx
Voila un exemple avec un timer wx :
le répertoire à tester est self.rep
Ce prog affiche une petite fenêtre avec le nombre de fichiers, ils sont dispo dans une liste ''fichiers''
:salut:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
# generated by wxGlade 0.6.1 on Sat May 31 21:05:51 2008
import wx
import time
import glob
# begin wxGlade: extracode
# end wxGlade
class MyFrame(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: MyFrame.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
self.tAff = wx.StaticText(self, -1, "Lancement ")
self.timer=wx.Timer(self, 1)
self.tailleText=10
self.rep=r"c:\test"
self.__set_properties()
self.__do_layout()
# end wxGlade
def __set_properties(self):
# begin wxGlade: MyFrame.__set_properties
self.SetTitle("verDoss")
self.tAff.SetBackgroundColour(wx.Colour(50, 153, 204))
self.tAff.SetFont(wx.Font(self.tailleText, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, ""))
self.Bind(wx.EVT_TIMER, self.onTimer, self.timer)
# end wxGlade
def __do_layout(self):
# begin wxGlade: MyFrame.__do_layout
sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
sizer_1.Add(self.tAff, 0, 0, 0)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
self.Layout()
# end wxGlade
def onTimer(self, event): # Timer = Vérification à intervals régulier
fichiers=glob.glob(self.rep+r"\*.doc") # Mettre le type de fichier
nbFich=len(fichiers)
label=" Nb fichier="+str(nbFich)+" "
self.tAff.SetLabel(label)
for fich in fichiers :
pass
# imprimer le fich
# Effacer le fich
# end of class MyFrame
if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
frame_1 = MyFrame(None, -1, "")
app.SetTopWindow(frame_1)
frame_1.Show()
frame_1.timer.Start(500) #temps maj en millisecondes Timer
app.MainLoop() |