def GetValidite(identifiant="", code=""): try : url = "https://www.noethys.com/aide/html/testcode.php?identifiant=%s&code=%s" % (identifiant, code) h = urlopen(url, timeout=5) html = h.read() h.close() except : return False if six.PY3: html = html.decode("iso-8859-15") # Analyse l'état if html.startswith("codeok") : try : date = DateEngEnDateDD(html[7:]) except : date = None else : date = None # Affiche l'état if date == None : return False else : nbreJoursRestants = (date - datetime.date.today()).days return date, nbreJoursRestants
def GetValidite(identifiant="", code=""): try : url = "https://www.teamworks.ovh/aide/html/testcode.php?identifiant=%s&code=%s" % (identifiant, code) h = urlopen(url, timeout=5) html = h.read() h.close() except : return False if six.PY3: html = html.decode("iso-8859-15") # Analyse l'état if html.startswith("codeok") : try : date = DateEngEnDateDD(html[7:]) except : date = None else : date = None # Affiche l'état if date == None : return False else : nbreJoursRestants = (date - datetime.date.today()).days return date, nbreJoursRestants
def VerifieEtat(self, identifiant="", code=""): """ Vérifie la validité du code en ligne """ dlgAttente = wx.BusyInfo(_(u"Vérification du code en cours..."), None) if 'phoenix' not in wx.PlatformInfo: wx.Yield() try: url = "https://www.noethys.com/aide/html/testcode.php?identifiant=%s&code=%s" % ( identifiant, code) h = urlopen(url, timeout=5) html = h.read() h.close() except Exception as err: self.AfficheEtatValidite( texte= u"Vérification impossible. Vérifiez votre connexion internet !", image="attention") del dlgAttente print("pb dans verification code enregistrement.") traceback.print_exc(file=sys.stdout) return False if six.PY3: html = html.decode("iso-8859-15") # Analyse l'état if html.startswith("codeok"): try: date = DateEngEnDateDD(html[7:]) except: date = None else: date = None # Affiche l'état if date == None: texte = _(u"Vous n'avez saisi aucun code valide") image = "pasok" else: nbreJoursRestants = (date - datetime.date.today()).days if nbreJoursRestants < 0: texte = _(u"Votre licence est périmée depuis le %s" ) % DateEngFr(str(date)) image = "pasok" elif nbreJoursRestants <= 30: texte = _( u"Votre licence est valide jusqu'au %s (%d jours restants)" ) % (DateEngFr(str(date)), nbreJoursRestants) image = "attention" else: texte = _(u"Votre licence est valide jusqu'au %s") % DateEngFr( str(date)) image = "ok" self.AfficheEtatValidite(texte, image) self.derniereValidation = (identifiant, code) del dlgAttente
def VerifieEtat(self, identifiant="", code=""): """ Vérifie la validité du code en ligne """ dlgAttente = wx.BusyInfo(_(u"Vérification du code en cours..."), None) if 'phoenix' not in wx.PlatformInfo: wx.Yield() try : url = "https://www.teamworks.ovh/aide/html/testcode.php?identifiant=%s&code=%s" % (identifiant, code) h = urlopen(url, timeout=5) html = h.read() h.close() except Exception as err: self.AfficheEtatValidite(texte=u"Vérification impossible. Vérifiez votre connexion internet !", image="attention") del dlgAttente print("pb dans verification code enregistrement.") traceback.print_exc(file=sys.stdout) return False if six.PY3: html = html.decode("iso-8859-15") # Analyse l'état if html.startswith("codeok") : try : date = DateEngEnDateDD(html[7:]) except : date = None else : date = None # Affiche l'état if date == None : texte = _(u"Vous n'avez saisi aucun code valide") image = "pasok" else : nbreJoursRestants = (date - datetime.date.today()).days if nbreJoursRestants < 0 : texte = _(u"Votre licence est périmée depuis le %s") % DateEngFr(str(date)) image = "pasok" elif nbreJoursRestants <= 30 : texte = _(u"Votre licence est valide jusqu'au %s (%d jours restants)") % (DateEngFr(str(date)), nbreJoursRestants) image = "attention" else : texte = _(u"Votre licence est valide jusqu'au %s") % DateEngFr(str(date)) image = "ok" self.AfficheEtatValidite(texte, image) self.derniereValidation = (identifiant, code) del dlgAttente
def GetValidite(identifiant="", code=""): try : url = "http://www.noethys.com/aide/html/testcode.php?identifiant=%s&code=%s" % (identifiant, code) h = urllib2.urlopen(url, timeout=5) html = h.read() h.close() except : return False # Analyse l'état if html.startswith("codeok") : try : date = DateEngEnDateDD(html[7:]) except : date = None else : date = None # Affiche l'état if date == None : return False else : nbreJoursRestants = (date - datetime.date.today()).days return date, nbreJoursRestants
class Dialog(wx.Dialog): def __init__(self, parent): wx.Dialog.__init__(self, parent, -1, name="DLG_Enregistrement", style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX) self.parent = parent self.derniereValidation = (None, None) # Bandeau titre = _(u"Enregistrement") intro = _( u"Vous pouvez saisir ici votre code d'enregistrement personnel afin d'activer votre abonnement Classic ou Premium. Effectuez ce paramétrage sur chacun de vos postes." ) self.SetTitle(titre) self.ctrl_bandeau = CTRL_Bandeau.Bandeau( self, titre=titre, texte=intro, hauteurHtml=30, nomImage="Images/32x32/Cle.png") # Saisie code self.staticbox_code_staticbox = wx.StaticBox( self, -1, _(u"Code d'enregistrement")) self.label_identifiant = wx.StaticText(self, -1, _(u"Identifiant :")) self.ctrl_identifiant = wx.TextCtrl(self, -1, "") self.label_code = wx.StaticText(self, -1, _(u"Code :")) self.ctrl_code = masked.TextCtrl(self, -1, "", mask="AAAA-AAAA-AAAA-AAAA-AAAA", formatcodes="F!") self.ctrl_code.SetMinSize((190, -1)) self.bouton_validite = wx.Button(self, -1, _(u"Vérifier la validité")) self.ctrl_image = wx.StaticBitmap( self, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/absenti.png"), wx.BITMAP_TYPE_ANY)) self.label_validite = wx.StaticText(self, -1, _(u"Veuillez saisir un code.")) # HTML self.ctrl_html = MyHtml(self, texte=TEXTE, hauteur=30) # Boutons self.bouton_aide = CTRL_Bouton_image.CTRL( self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png") self.bouton_fermer = CTRL_Bouton_image.CTRL( self, texte=_(u"Fermer"), cheminImage="Images/32x32/Fermer.png") self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.OnBoutonValidite, self.bouton_validite) self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide) self.Bind(wx.EVT_BUTTON, self.OnBoutonFermer, self.bouton_fermer) self.Bind(wx.EVT_CLOSE, self.OnClose) # Init contrôles identifiant = UTILS_Config.GetParametre("enregistrement_identifiant", defaut=None) code = UTILS_Config.GetParametre("enregistrement_code", defaut=None) if identifiant != None and code != None: self.ctrl_identifiant.SetValue(identifiant) self.ctrl_code.SetValue(code) self.VerifieEtat(identifiant, code) # Vérifie droits utilisateurs if UTILS_Utilisateurs.VerificationDroitsUtilisateurActuel( "parametrage_enregistrement", "modifier", afficheMessage=False) == False: self.ctrl_identifiant.Enable(False) self.ctrl_code.Enable(False) self.bouton_validite.Enable(False) def __set_properties(self): self.ctrl_identifiant.SetToolTip( wx.ToolTip(_(u"Saisissez votre identifiant"))) self.ctrl_code.SetToolTip( wx.ToolTip(_(u"Saisissez votre code d'enregistrement"))) self.bouton_validite.SetToolTip( wx.ToolTip( _(u"Cliquez ici pour vérifier la validité de votre code d'enregistrement" ))) self.bouton_aide.SetToolTip( wx.ToolTip(_(u"Cliquez ici pour obtenir de l'aide"))) self.bouton_fermer.SetToolTip(wx.ToolTip( _(u"Cliquez ici pour fermer"))) self.SetMinSize((460, 600)) def __do_layout(self): grid_sizer_base = wx.FlexGridSizer(rows=4, cols=1, vgap=10, hgap=10) grid_sizer_base.Add(self.ctrl_bandeau, 0, wx.EXPAND, 0) staticbox_code = wx.StaticBoxSizer(self.staticbox_code_staticbox, wx.VERTICAL) grid_sizer_code = wx.FlexGridSizer(rows=4, cols=2, vgap=5, hgap=5) grid_sizer_code.Add(self.label_identifiant, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_code.Add(self.ctrl_identifiant, 0, wx.EXPAND, 0) grid_sizer_code.Add(self.label_code, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_code2 = wx.FlexGridSizer(rows=1, cols=2, vgap=5, hgap=5) grid_sizer_code2.Add(self.ctrl_code, 0, wx.EXPAND, 0) grid_sizer_code2.Add(self.bouton_validite, 0, wx.EXPAND, 0) grid_sizer_code2.AddGrowableCol(1) grid_sizer_code.Add(grid_sizer_code2, 0, wx.EXPAND, 0) grid_sizer_code.Add((5, 5), 0, wx.EXPAND, 0) grid_sizer_validite = wx.FlexGridSizer(rows=1, cols=3, vgap=0, hgap=3) grid_sizer_validite.Add(self.ctrl_image, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_validite.Add(self.label_validite, 0, wx.ALIGN_CENTER_VERTICAL, 0) grid_sizer_validite.AddGrowableCol(1) grid_sizer_code.Add(grid_sizer_validite, 1, wx.EXPAND, 0) grid_sizer_code.AddGrowableCol(1) staticbox_code.Add(grid_sizer_code, 1, wx.ALL | wx.EXPAND, 10) grid_sizer_base.Add(staticbox_code, 1, wx.LEFT | wx.RIGHT | wx.EXPAND, 10) grid_sizer_base.Add(self.ctrl_html, 0, wx.LEFT | wx.RIGHT | wx.EXPAND, 10) grid_sizer_boutons = wx.FlexGridSizer(rows=1, cols=3, vgap=10, hgap=10) grid_sizer_boutons.Add(self.bouton_aide, 0, 0, 0) grid_sizer_boutons.Add((20, 20), 0, wx.EXPAND, 0) grid_sizer_boutons.Add(self.bouton_fermer, 0, 0, 0) grid_sizer_boutons.AddGrowableCol(1) grid_sizer_base.Add(grid_sizer_boutons, 1, wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND, 10) self.SetSizer(grid_sizer_base) grid_sizer_base.Fit(self) grid_sizer_base.AddGrowableRow(2) grid_sizer_base.AddGrowableCol(0) self.Layout() self.CenterOnScreen() def OnBoutonValidite(self, event): # Vérifie la saisie identifiant = self.ctrl_identifiant.GetValue() if len(identifiant) == 0: dlg = wx.MessageDialog(self, _(u"Vous n'avez saisi aucun identifiant !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() self.ctrl_identifiant.SetFocus() return if " " in identifiant: dlg = wx.MessageDialog( self, _(u"L'identifiant saisi n'est pas valide !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() self.ctrl_identifiant.SetFocus() return code = self.ctrl_code.GetValue() if " " in code: dlg = wx.MessageDialog(self, _(u"Le code saisi n'est pas complet !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() self.ctrl_code.SetFocus() return # Vérifie validité en ligne self.VerifieEtat(identifiant, code) def VerifieEtat(self, identifiant="", code=""): """ Vérifie la validité du code en ligne """ dlgAttente = PBI.PyBusyInfo( _(u"Vérification du code en cours..."), parent=None, title=_(u"Veuillez patienter"), icon=wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Logo.png"), wx.BITMAP_TYPE_ANY)) wx.Yield() try: url = "http://www.noethys.com/aide/html/testcode.php?identifiant=%s&code=%s" % ( identifiant, code) h = urllib2.urlopen(url, timeout=5) html = h.read() h.close() except Exception, err: self.AfficheEtatValidite( texte= u"Vérification impossible. Vérifiez votre connexion internet !", image="attention") del dlgAttente print "pb dans verification code enregistrement." traceback.print_exc(file=sys.stdout) return False # Analyse l'état if html.startswith("codeok"): try: date = DateEngEnDateDD(html[7:]) except: date = None else: date = None # Affiche l'état if date == None: texte = _(u"Vous n'avez saisi aucun code valide") image = "pasok" else: nbreJoursRestants = (date - datetime.date.today()).days if nbreJoursRestants < 0: texte = _(u"Votre licence est périmée depuis le %s" ) % DateEngFr(str(date)) image = "pasok" elif nbreJoursRestants <= 30: texte = _( u"Votre licence est valide jusqu'au %s (%d jours restants)" ) % (DateEngFr(str(date)), nbreJoursRestants) image = "attention" else: texte = _(u"Votre licence est valide jusqu'au %s") % DateEngFr( str(date)) image = "ok" self.AfficheEtatValidite(texte, image) self.derniereValidation = (identifiant, code) del dlgAttente