Nous codez un système qui analyse les événements basés sur le temps, et nous aimerions mettre en place un système de suppression de ces événements où l'on peut donner la syntaxe comme pour Cron correspondant à contre.Heure/Date système de suppression basé
par exemple. Supprimer si ...
- .. l'événement se produit le dernier vendredi du mois
- .. l'événement se produit entre la semaine de 4 h et 5pm
- .. l'événement se produit un dimanche
et ainsi de suite. Nous utilisons Python alors j'espérais qu'il y aurait un module pour faire ce genre de chose, mais mes compétences de recherche me laissent tomber (beaucoup de résultats sur la planification des événements, alors que je veux le contraire - fait le courant le temps correspond à un horaire défini).
Sinon je suis heureux d'écrire un à partir de zéro si quelqu'un a des suggestions pour la meilleure façon de stocker et de comparer un temps sur un calendrier.
Edit:
Pour clarifier les choses, les horaires de suppression ne sont pas gravées dans la pierre, donc je ne peux pas coder simplement une fonction pour traiter les cas spécifiques. Les horaires doivent être stockés dans une base de données, et liée à un événement, donc je peux faire à peu près:
sql_rows = ..... "SELECT * FROM suppressions WHERE event_id = ?"
for row in sql_rows:
if matchesSchedule(current_time,row):
print "This should be suppressed"
donc je dois représenter le programme dans un format que je peux stocker dans une table, puis correspondre colonnes contre les composants de temps actuels.
J'espère que cela peut aider http://docs.python.org/2/library/sched.html –
@NikhilRupanawar Malheureusement non. Comme je l'ai mentionné, je ne planifie pas les événements, mais plutôt des tests pour voir si le temps correspond à un horaire donné. – AndyC
Si je vous comprends bien, vous voulez juste comparer une heure donnée à un ensemble de modèles de temps et vérifier si elle correspond à un ou plusieurs d'entre eux. L'approche directe serait de convertir votre temps en un objet 'datetime', puis vérifiez cet objet pour vos contraintes comme, par exemple,' d.weekday() dans (4, 5, 6) et d.hour == 10'. Pourquoi n'est-ce pas possible? – Alfe