Scripts d'exemple 



OZPlan.hsc

Ce script permet d'effectuer l'ensemble des tâches courantes pour le courrier et les news.
C'est la version planifiée avec connexion automatique de OZNow.hsc.

Il utilise certaines fonctions des modules suivants, présents sur cette page ou dans la distribution d'Hamster-Fr :

Il utilise également Fai.ini qui est le fichier de configuration.
Fai.ini vous permet de changer le paramétrage de vos fournisseurs d'accès et de vos serveurs sans avoir à modifier une seule ligne du script ou des modules.

Grâce à ce script vous pourrez :

Pratiquement toutes les lignes de ce script sont commentées, ce qui facilite la compréhension mais pas la lecture.
Une version moins commentée est disponible ici.



			
#!hs2

#####################################################################
# Script : OZPlan.hsm
# Description : Envoi et réception planifiés du courrier et des news
#               La sélection Des FAIs se fait d'après une liste
#               préférientielle.
# Configuration : Les FAIs et les serveurs SMTP ET POP3 sont indiqués
#                 dans le fichier Fai.ini.
#                 Ne pas oublier de configurer aussi Hamster !
# Nécessite :
# - Fai.ini
# - Fai.hsm
# - News.hsm (BStrings.hsm, BMsgHeader.hsm, BFichierTexte.hsm)
# - Mail.hsm
#
# Auteur : Olivier Zolli <ozolli@online.fr>
# Version : 15/02/01
#####################################################################

# Chargement des modules nécessaires.
#!load Fai.hsm
#!load News.hsm
#!load Mail.hsm

# Remise à zéro des compteurs et de l'écran log
HamMessage(2,0)

# Remise à zéro des entrées de planification
AtClear

# Lancement du planificateur

# Appel de la fonction Traitement de 8:00 h, à 19:00 h,
# du lundi au vendredi, toutes les 60 minutes
AtAdd(Traitement,"08:00","19:00","1111100",60)

# Appel de la fonction Traitement à midi, samedi et dimanche
AtAdd(Traitement,"12:00","","0000011")

# Ecrit un message dans l'écran log
print( "Script OZPlan activé" )

# Attend qu'une des 2 entrées de planification se déclenche et
# exécute la fonction qui lui est associée (Traitement)
AtExecute

# Fin du script. Ne devrait jamais être lu puisque la
# planification est sensée être infinie
quit

# Connexion, envoi, réception et déconnexion : Traitement
sub Traitement
  print("SCRIPT EN COURS DE TRAITEMENT")

  # Déclaration et initialisation des variables
  VarSet($CxHamster,True)

  # Préparation des articles
  # News Jobs
  EnteteNews
  HamNewsJobsClear
  HamNewsJobsPostDef
  HamNewsJobsPullDef
  HamWaitIdle

  # Teste si un FAI est déja connecté
  if(RasIsConnected)
    $CxHamster=False
    print("Déja connecté à "+RasGetConnection)

  # Sinon
  else

    # Répète les instructions qui suivent (jusqu'à until)
    repeat

      # Connexion au 1er FAI de la liste (Fai.ini) qui répond
      cxmulti

      # Si connexion établie
      if(RasIsConnected)
        print("Connecté à "+RasGetConnection)

      # Sinon
      else

        # Ecrit un message d'avertissement dans le log
        Warning("Le script OZPlan n'a pas pu se connecter, _
                 reconnection dans 25 minutes.")

        # Attente de 25 minutes
        sleep(1500000)

      # Fin de condition Si connexion établie
      endif

    # Jusqu'à établissement d'une connexion
    until(RasIsConnected)

  Fin de condition Si un FAI est déja connecté
  endif

  # Connexion au(x) serveur(s) de news.
  HamNewsJobsStart

  # Envoi du courrier en instance.
  EnvoieCourrier

  # Réception du courrier.
  RecoitCourrier

  # Déconnexion du FAI si c'est OZPlan qui s'est connecté
  if($CxHamster)

    # Attente de fin des tâches en cours puis déconnexion
    HamWaitIdle
    HamRasHangup
  endif

  HamWaitIdle

  print("Traitement du courrier et des news effectué.")

# Fin de la fonction, retour au planificateur
Endsub




 Sommaire 


© 2000-2001 Brina & Olivier Zolli

Dernière mise à jour le 22/02/2001