scripts/impression/gen_code.py
Antoine Durand-Gasselin 03955ca315 [gen_code.py] strip-trailing-ws
Ignore-this: 20199bd05d92bf9d4f2b2c396bce9ca2

darcs-hash:20090514155532-bd074-aa4f11eeaab255dff821dcf37878c35b9e277bd5.gz
2009-05-14 17:55:32 +02:00

48 lines
1.2 KiB
Python

#! /usr/bin/env python
# -*- coding: utf-8 -*-
# import des modules
################################################################################
import os, sys
import random
rand=random.Random()
rand.seed()
sys.path.append('/usr/scripts/gestion')
from user_tests import getuser
# définition des exemptions
################################################################################
class NoCodeError(Exception):
pass
################################################################################
def new_code(msg=''):
"""
Génération d'un nouveau code
"""
for i in range(1000):
code = rand.randint(100000, 999999)
if not os.path.exists("/var/impression/codes/%d" % code):
break
else:
# Pas de code disponible
raise NoCodeError, 'Il n\'y a plus de code disponible'
# On enregistre le fichier avec le code pour numéro
codefichier = open("/var/impression/codes/%d" % code, 'w')
codefichier.write(msg+'\n')
codefichier.close()
return code
################################################################################
if __name__ == '__main__':
# génère un nouveau code et l'affiche
print new_code('%s via %s'%(getuser(),os.path.abspath(__file__)))