コード例 #1
0
ファイル: idManager.py プロジェクト: julianariasquijano/jxgpy
 def increment(self,idFile):
     
     """
     Incrementa el id para el archivo especificado y devuelve el id que queda finalmente en el archivo
     """
     
     from os import path
     
     if not path.exists(idFile):
         self.setId(idFile, 0)
     
     locker=locking()
     
     fi = open(idFile, 'r+')
     locker.exclusiveLock(fi) #Bloquea este archivo a otros procesos que usen este mismo locker para acceder al archivo
     
     newId=int(fi.readline())+1
     
     fi.truncate(0)
     fi.seek(0)
     fi.write(str(newId))
     fi.flush()
     
     locker.unLock(fi)
     fi.close()
     
     return newId
コード例 #2
0
ファイル: idManager.py プロジェクト: julianariasquijano/jxgpy
 def setId(self,idFile,newId):
     
     """
     Define el id actual para el archivo unicamente
     """
     
     #Bloquea el archivo,lo trunca y guarda el nuevo id enviado.
     locker=locking()
     
     fi = open(idFile, 'w')
     locker.exclusiveLock(fi) #Bloquea este archivo a otros procesos que usen este mismo locker para acceder al archivo
     fi.write(str(newId))
     locker.unLock(fi)
     fi.close()